Contingencia: facturar cuando algo falla
El Decreto 587-24 (arts. 39 a 43) prevé tres situaciones en las que no se puede completar el envío normal de un e-CF a la DGII. Dos las resuelve FiscalFlow solo. La tercera necesita preparación de tu lado, y esta página explica qué hacer en cada una.
| Situación | Quién la resuelve | Qué haces tú |
|---|---|---|
| 1. La DGII está caída | FiscalFlow, automático | Nada. Sigue facturando. |
| 2. FiscalFlow no logra conectar con la DGII | FiscalFlow, automático | Nada. Sigue facturando. |
| 3. No se puede emitir e-CF tu sistema no llega a FiscalFlow, o FiscalFlow no puede firmar |
Tú, con comprobantes en papel serie B | Activar tu contingencia en papel y regularizar después. Ver abajo. |
1 y 2. La DGII no responde
FiscalFlow firma el e-CF al recibirlo, así que el comprobante ya tiene e-NCF, código de seguridad, fecha de firma
y QR aunque la DGII no conteste. El documento queda en pending_transmission y FiscalFlow lo reenvía solo
hasta que la DGII lo recibe, dentro de las 72 horas que da la norma.
- Puedes entregar la factura al cliente. El PDF de un documento pendiente lleva la leyenda obligatoria de contingencia y el estado «Pendiente de envío a DGII».
- La firma no cambia. Cada reintento envía exactamente el mismo XML firmado, así que el código de seguridad y el QR que tiene tu cliente coinciden con lo que acepta la DGII. Si corriges la factura antes del reenvío, se firma de nuevo.
- Te avisamos. Recibes los webhooks
document.transmission.pending,.expiring(quedan 12 h) y.expired(ver Webhooks). Además, el dueño de la organización recibe un correo cuando la DGII lleva 5 minutos sin responder y otro cuando vuelve. - No hay que esperar al reintento. Desde el panel, en el detalle de la emisión, «Reenviar ahora» lo envía en el momento.
- Si pasan las 72 horas sin que la DGII lo reciba, el documento pasa a
expired, su e-NCF se declara como no utilizado y hay que emitir la venta de nuevo.
3. No se puede emitir e-CF: contingencia en papel
Si tu sistema no puede emitir e-CF (no llega a FiscalFlow, se venció el certificado, se agotó el rango…), la norma permite facturar con comprobantes en papel serie B hasta que se restablezca (art. 40.2), con estas condiciones:
- Tener la serie B autorizada antes de necesitarla. Se solicita en la Oficina Virtual de la DGII como cualquier secuencia de NCF. Pide al menos B01 (crédito fiscal) y B02 (consumo), y los demás tipos que uses. Si ya eras emisor con serie B, esas secuencias siguen sirviendo para la contingencia: no las anules.
- Declarar la contingencia en la Oficina Virtual, en Facturación Electrónica → Contingencia FE, al empezar, y registrar ahí la fecha de fin al terminar. Si no se declara, tu cliente no puede usar esos comprobantes para su crédito fiscal (art. 42).
- Máximo 15 días calendario en papel.
- Regularizar en un máximo de 30 días calendario después de salir de la contingencia: por cada NCF en papel se emite un e-CF de reemplazo, que va solo a la DGII. Tu cliente se queda con su comprobante en papel.
Regularizar: emitir el e-CF de reemplazo
Es un POST /api/v1/documents normal, con los mismos ítems, totales y comprador del comprobante en papel,
más dos campos:
/api/v1/documents
curl -X POST https://api.fiscalflowsupport.com/api/v1/documents \
-H "X-API-Key: ffs_live_ejemplodeclavenoreal000000000000000000" \
-H "Content-Type: application/json" \
-d '{
"type": "31",
"external_ref": "reemplazo-B0100000042",
"replacement_of": "B0100000042",
"replacement_date": "19-09-2026",
"buyer": { "rnc": "131880681", "name": "Comercial Dominicana SRL" },
"items": [ ...los mismos ítems del comprobante en papel... ],
"totals": { ...los mismos totales... }
}'
| Parameter | Type | Required | Description |
|---|---|---|---|
replacement_of
|
string | Required | El NCF en papel que se reemplaza: B + 10 dígitos (ej. B0100000042). |
replacement_date
|
string | Required | Fecha en que se emitió el comprobante en papel, dd-mm-yyyy. |
type
|
string | Required | El tipo e-CF que corresponde al tipo del papel (tabla abajo). FiscalFlow no lo deduce del NCF. |
external_ref
|
string | Optional | Usa uno derivado del NCF, así un reintento de la regularización nunca emite dos reemplazos. |
FiscalFlow pone CodigoModificacion = 4 («Reemplazo NCF emitido en contingencia»), comprueba que el
comprador sea el mismo del papel y no envía el e-CF al receptor. Las notas de crédito y débito (33 y 34) no pueden
ser reemplazos.
| Papel | e-CF de reemplazo |
|---|---|
| B01 Crédito fiscal | 31 |
| B02 Consumo | 32 |
| B11 Compras | 41 |
| B13 Gastos menores | 43 |
| B14 Regímenes especiales | 44 |
| B15 Gubernamental | 45 |
| B16 Exportaciones | 46 |
| B17 Pagos al exterior | 47 |
Qué tiene que tener tu sistema
Para que la contingencia en papel funcione sin improvisar, tu software de facturación (Odoo, Kaching o uno propio) necesita un interruptor de contingencia y un asistente de regularización. El bloque siguiente es una especificación que puedes pasarle tal cual a tu equipo técnico o a una IA de programación.
ESPECIFICACIÓN: contingencia en papel para e-CF (República Dominicana, Decreto 587-24 arts. 40-42)
Contexto: el sistema emite e-CF a través de la API de FiscalFlow (POST /api/v1/documents).
Cuando no se puede emitir e-CF, hay que facturar con NCF en papel serie B y luego
regularizar cada uno con un e-CF de reemplazo. Docs: https://app.fiscalflowsupport.com/docs/contingencia
1. CONFIGURACIÓN
- Secuencias serie B por tipo (B01, B02 y las que use la empresa), cada una con
prefijo, número siguiente, número final autorizado y fecha de vencimiento.
- Bloquear la emisión si la secuencia se agotó o venció, con un mensaje claro.
2. INTERRUPTOR «Contingencia en papel» (a nivel de empresa)
- Solo lo activa un usuario administrador. Guarda: fecha y hora de inicio, usuario, motivo.
- Al activarlo, mostrar un aviso con el paso obligatorio: «Declare la contingencia en
la Oficina Virtual de la DGII: Facturación Electrónica → Contingencia FE. Sin esa
declaración su cliente no puede usar el crédito fiscal».
- Mientras esté activo, un banner visible en todo el sistema con los días transcurridos.
Alerta a los 10 días y bloqueo de nuevas facturas en papel a los 15 días calendario.
3. FACTURAR EN CONTINGENCIA (interruptor activo)
- No llamar a FiscalFlow. Asignar el siguiente NCF de la serie B que corresponda al tipo:
B01 si el comprador tiene RNC y requiere crédito fiscal, B02 si es consumidor final, etc.
- Imprimir el comprobante en papel con: NCF, fecha de vencimiento de la secuencia, RNC y
razón social del emisor, fecha, RNC y nombre del comprador (obligatorio en B01),
detalle, ITBIS y total.
- Guardar en la factura: ncf_contingencia, fecha_contingencia (dd-mm-yyyy) y
estado_regularizacion = "pendiente".
- Las notas de crédito o débito sobre estas facturas se hacen después de regularizarlas,
contra el e-CF de reemplazo.
4. DESACTIVAR EL INTERRUPTOR
- Guarda fecha y hora de fin. Aviso: «Registre la fecha de fin de la contingencia en la
Oficina Virtual». Abre el asistente de regularización.
5. ASISTENTE DE REGULARIZACIÓN (plazo: 30 días calendario desde el fin)
- Lista las facturas con estado_regularizacion = "pendiente" y los días que quedan.
- Por cada una: POST /api/v1/documents con
type = tipo e-CF equivalente (B01→31, B02→32, B11→41, B13→43, B14→44,
B15→45, B16→46, B17→47)
replacement_of = ncf_contingencia
replacement_date = fecha_contingencia
external_ref = "reemplazo-" + ncf_contingencia (idempotente: reintentar es seguro)
buyer, items, totals = los mismos del comprobante en papel
- Guardar el e-NCF devuelto en la factura y seguir su estado (webhook document.emitted o
GET /api/v1/documents/{id}). Aceptado → estado_regularizacion = "regularizada".
Rechazado → mostrar el motivo y permitir corregir y reintentar con otro external_ref.
- No enviar el e-CF de reemplazo al cliente: el comprador conserva su papel.
- Alerta a los 20 días si quedan pendientes.
Próximos pasos
- Solicita hoy la serie B en la Oficina Virtual, aunque no la necesites todavía.
- Implementa en tu sistema el interruptor y el asistente de la especificación de arriba, y pruébalo en el ambiente de pruebas de FiscalFlow (TesteCF) emitiendo un reemplazo.
- Escribe un procedimiento de una página para el personal de caja: quién activa la contingencia, cómo se declara en la Oficina Virtual y quién regulariza.