La ventana de 8 días
El plazo legal para reclamar un documento recibido, por qué el silencio acepta y cómo diseñar tu integración alrededor de eso.
Trampa
8 días corridos. El silencio acepta. No se puede deshacer.
La ley chilena le da al receptor 8 días corridos para rechazar una factura recibida (tipos 33, 34 y 43). Si no haces nada, al día 8 el documento queda irrevocablemente aceptado y se vuelve libremente transferible — tu proveedor puede cederlo a un factoring y tú ya no tienes cómo objetarlo.
No hacer nada no es «pendiente». Es aceptar.
Qué significa en la práctica
Un documento recibido llega con esto:
"commercial_response": {
"state": "pending",
"deadline_at": "2026-08-20T23:59:59-04:00",
"days_remaining": 6,
"available_actions": ["accept", "reject_content", "reject_partial", "reject_total", "acknowledge_receipt"],
"default_if_silent": "accepted",
"history": []
}default_if_silent está en cada objeto por una razón: es la respuesta a «¿y si no hago nada?», y es
la pregunta que un integrador tiene que responderse antes de escribir la primera línea.
deadline_at viene con offset de Chile (-04:00 o -03:00 según el horario de verano) porque el
plazo es de calendario chileno, no un intervalo de 192 horas desde un instante UTC.
Dónde parte el reloj
Un plazo vale lo que vale su punto cero, así que acá va exacto:
| Ancla | La marca de recepción del SII para ese documento, publicada como reception.sii_receipt_at |
| Conteo | Días corridos. Fines de semana y feriados cuentan |
| Granularidad | Días completos en el calendario civil de America/Santiago |
| Vencimiento | El fin del octavo día posterior a la fecha chilena del ancla |
No es la issue_date del emisor, que la elige el emisor. No es el momento en que el correo llegó a
tu casilla de recepción, que depende de la cola de correo de quien lo mandó. Y no es nuestro
received_at, porque entonces una caída nuestra te acortaría un plazo legal.
Que la granularidad sea el día tiene una consecuencia práctica: un documento recibido a las 23:50 no pierde un día por culpa del reloj, y un cambio de horario de verano no corre el vencimiento una hora.
Sin ancla no hay plazo — y lo decimos, no lo inventamos
Mientras no se conozca la marca de recepción del SII, deadline_at y days_remaining vienen en
null y las acciones de escritura responden 422 commercial_response_anchor_pending.
Adivinar una fecha legal es peor que negarse a nombrar una. La base de datos lo refuerza: un plazo guardado sin su ancla se rechaza a nivel de esquema.
Las tres reglas duras
Las aplicamos nosotros antes de que te las aplique el SII:
Solo tipos 33, 34 y 43. Cualquier otro devuelve 422 commercial_response_not_applicable. Una
boleta o una guía de despacho no llevan respuesta comercial.
8 días, con el servidor de por medio. Pasado el plazo recibes
422 commercial_response_window_closed, con el deadline_at dentro del error para que puedas
mostrarlo.
Un solo tiro. Una segunda acción sobre el mismo documento devuelve
409 commercial_response_already_registered. Y los reclamos son irreversibles: no existe
des-reclamar.
Qué hacer con esto en tu integración
Lo mínimo defendible
Escucha received_document.created y ponlo delante de una persona. Es la opción por defecto y es la
que la ley asume.
El recordatorio
received_document.deadline_approaching se dispara a T−2 días mientras el estado sigue en
pending. Enganchado a un correo o a una notificación interna, es la diferencia entre una decisión y
un accidente.
// En tu handler de webhooks
if (evento.type === 'received_document.deadline_approaching') {
const doc = evento.data.object;
await avisar({
para: 'cuentas-por-pagar@miempresa.cl',
asunto: `Quedan ${doc.commercial_response.days_remaining} días para objetar ${doc.emisor.legal_name} folio ${doc.folio}`,
cuerpo: `Total ${doc.totals.total}. Vence ${doc.commercial_response.deadline_at}.`,
});
}Barrer lo que sigue pendiente
curl -G https://api.facturia.cl/v1/received_documents \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Facturia-Empresa: $EMPRESA" \
-d commercial_response_state=pending -d tipo_dte=33Una tarea diaria que consulta esto y compara days_remaining contra tu propio umbral es la forma más
simple de no depender de que alguien lea un correo.
La aceptación explícita automática
auto_accept_received publica una aceptación ACD después de N días. Viene apagada, porque el
silencio legal ya acepta al día 8: la automatización solo importa si quieres un registro explícito.
curl -X PATCH https://api.facturia.cl/v1/empresas/emp_01K2R6.../automation_settings \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Content-Type: application/json" \
-d '{"auto_accept_received": true, "auto_accept_received_after_days": 5}'Automatizar la aceptación no te da más tiempo
auto_accept_received acelera la aceptación; no extiende el plazo para reclamar. Si lo pones en 5
días, pierdes tres días de ventana a cambio de un registro explícito. Ponlo alto o no lo pongas.
Cómo probarlo sin esperar una semana
El sandbox tiene un reloj que puedes adelantar por empresa.
# 1. Inyecta un documento recibido
curl -sS https://api.facturia.cl/v1/test_helpers/received_documents \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Facturia-Empresa: $EMPRESA" \
-H "Content-Type: application/json" \
-d '{
"tipo_dte": 33,
"folio": 8812,
"emisor": { "rut": "96790240-3", "legal_name": "Proveedor Austral SpA" },
"issue_date": "2026-08-12",
"totals": { "net": 450000, "iva": 85500, "total": 535500 }
}'
# 2. Adelanta nueve días
curl -sS https://api.facturia.cl/v1/test_helpers/clock \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Facturia-Empresa: $EMPRESA" \
-H "Content-Type: application/json" \
-d '{"advance_days":9}'
# 3. Intenta reclamar: 422 commercial_response_window_closed
curl -X POST https://api.facturia.cl/v1/received_documents/rdoc_01K2R9M3D8V5QW7N/reject \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Facturia-Empresa: $EMPRESA" \
-H "Content-Type: application/json" \
-d '{"reason":"content","note":"Fuera de plazo"}'Esa prueba pertenece a tu suite. Es el único plazo de esta API que puede costarte plata por no hacer nada.
El detalle jurídico, en corto
La aceptación tácita convierte la factura en un título ejecutable y cedible. Por eso el plazo importa más que un flujo de aprobación interno: pasado el día 8, la discusión ya no es con tu proveedor sino con quien haya comprado esa factura.
Las cinco acciones que puedes tomar dentro del plazo están en Respuesta comercial.