libredte_lib_sdk.billing.integration package

Submodules

Module contents

Componente billing.integration: integración con el SII.

class libredte_lib_sdk.billing.integration.CheckDocumentAssignabilityResponse(codigo: str | None, glosa: str | None, raw: dict[str, Any])

Bases: object

Resultado {codigo, glosa} de checkDocumentAssignability.

codigo: str | None
classmethod from_api(data: dict[str, Any]) CheckDocumentAssignabilityResponse

Construye desde el data que devuelve la API.

glosa: str | None
raw: dict[str, Any]
class libredte_lib_sdk.billing.integration.CheckXmlDocumentSentStatusResponse(status: str | None, error: bool | None, description: str | None, raw: dict[str, Any])

Bases: object

Estado de revisión de un envío al SII (checkXmlDocumentSentStatus).

La respuesta trae track_id, status (código crudo del SII, ej. “EPR”), error (bool), description (glosa), resume (reported/accepted/rejected/repairs) y documents — las dos últimas, y track_id, solo disponibles vía .raw si se necesitan sin tipar.

description: str | None
error: bool | None
classmethod from_api(data: dict[str, Any]) CheckXmlDocumentSentStatusResponse

Construye desde el data que devuelve la API.

raw: dict[str, Any]
status: str | None
class libredte_lib_sdk.billing.integration.DocumentEvent(codigo: str, glosa: str, responsable: str, fecha: str)

Bases: object

Un evento del historial de un DTE en el RCV del SII.

codigo: str
fecha: str
classmethod from_api(data: dict[str, Any]) DocumentEvent

Construye un DocumentEvent desde el data que devuelve la API.

glosa: str
responsable: str
class libredte_lib_sdk.billing.integration.GetDocumentSiiReceptionDateResponse(reception_date: datetime, raw: dict[str, Any])

Bases: object

Fecha de recepción de un DTE en el SII (getDocumentSiiReceptionDate).

Si el documento consultado no tiene fecha de recepción registrada, la API levanta LibreDteApiErrorreception_date nunca es None.

classmethod from_api(data: dict[str, Any]) GetDocumentSiiReceptionDateResponse

Construye desde el data que devuelve la API.

raw: dict[str, Any]
reception_date: datetime
class libredte_lib_sdk.billing.integration.IntegrationComponent(client: ApiClient)

Bases: object

Agrupa los servicios de billing.integration.

class libredte_lib_sdk.billing.integration.ListDocumentEventsResponse(events: list[DocumentEvent])

Bases: object

Historial de eventos de un DTE en el RCV del SII (listDocumentEvents).

La API devuelve la lista de eventos directamente, sin envoltorio.

events: list[DocumentEvent]
classmethod from_api(data: list[dict[str, Any]]) ListDocumentEventsResponse

Construye desde el data que devuelve la API.

class libredte_lib_sdk.billing.integration.RequestXmlDocumentSentStatusByEmailResponse(status: str | None, description: str | None, raw: dict[str, Any])

Bases: object

Confirmación de la solicitud de estado por correo.

requestXmlDocumentSentStatusByEmail no trae received.

description: str | None
classmethod from_api(data: dict[str, Any]) RequestXmlDocumentSentStatusByEmailResponse

Construye desde el data que devuelve la API.

raw: dict[str, Any]
status: str | None
class libredte_lib_sdk.billing.integration.SendAecResponse(track_id: int | None, raw: dict[str, Any])

Bases: object

Resultado del envío de un AEC al SII (sii_rtc::sendAec).

classmethod from_api(data: dict[str, Any]) SendAecResponse

Construye desde el data que devuelve la API.

raw: dict[str, Any]
track_id: int | None
class libredte_lib_sdk.billing.integration.SendXmlDocumentResponse(track_id: int | None, raw: dict[str, Any])

Bases: object

Resultado del envío de un DTE al SII (sendXmlDocument).

classmethod from_api(data: dict[str, Any]) SendXmlDocumentResponse

Construye desde el data que devuelve la API.

raw: dict[str, Any]
track_id: int | None
class libredte_lib_sdk.billing.integration.SiiDteService(client: ApiClient)

Bases: object

Envío y consulta de estado ante el SII (billing.integration.sii_dte).

Todas las operaciones autentican contra el SII real con el certificado dado; un certificado no válido para el SII (ej. uno autofirmado de prueba, como los que genera TradingPartiesComponent .mandatario_manager.create_fake_certificate) resulta en un LibreDteApiError (la propia excepción de autenticación del SII, accesible vía .php_class), no en una excepción distinta.

check_status(track_id: int, *, certificate: Certificate, company_rut: str, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) CheckXmlDocumentSentStatusResponse

Consulta el estado de un envío al SII mediante su Track ID.

request_status_by_email(track_id: int, *, certificate: Certificate, company_rut: str, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) RequestXmlDocumentSentStatusByEmailResponse

