libredte_lib_sdk.billing.integration package
Submodules
- libredte_lib_sdk.billing.integration.models module
CheckDocumentAssignabilityResponseCheckXmlDocumentSentStatusResponseDocumentEventGetDocumentSiiReceptionDateResponseListDocumentEventsResponseRequestXmlDocumentSentStatusByEmailResponseSendAecResponseSendXmlDocumentResponseSubmitDocumentAcceptanceResponseValidateDocumentResponseValidateDocumentSignatureResponse
- libredte_lib_sdk.billing.integration.sii_dte module
- libredte_lib_sdk.billing.integration.sii_rcv module
- libredte_lib_sdk.billing.integration.sii_rtc module
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:
objectResultado {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:
objectEstado 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:
objectUn 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:
objectFecha de recepción de un DTE en el SII (getDocumentSiiReceptionDate).
Si el documento consultado no tiene fecha de recepción registrada, la API levanta LibreDteApiError — reception_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:
objectAgrupa los servicios de billing.integration.
- class libredte_lib_sdk.billing.integration.ListDocumentEventsResponse(events: list[DocumentEvent])
Bases:
objectHistorial 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:
objectConfirmació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:
objectResultado 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:
objectResultado 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:
objectEnví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:
objectRegistro 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:
objectEnví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:
objectResultado {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:
objectResultado 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:
objectConfirma 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