DIAN caída: qué pasa con tus facturas y qué hacer (tipo 03 y 04)
La DIAN se cae a veces. Tu factura ya está firmada y numerada antes de que la DIAN la vea, así que una caída nunca te impide vender. Esta guía tiene dos partes: si usas la aplicación (no tienes que hacer nada; te mostramos qué verás) y si integras por API (qué estados y webhooks recibe tu sistema). Las dos se pueden probar con el simulador de caída del Sandbox.
En corto: ¿qué tengo que hacer?
Usas la aplicación
Nada. Sigues facturando; la factura queda «Pendiente de envío» y se transmite sola cuando la DIAN vuelve. Solo si el cliente necesita la factura validada en ese momento, un clic la emite como tipo 04. Ver cómo se ve
Integras por API
No reintentes el POST. El documento ya existe (estado QUEUED), tu sistema recibe invoice.pending_dian y luego invoice.accepted. Ver estados y webhooks
Lo que no es una caída de la DIAN: que tu internet falle, que el certificado esté vencido o que la DIAN rechace la factura por un dato. Para un rechazo, mira factura rechazada por la DIAN.
Si usas la aplicación
1. Emites como siempre y ves un aviso
Creas la factura (o el POS, la nota, el documento soporte) y pulsas Crear y enviar a DIAN, desde el computador o desde el celular. Si la DIAN no responde, en vez de «Aceptada» aparece este aviso. La factura ya tiene número, firma y PDF: puedes entregarla y cobrarla.

2. La factura queda «Pendiente de envío»
En Facturas, la fila muestra Pendiente de envío y dos botones extra. No vuelvas a crear la factura: no se pierde ni gasta otro número.

- Reintentar ahora: fuerza un intento cuando la DIAN anuncia que volvió. Si sigue caída, te lo dice y se queda en cola.
- Emitir tipo 04: solo si el cliente necesita la factura validada en ese momento. Se reemite con el mismo número como factura de contingencia DIAN y el PDF lleva la leyenda de contingencia (detalles abajo).
3. El historial dice qué está pasando
El historial de la factura muestra cada intento, el motivo y el próximo reintento: tres intentos a los 20 segundos y luego uno cada 30 minutos. La aplicación cuenta las 48 horas desde el primer intento de envío (es más estricta que la norma, que las cuenta desde que la DIAN se restablece) y, pasado ese plazo, sigue reintentando.

4. Cuando la DIAN vuelve, queda «Aceptada» sola
En el siguiente reintento la factura se transmite, pasa a Aceptada y el cliente recibe el correo con el XML y el ApplicationResponse. Tú no haces nada.

Si se cumplen las 48 horas desde el primer intento sin respuesta, el historial de la factura muestra «Plazo de 48 h vencido» y te llega un correo para que lo revises con tu contador. Sigue en cola y se transmite en cuanto la DIAN responda.
Pruébalo sin esperar una caída: el simulador
En Configuración → Entorno, con la cuenta en Sandbox, está Simular caída de la DIAN. Mientras está activo, cada envío falla como si la DIAN estuviera caída: ves exactamente los pasos de arriba (aviso, pendiente, reintentos, tipo 04). Al pulsar Desactivar y transmitir, los pendientes se envían de verdad al ambiente de pruebas de la DIAN.