Pide al SII que envíe el estado de un envío por correo.

El correo de destino es el configurado en el SII para la empresa — no se puede indicar acá. El correo del SII incluye el detalle de los rechazos.

send(envelope_xml_base64: str, *, certificate: Certificate, company_rut: str, environment: SiiEnvironment = SiiEnvironment.PRODUCTION, compress: bool = False, retries: int | None = None) SendXmlDocumentResponse

Envía el sobre EnvioDTE al SII y devuelve su Track ID.

envelope_xml_base64 es el XML en base64 del sobre ya armado (DocumentEnvelope.xml_base64 de DocumentDispatcherService.create).

validate_document(*, company_rut: str, document_type: int, number: int, date: str, total: int, recipient_rut: str, certificate: Certificate, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) ValidateDocumentResponse

Confirma si un documento existe en el SII (aceptado o con reparos).

Valida que el documento exista y que los datos dados (folio, fecha, total, receptor) coincidan con lo que el SII tiene registrado. date en formato AAAA-MM-DD.

validate_document_signature(*, company_rut: str, document_type: int, number: int, date: str, total: int, recipient_rut: str, signature: str, certificate: Certificate, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) ValidateDocumentSignatureResponse

Igual que validate_document(), verificando además la firma.

signature es el tag DTE/Signature/SignatureValue del XML del documento (no el XML completo).

class libredte_lib_sdk.billing.integration.SiiRcvService(client: ApiClient)

Bases: object

Registro de Compra y Venta del SII (billing.integration.sii_rcv).

Cubre las 4 operaciones del worker — todo el lado «recibo un documento de un tercero» (cesión, recepción, reclamos), no el de emitir un DTE propio (eso es SiiDteService).

check_document_assignability(*, company_rut: str, document_type: int, number: int, certificate: Certificate, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) CheckDocumentAssignabilityResponse

Consulta si un documento es cedible (apto para factoring).

get_document_sii_reception_date(*, company_rut: str, document_type: int, number: int, certificate: Certificate, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) GetDocumentSiiReceptionDateResponse

Consulta la fecha de recepción de un documento en el SII.

list_document_events(*, company_rut: str, document_type: int, number: int, certificate: Certificate, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) ListDocumentEventsResponse

Lista los eventos (acuses, reclamos, etc.) de un documento.

submit_document_acceptance(*, company_rut: str, document_type: int, number: int, action: str, certificate: Certificate, environment: SiiEnvironment = SiiEnvironment.PRODUCTION) SubmitDocumentAcceptanceResponse

Informa al SII la aceptación/reclamo de un documento recibido.

action no se modela como enum cerrado (ej. “ACD” acepta contenido, “RCD” reclama contenido) — la propia API valida los valores conocidos.

class libredte_lib_sdk.billing.integration.SiiRtcService(client: ApiClient)

Bases: object

Envía un AEC al SII (Registro de Transferencia de Créditos).

Solo cubre sendAec, para el AEC (Archivo Electrónico de Cesión) armado por OwnershipTransferComponent.aec.build().

send_aec(aec_xml_base64: str, *, certificate: Certificate, company_rut: str, email_notif: str, environment: SiiEnvironment = SiiEnvironment.PRODUCTION, retries: int | None = None) SendAecResponse

Envía el AEC (XML en base64) al SII y devuelve su Track ID.

company_rut es el RUT del cedente. email_notif es el correo al que el SII notificará el resultado del procesamiento del AEC (obligatorio para la API, no configurable desde otro lugar).

class libredte_lib_sdk.billing.integration.SubmitDocumentAcceptanceResponse(codigo: str | None, glosa: str | None, raw: dict[str, Any])

Bases: object

Resultado {codigo, glosa} de submitDocumentAcceptance.

codigo: str | None
classmethod from_api(data: dict[str, Any]) SubmitDocumentAcceptanceResponse

Construye desde el data que devuelve la API.

glosa: str | None
raw: dict[str, Any]
class libredte_lib_sdk.billing.integration.ValidateDocumentResponse(received: bool | None, status: str | None, description: str | None, raw: dict[str, Any])

Bases: object

Resultado de confirmar un documento en el SII (validateDocument).

description: str | None
classmethod from_api(data: dict[str, Any]) ValidateDocumentResponse

Construye desde el data que devuelve la API.

raw: dict[str, Any]
received: bool | None
status: str | None
class libredte_lib_sdk.billing.integration.ValidateDocumentSignatureResponse(received: bool | None, status: str | None, description: str | None, raw: dict[str, Any])

Bases: object

Confirma un documento y su firma en el SII.

Operación validateDocumentSignature.

description: str | None
classmethod from_api(data: dict[str, Any]) ValidateDocumentSignatureResponse

Construye desde el data que devuelve la API.

raw: dict[str, Any]
received: bool | None
status: str | None