libredte_lib_sdk.billing.document.builder module

Servicio para billing.document.builder.

class libredte_lib_sdk.billing.document.builder.DocumentBuilderService(client: ApiClient)

Bases: object

Construye documentos tributarios (billing.document.builder).

El mismo worker de la API sirve tanto para un borrador como para el documento timbrado y firmado, según qué datos se le pasen — acá se separa en dos métodos explícitos para que la intención de cada llamada quede clara en el código que la usa.

build_draft(parsed_data: dict[str, Any]) Document

Emite el borrador de un DTE a partir de datos ya normalizados.

parsed_data es el Encabezado/Detalle (y demás nodos) del formato DTE del SII, incluyendo Encabezado.IdDoc.Folio (el SDK no asigna folios: eso lo decide quien llama, típicamente porque lleva el correlativo). Sin CAF ni certificado, el resultado no queda timbrado (Document.is_timbrado es False).

build_signed(parsed_data: dict[str, Any], *, caf_xml: str, certificate: Certificate) Document

Genera el DTE real, timbrado y firmado.

Requiere un CAF real (XML tal como lo entrega el SII, cubriendo el folio indicado en parsed_data) y el certificado digital del emisor. Para pruebas, ambos se pueden generar con IdentifierComponent.caf_faker y TradingPartiesComponent.mandatario_manager.