libredte_lib_sdk.billing.integration.sii_dte module

Servicio para billing.integration.sii_dte.

class libredte_lib_sdk.billing.integration.sii_dte.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).