Skip to main content

Emitir un DTE

El proceso tiene dos pasos: emitir (genera el XML firmado) y enviar (lo manda al SII).
El servidor calcula los montos. montoTotal y montoItem son opcionales: si los mandás, se usan como confirmación y la API devuelve 400 si no coinciden con lo calculado — sin consumir folio. Un folio gastado no se recupera, y reenviar con el mismo folio es rechazo por folio duplicado.

Paso 1: Emitir

Respuesta:

Paso 2: Enviar al SII

Puedes enviar uno o varios DTEs en un mismo sobre:

Receptor

Detalle

Cada ítem del detalle:

Referencias (notas de crédito/débito)

Para notas de crédito o débito, incluye el campo referencias:

Estados del DTE

Descargar XML

Boletas: los precios incluyen IVA

En una boleta el precio que ve el cliente ya trae el IVA adentro. Para eso está preciosConIva:
El total del documento es exactamente 29.800, lo que el cliente pagó, y el servidor desagrega MontoNeto: 25042 e IVA: 4758.
preciosConIva no se infiere del tipo de documento. Una factura a un consumidor con precio de vitrina también trae precios brutos, y adivinar por tipo declararía IVA sobre el IVA en silencio. El default es false: el comportamiento de siempre.

Una boleta puede no tener receptor

Las boletas (39, 41) van a consumidor final, que no se identifica: receptor es opcional para ellas. Para cualquier otro tipo es obligatorio, y la base lo garantiza con un CHECK.

Descuentos

Por línea y globales, en pesos o en porcentaje. Los dos niveles existen por separado en el XML porque el SII exige que aparezcan en la representación impresa.

Notas de crédito y débito

Se emiten con su propio endpoint, que deriva los datos del documento original:
Se manda solo la cantidad. El precio unitario y el descuento salen de la línea original, porque el SII cruza la nota contra el documento referenciado. Para corregir el receptor sin tocar montos, se manda receptor con solo los campos a cambiar: el resto se copia del original.

Fechas

fechaEmision es opcional y por default es hoy en hora de Chile (America/Santiago), no UTC. Entre las 21:00 y la medianoche locales las dos fechas difieren, y un DTE con fecha futura es un reparo del SII.

Un error de montos no se rechaza: se acepta con reparos

Esto es lo más importante de esta guía. El SII no rechaza un documento cuyos montos están mal calculados: lo acepta con reparos, y el documento queda con validez legal y tributaria completa. Corregirlo después exige emitir una nota de crédito o débito con codigoRef: 3, y reenviar el documento corregido consume un folio nuevo (el mismo folio es rechazo por duplicado). Por eso esta API valida los montos antes de consumir el folio y devuelve 400 en vez de corregir en silencio: es la única forma de que el error salga barato.