Emisión de DTE
Paso 6: Generar el PDF (opcional)
El cliente no lee XML: necesita un documento para ver, imprimir o archivar. La operación renderer/render genera la representación impresa del documento, con el timbre electrónico dibujado como código de barras (el que el SII llama PDF417). Es la misma operación para todos los documentos, incluidas las boletas.
El documento con validez legal es el XML, no el PDF, y la API no exige generarlo. Pero el cliente necesita un documento que pueda ver o imprimir, así que en la práctica casi todas las integraciones lo generan.
La solicitud
POST https://app.apigateway.cl/api/v2/libredte/billing/document/renderer/render
{
"parameters": {
"bag": {
"xmlDocument": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8RFRF...",
"emisor": {
"rut": "88888888-8",
"razon_social": "Mi Empresa SpA",
"autorizacion_dte": {
"fecha_resolucion": "2025-11-20",
"numero_resolucion": 0
}
},
"options": {
"renderer": {
"format": "pdf"
}
}
}
}
}
| Campo | Qué es |
|---|---|
xmlDocument |
El document_xml del paso 1. El PDF se genera desde el XML, así que siempre muestra exactamente lo que se envió al SII. |
emisor.autorizacion_dte |
La resolución del emisor, la misma del sobre. Se imprime al pie del timbre como “Resolución 0 del 2025”. |
El XML del DTE no incluye la resolución, así que la API no puede deducirla. Si no envías emisor.autorizacion_dte, el PDF se genera igual, pero sin la línea de la resolución, que debe aparecer en la representación impresa.
La respuesta
{
"data": {
"renderings": [
{
"label": "tributaria",
"mimeType": "application/pdf",
"filename": "LibreDTE_88888888-8_T033F000000000001_tributaria.pdf",
"copies": 1,
"copyNumber": 1,
"content": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQg..."
}
]
}
}
content es el archivo en base64. Para guardarlo:
import base64
resultado = libredte('billing/document/renderer/render', {
'bag': {
'xmlDocument': document_xml, # El document_xml del paso 1.
'emisor': EMISOR, # rut, razon_social y autorizacion_dte, como en el sobre.
'options': {'renderer': {'format': 'pdf'}},
},
})
for archivo in resultado['renderings']:
with open(archivo['filename'], 'wb') as f:
f.write(base64.b64decode(archivo['content']))
Copia tributaria y copia cedible
| Copia | Para qué |
|---|---|
| Tributaria | La copia normal del documento. Es la que se genera por defecto. |
| Cedible | Una copia con la leyenda “CEDIBLE” y el acuse de recibo, que el cliente firma al recibir la mercadería. Se usa para ceder la factura (factoring). |
Las boletas solo tienen copia tributaria: no se ceden.
Pide las copias que necesites, y cuántas de cada una, con renderings:
"options": {
"renderer": {
"format": "pdf",
"renderings": {
"tributaria": 1,
"cedible": 1
}
}
}
La respuesta trae un elemento en renderings por cada copia, con su propio label y filename.
Si pides una copia cedible de un documento que no la admite (por ejemplo, una nota de crédito o una boleta), esa copia simplemente no aparece en la respuesta. No es un error.
Diseños y formatos
| Opción | Valores | Por defecto |
|---|---|---|
format |
pdf o html |
pdf |
strategy |
template.estandar, template.general, template.servicios_basicos |
template.estandar |
"options": {
"renderer": {
"strategy": "template.general",
"format": "pdf"
}
}
template.estandar: el diseño de LibreDTE, para uso general.template.general: otro diseño para documentos de empresa.template.servicios_basicos: pensado para empresas de servicios básicos.html: entrega el documento en HTML, útil para mostrarlo dentro de tu sistema.
El PDF muestra lo que está en el XML. Si quieres que aparezcan el teléfono y el correo del emisor, el correo del cliente o un código de producto, inclúyelos en los datos del paso 1.
Para puntos de venta con impresora térmica existe además una estrategia que genera comandos ESC/POS. Si la necesitas, revisa la ficha de la operación en la documentación de la API o abre un ticket.
Entregar el documento al receptor
Cuando el SII acepta el documento, entrégalo al receptor. Esto lo hace tu sistema:
| Receptor | Qué le entregas |
|---|---|
| Una persona, o una empresa que no emite documentos electrónicos | El PDF. |
| Una empresa que emite documentos electrónicos | El PDF y el XML del documento, en un sobre dirigido a ella, enviado a su correo de intercambio (el que la empresa registró en el SII). |
Enviarle el XML a una empresa receptora es una obligación del emisor: con ese XML la empresa registra la compra y puede aceptar o reclamar el documento. Las boletas se entregan siempre como PDF (o impresas), porque el receptor es un consumidor final.
¿Se puede generar el PDF antes de enviar al SII?
Sí. El PDF solo necesita el XML, así que puedes generarlo apenas construyes el documento, por ejemplo para una vista previa. Para entregarlo al cliente, lo recomendable es esperar a que el SII lo acepte: si el SII lo rechaza, ese documento no tiene validez y el cliente tendría un documento que no sirve.