Campos obligatorios por tipo de documento
Esta página reúne los datos que debe traer cada documento para que el SII lo acepte, según el Formato DTE del SII (v2.5, febrero de 2026) y lo que revisa Folyo antes de emitir.
Folyo revisa el documento completo antes de asignar folio. Si falta un dato obligatorio, la API responde 400 con un código estable y field_errors con la ruta de cada campo, y no consume folio ni cuota. Para revisar un documento sin emitirlo, usa POST /v1/dte/validar (o POST /v1/dte/validar/lote para un lote).
En las tablas, Sí es obligatorio, Opcional se puede omitir y No aplica significa que el tipo no lleva ese dato.
Receptor
| Campo | 33 y 34 | 43 | 46 | 52 | 56 y 61 | 39 y 41 | 110 | 111 y 112 |
|---|---|---|---|---|---|---|---|---|
receptor.rut | Sí | Sí | Sí | Sí | Sí | Opcional (1) | Sí | Sí |
receptor.razon_social | Sí | Sí | Sí | Sí | Sí | Opcional (1) | Sí | Sí |
receptor.giro | Sí | Sí | Sí | Sí (2) | Opcional | No aplica | Opcional | Opcional |
receptor.direccion | Sí | Envíala (3) | Sí | Sí | Opcional | Opcional | Envíala (3) | Opcional |
receptor.comuna | Sí | Envíala (3) | Sí | Sí | Opcional | Opcional | Opcional | Opcional |
receptor.ciudad | Opcional | Opcional | Opcional | Opcional | Opcional | Opcional | Envíala (3) | Opcional |
- En una boleta el receptor es opcional. Sin RUT, el documento se emite a consumidor final (
66.666.666-6). Si envías un RUT, se valida su dígito verificador. - En la guía de despacho con
ind_traslado5 (traslados internos) o 6 (otros traslados no venta) el giro no se exige, porque no hay una venta al receptor. - El SII lo exige en este tipo, pero la revisión previa de Folyo todavía no lo comprueba. Envíalo siempre: si falta, el rechazo llega del SII.
Cada dato va en su propio campo. Es el error más común al mapear desde otro sistema: la comuna pegada al final de la dirección, o el giro dentro de la razón social. Folyo acorta receptor.giro a 40 caracteres al emitir, así que puedes enviar la glosa completa que devuelve GET /v1/contribuyente/{rut}.
Si falta el giro, la dirección o la comuna en un tipo que las exige, la respuesta es 400 RECEPTOR_INCOMPLETO:
{
"ok": false,
"code": "RECEPTOR_INCOMPLETO",
"error": "Faltan la dirección y la comuna del receptor. El SII exige estos datos del receptor en este tipo de documento y rechaza el documento si no vienen. Complete el dato y vuelva a emitir; no se consumió folio.",
"field_errors": [
{
"field": "receptor.direccion",
"message": "Obligatorio para el DTE 33 según el Formato DTE del SII; sin este dato el SII rechaza el documento."
},
{
"field": "receptor.comuna",
"message": "Obligatorio para el DTE 33 según el Formato DTE del SII; sin este dato el SII rechaza el documento."
}
]
}
Emisor
Los datos del emisor no van en el request: Folyo los toma de la configuración de tu empresa, que se completa con la información del SII al registrarla. Revísalos en la configuración de la empresa en el dashboard.
| Dato | Cuándo es obligatorio | Si falta |
|---|---|---|
| Actividad económica (acteco) | 33, 34, 43, 46, 52, 56 y 61. Las boletas no la llevan | 400 EMISOR_INCOMPLETO, con field_errors en emisor.acteco |
| Razón social y giro de la empresa | Todos los tipos | Completa la configuración de la empresa |
| Dirección y comuna de origen | Facturas, guías y liquidación-factura | Completa la configuración de la empresa |
Si tu empresa tiene más de una actividad registrada, puedes elegir la del documento con emisor_acteco. Un código que no está registrado para la empresa responde 422 GIRO_NO_REGISTRADO.
Encabezado
| Campo | Obligatorio | Reglas |
|---|---|---|
tipo_dte | Sí | 33, 34, 39, 41, 43, 46, 52, 56, 61, 110, 111 o 112 |
fecha_emision | Opcional | Por defecto, la fecha de hoy en Chile. YYYY-MM-DD, entre 2003-04-01 y 2050-12-31, y no posterior a mañana |
forma_pago | Opcional | 1 contado, 2 crédito, 3 sin costo. No aplica a boletas. En facturas y liquidación-factura, si no la envías el SII la toma como crédito (2): envíala cuando la venta sea al contado |
Un valor fuera de estas reglas responde 400 INVALID_REQUEST con la ruta del campo en field_errors.
Detalle
| Campo | Obligatorio | Reglas |
|---|---|---|
detalle | Sí | Al menos una línea. Máximo 60 (1000 en boletas) |
detalle[].nombre | Sí | Hasta 80 caracteres |
detalle[].monto | Sí | Entero en pesos, mayor a 0. Neto en facturas y notas, con IVA incluido en boletas |
detalle[].cantidad | Opcional | Mayor a 0, con hasta 6 decimales y 12 dígitos enteros (4) |
detalle[].precio | Opcional | Precio unitario, no negativo. Neto en facturas y notas, con IVA incluido en boletas |
detalle[].descuento | Opcional | Porcentaje mayor a 0 y hasta 100 |
- Por un límite técnico temporal de Folyo, la cantidad debe quedar entre 0,0001 y 999.999, aunque el SII admite más. Si tu cantidad no cabe, divide la línea en varias o exprésala en otra unidad (miles, toneladas).
El monto puede ser 0 solo en una nota de crédito que corrige texto (codigo_ref 2) y en una nota de débito que anula una nota de crédito. Los montos negativos solo se aceptan en la liquidación-factura (43) y en exportación. Los totales del documento tampoco pueden quedar negativos después de aplicar los descuentos globales. Si algo de esto no se cumple, la respuesta es 400 MONTO_INVALIDO.
Referencias
| Campo | Facturas, guías y liquidación | 56 y 61 | 111 y 112 | Boletas |
|---|---|---|---|---|
referencia | Opcional | Sí, al menos una a un documento tributario | Sí, a la factura de exportación | Opcional |
referencia[].tipo_doc_ref | Sí, en cada referencia | Sí | Sí | Sí |
referencia[].folio_ref | Sí, en cada referencia | Sí | Sí | Sí |
referencia[].fecha_ref | Sí, en cada referencia | Sí | Sí | No aplica |
referencia[].codigo_ref | Opcional | Sí, en la referencia tributaria | Envíalo (3) | No aplica |
referencia[].razon_ref | Opcional | Opcional, recomendado | Opcional | Opcional |
fecha_refva en formatoYYYY-MM-DD, entre 2002-08-01 y 2050-12-31. Si la referencia apunta a un documento tributario (código numérico menor a 800, como 33, 52 o 61), no puede ser posterior a la fecha de emisión. Las referencias comerciales (801 orden de compra, 802 nota de pedido, HES) sí pueden tener una fecha posterior.codigo_refes 1 (anula), 2 (corrige texto) o 3 (corrige montos). Una nota que anula o corrige texto lleva exactamente una referencia tributaria.- Una nota con solo referencias comerciales, sin la factura, boleta o nota que corrige, no es válida.
Si falta un dato o no cumple estas reglas, la respuesta es 400 REFERENCIA_INCOMPLETA. El detalle de cada caso está en Notas de crédito y débito.
Guía de despacho (52)
| Campo | Obligatorio |
|---|---|
ind_traslado | Sí, de 1 a 9 |
tipo_despacho | Desde el 1 de noviembre de 2026. Antes es opcional |
transporte.rut_transportista, transporte.patente, transporte.rut_chofer, transporte.nombre_chofer | Desde el 1 de noviembre de 2026, salvo que declares transporte.sin_datos_transporte: true |
transporte.dir_destino, transporte.cmna_destino, transporte.fecha_salida | Desde el 1 de noviembre de 2026 |
transporte.patente_remolque, transporte.ciudad_destino, transporte.hora_salida, transporte.fecha_llegada | Opcionales |
La obligatoriedad del transporte viene de la Res. Ex. SII 144/2026 y rige desde el 1 de noviembre de 2026, hora de Chile. Antes de esa fecha los faltantes llegan como advertencia en la respuesta; desde esa fecha responden 400 TRANSPORTE_INCOMPLETO. Consulta la fecha efectiva y la lista de campos en GET /v1/dte/reglas en vez de fijarlas en tu código. El receptor de la guía sigue la tabla de arriba: giro, dirección y comuna, salvo el giro con ind_traslado 5 o 6. Todo el detalle está en Emitir guía de despacho.
Exportación (110, 111 y 112)
Los documentos de exportación llevan el bloque exportacion con moneda, tipo_cambio (mayor a 0), tot_bultos (mayor a 0) y cod_pais_recep. Las notas 111 y 112 requieren una referencia a la factura de exportación que modifican.
Revisar antes de emitir
POST /v1/dte/validar aplica exactamente estas reglas sin crear el documento, sin asignar folio y sin consumir cuota. Responde 200 en ambos casos y el veredicto va en data.valido:
POST https://api.folyo.cl/v1/dte/validar
X-API-Key: tu_api_key
Content-Type: application/json
{
"tipo_dte": 33,
"receptor": {
"rut": "76543210-3",
"razon_social": "Cliente SpA",
"giro": "Comercio al por menor",
"direccion": "Calle Los Leones 456"
},
"detalle": [
{ "nombre": "Servicio de consultoría", "cantidad": 1, "precio": 500000, "monto": 500000 }
]
}
{
"ok": true,
"data": {
"valido": false,
"codigo": "RECEPTOR_INCOMPLETO",
"mensaje": "Falta la comuna del receptor. El SII exige estos datos del receptor en este tipo de documento y rechaza el documento si no vienen. Complete el dato y vuelva a emitir; no se consumió folio.",
"field_errors": [
{
"field": "receptor.comuna",
"message": "Obligatorio para el DTE 33 según el Formato DTE del SII; sin este dato el SII rechaza el documento."
}
],
"advertencias": []
}
}
Los SDK lo exponen como folyo.dte.validar(...). Un valido: true confirma las reglas que revisa Folyo, no la aceptación del SII. Para facturar en volumen, sigue Emitir en lote; los códigos de error están en Manejo de errores.