Facturiadocs
Recepción

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:

AnclaLa marca de recepción del SII para ese documento, publicada como reception.sii_receipt_at
ConteoDías corridos. Fines de semana y feriados cuentan
GranularidadDías completos en el calendario civil de America/Santiago
VencimientoEl 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: '[email protected]',
    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=33

Una 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.

En esta página