Sirve igual para los dos públicos: quien usa la aplicación ve qué pasaría en su caja; quien integra por API recibe los mismos estados y webhooks que en una caída real. Solo funciona en Sandbox; en producción la opción no existe.
Si integras por API
Esta sección es para equipos técnicos que crean facturas con POST /invoices desde su tienda, ERP o sistema. Si solo usas la aplicación, puedes saltarla.
| Lo que pasa | Lo que ve tu sistema |
|---|---|
| La DIAN no responde al transmitir | La respuesta del POST trae el documento con dian_status: "QUEUED"; webhook invoice.pending_dian |
| Reintentos en curso | GET /invoices/{id} → dian_queue.state: PENDING / RETRYING (ráfaga inicial), WAITING_DIAN (cada 30 min), con attempts, next_attempt_at, deadline_at |
| La DIAN vuelve | invoice.sent y invoice.accepted (o invoice.rejected si un dato está mal) |
Pasan 48 h desde el primer intento sin transmitir (deadline_at) |
dian_queue.state: "DEADLINE_MISSED"; el documento sigue en cola |
| Quieres forzar un intento | POST /invoices/{id}/retry-now |
| Necesitas entregar un tipo 04 | POST /invoices/{id}/contingency-04 → dian_status: "CONTINGENCIA_04", webhook invoice.contingency_04 |
No reintentes el POST. El documento ya está firmado y numerado en tu instancia. Un nuevo POST con la misma Idempotency-Key devuelve el mismo documento; sin ella crearías otra factura con otro consecutivo.
Lo mismo aplica a notas crédito y débito (credit_note.pending_dian, debit_note.pending_dian), documento soporte (familia invoice) y nómina (payroll.pending_dian, POST /payroll/{id}/retry-now). Con el simulador del Sandbox pruebas todo el ciclo con tus webhooks antes de salir a producción. Referencia completa en la documentación de la API.
Lo que dice la norma: tipo 03, tipo 04 y 48 horas
La factura electrónica es de validación previa: la DIAN valida el XML firmado y responde con un ApplicationResponse. Cuando ese servicio no responde, la Resolución 000165 de 2023 (artículos 32 y 33, compilada en la 000227 de 2025) y el Anexo técnico 1.9 prevén dos contingencias:
Tipo 04 — la DIAN no responde
La factura se genera igual (mismo prefijo y consecutivo, firmada) con el tipo 04 y se entrega sin validación previa. Se transmite dentro de las 48 horas siguientes a que la DIAN se restablezca. La DIAN solo la acepta si la hora de firma cae dentro de una caída que ella declaró (regla CTG01).
Tipo 03 — tu sistema no funciona
Factura de talonario en papel, con una numeración de contingencia de la DIAN. Al recuperar el sistema se transmite un tipo 03 por cada una. Con un software en la nube casi nunca se usa: el sistema sigue funcionando aunque la DIAN no.
Las 48 horas se cuentan desde que la DIAN restablece el servicio, no desde que emitiste. La DIAN publica los incidentes en su portal (Estado de los servicios) y a veces amplía el plazo para caídas largas. Si te pasas, la factura sigue existiendo para tu cliente, pero quedas expuesto a la sanción por no transmitir (artículo 652-1 del E.T.).
Preguntas frecuentes
¿Puedo seguir cobrando mientras la DIAN está caída?
Sí. La factura existe, tiene número y firma; el cliente puede pagar por link o transferencia. Lo único pendiente es la validación, que llega después.
¿Cuándo uso el tipo 04 y cuándo espero?
Casi siempre, espera: la factura se transmite sola y el cliente recibe el correo cuando la DIAN acepta. Usa el tipo 04 solo si el cliente necesita la factura validada antes de que la DIAN vuelva (por ejemplo, para registrarla en su contabilidad ese día).
¿Necesito una resolución de contingencia (talonario)?
Solo si quieres cubrir el caso de que tu sistema no funcione (tipo 03). No es obligatoria para operar con software en la nube.
¿Qué pasa con los consecutivos durante la caída?
Siguen en orden. Cada factura toma su número al emitirse, esté la DIAN disponible o no; no hay saltos ni duplicados al transmitir después.
¿El simulador manda algo a la DIAN de producción?
No. Solo existe en Sandbox y, mientras está activo, ni siquiera sale a la red. Al desactivarlo, los pendientes se transmiten al ambiente de pruebas de la DIAN.
¿La nómina electrónica tiene contingencia?
No tiene tipos 03/04; se transmite dentro de los primeros diez días hábiles del mes siguiente. miPlata la encola y reintenta de la misma forma.
La DIAN se cae; tu facturación no
Cola de reintentos, tipo 04 con un clic, aviso al cliente y transmisión automática cuando la DIAN vuelve. Pruébalo cuando quieras con el simulador del Sandbox.