Errores Comunes en la API DGII para e-CF y Cómo Resolverlos
Catálogo técnico de los errores más frecuentes en la integración con la API DGII para e-CF en República Dominicana, con causas raíz y procedimientos de resolución.
Un e-CF rechazado con un mensaje de error genérico de la DGII a las 10 PM de un día de cierre es el escenario más frustrante para un equipo de desarrollo integrado con la API del Comprobante Fiscal Electrónico en República Dominicana. La respuesta del servidor incluye un código de estado pero frecuentemente omite el campo específico que causó el rechazo, y la documentación oficial de la DGII no siempre mapea códigos de error a causas raíz verificables con ejemplos reales de payload.
Esta guía cataloga los errores más frecuentes en la integración con la API DGII para e-CF, explica qué causa cada uno, y describe el procedimiento técnico para resolverlos. Al terminar, el equipo tendrá un mapa de errores operativo que puede usarse como referencia de soporte de primer nivel y como base para un sistema de logging estructurado que acelere el diagnóstico en producción.
Arquitectura de validación de la DGII y cómo genera errores
El flujo de validación del e-CF en República Dominicana opera en dos etapas. La primera es la validación síncrona en el endpoint de recepción, donde la DGII verifica la estructura del mensaje, el esquema XML y la firma digital antes de responder. La segunda es la validación asíncrona, donde la DGII procesa el contenido fiscal del documento y emite un acuse de recibo con estado ACEPTADO, ACEPTADO_CONDICIONAL o RECHAZADO. Entender en cuál de estas etapas ocurre cada tipo de error es fundamental para definir el punto de corrección correcto.
Errores en la validación síncrona: respuesta inmediata del endpoint
Los errores síncronos ocurren en el momento del POST al endpoint de recepción y se devuelven en el cuerpo de la respuesta HTTP. Son deterministas: el mismo documento con el mismo error siempre será rechazado. Los más comunes en esta etapa son errores de firma digital (certificado expirado, cadena de confianza rota, canonicalización incorrecta), errores de estructura XML (namespace incorrecto, elementos fuera de secuencia, caracteres inválidos en campos de texto) y errores de autenticación del emisor (token expirado, emisor no habilitado ante la DGII). Estos errores no deben reintentarse sin corregir el documento o la configuración.
Errores en la validación asíncrona: acuse de recibo con rechazo
Los errores asíncronos llegan mediante el webhook o a través de la consulta del estado del e-CF. Pueden ocurrir minutos después de un envío inicialmente aceptado a nivel síncrono. Los más frecuentes en esta etapa son: RNC del receptor no registrado en el padrón fiscal de la DGII, secuencia de NCF incorrecta o ya utilizada, montos que no coinciden con los cálculos de impuesto esperados, e-CF de crédito que referencia un e-CF de venta inexistente o ya anulado. Estos errores requieren corrección del contenido fiscal del documento, no de la firma ni la estructura.
Errores de firma digital: los más frecuentes y los más costosos
Los errores de firma digital son los más comunes en entornos que llevan menos de seis meses en producción. Su detección tarda porque suelen aparecer de forma intermitente: el certificado funciona durante semanas y luego expira sin aviso previo automático en todos los sistemas. Representan el mayor tiempo de inactividad operativa porque la corrección requiere coordinación con el proveedor del certificado, no solo un cambio de código.
Certificado expirado o sin cadena de confianza válida ante la DGII
El certificado digital para e-CF en República Dominicana debe ser emitido por una entidad certificadora reconocida por la DGII. Cuando el certificado expira, la firma del documento sigue siendo técnicamente válida en formato pero la DGII la rechaza por vigencia. El error de manifestación típica es un código de respuesta indicando firma inválida sin especificar que la causa es la expiración. La acción correctiva es renovar el certificado con el INDOTEL o la entidad certificadora autorizada, actualizar el keystore en el sistema de emisión y volver a firmar los documentos pendientes. El ISV debe implementar una alerta automática 30 días antes de la fecha de expiración del certificado.
Canonicalización incorrecta del XML antes de aplicar la firma
La canonicalización XML (C14N) es el proceso de normalizar el documento antes de calcular el hash que se firma. Si el ISV aplica la firma sobre el XML sin canonicalizar, o usa un algoritmo de canonicalización diferente al esperado por la DGII (C14N 1.0 exclusivo), la firma será inválida aunque el certificado sea correcto y esté vigente. Este error es especialmente traicionero porque el documento parece bien formado y la firma parece presente. La verificación requiere aplicar el mismo algoritmo C14N al documento y recalcular el hash para compararlo con el incluido en la firma.
Errores de estructura XML y namespace en el e-CF
El e-CF de la DGII sigue el esquema XML definido en el anexo técnico de la Norma General 06-2018 y sus actualizaciones posteriores. Cualquier desviación del esquema produce un rechazo síncrono. Los errores de estructura son los más fáciles de reproducir en ambiente de pruebas y los más fáciles de corregir, pero también son los que más variantes tienen.
Namespace incorrecto o ausente en el documento e-CF
El namespace del e-CF debe coincidir exactamente con la versión del esquema publicado por la DGII. Un cambio en la versión del esquema que no se refleja en el namespace del documento produce un rechazo que el parser devuelve como error de validación de esquema. Este error es especialmente frecuente cuando un ISV actualiza su versión del XSD sin actualizar el namespace declarado en el elemento raíz. La revisión debe hacerse comparando el namespace del documento generado contra el XSD vigente publicado en el portal de la DGII. No asumir que el namespace anterior sigue siendo válido después de una actualización de esquema.
Campos obligatorios ausentes según el tipo de e-CF
Cada tipo de e-CF (31, 32, 33, 34, 41, 43, 44, 45, 46) tiene un conjunto distinto de campos obligatorios. Un campo que es opcional en el tipo 31 puede ser obligatorio en el tipo 32, y la ausencia genera rechazo síncrono con código de campo requerido. El error más frecuente ocurre cuando un ISV implementa el tipo 31 correctamente y luego intenta emitir tipo 32 (nota de crédito) reutilizando la misma plantilla sin agregar los campos adicionales requeridos: número de e-CF original que se está afectando, motivo de la nota y monto de ajuste discriminado. Verificar el esquema XSD específico para cada tipo antes de implementarlo.
Errores de datos del receptor y secuencia de NCF
Los errores de datos del receptor son los que más impacto operativo generan porque ocurren en documentos que ya pasaron la validación síncrona. Se detectan en el acuse de recibo asíncrono, lo que significa que el emisor puede haber dado por exitosa la transacción antes de recibir el rechazo. Requieren un flujo de manejo de errores específico que incluya consulta periódica del estado del e-CF o procesamiento del webhook de respuesta del receptor.
RNC del receptor inválido o no registrado en el padrón DGII
El RNC del receptor debe estar registrado y activo en el Registro Nacional de Contribuyentes de la DGII. Si el receptor ingresa un RNC con error tipográfico, o si el RNC existe pero la empresa está dada de baja, la DGII rechaza el e-CF en la etapa asíncrona. El ISV debe implementar una validación previa del RNC contra el servicio de consulta pública de la DGII antes de emitir el documento. Esta validación debe ejecutarse en tiempo real si el receptor es nuevo, y periódicamente para receptores frecuentes, ya que el estado de un RNC puede cambiar.
Secuencia de NCF incorrecta o número ya utilizado
La secuencia del Número de Comprobante Fiscal (NCF) en el e-CF debe ser estrictamente incremental y única por tipo de comprobante. Los errores de NCF duplicado ocurren frecuentemente en entornos con múltiples instancias del sistema de emisión que no coordinan el contador de secuencia mediante un mecanismo centralizado. La corrección estructural es implementar un generador de NCF centralizado con bloqueo de concurrencia (lock) que garantice que ninguna instancia del sistema tome el mismo número. Un sistema con tres instancias en paralelo sin lock central tiene una probabilidad alta de colisión bajo carga.
Errores de transmisión y estados indefinidos en la DGII
Además de los errores de contenido y firma, el flujo de e-CF enfrenta errores de transmisión: timeouts, errores de servidor de la DGII y estados que nunca transicionan a una respuesta definitiva. Estos son los más complejos de manejar porque requieren lógica de consulta activa o procesamiento de webhooks, y el comportamiento del sistema de la DGII no siempre es predecible durante períodos de alta carga.
E-CF en estado PENDIENTE indefinido: cómo diagnosticar y resolver
Un e-CF en estado PENDIENTE que no transiciona después de más de 2 horas generalmente indica una de tres situaciones: el webhook de respuesta falló en la entrega y el ISV no implementó consulta activa de respaldo, el sistema de la DGII presentó degradación y el procesamiento asíncrono se atrasó, o el e-CF fue rechazado pero el webhook de notificación no llegó. La resolución requiere consultar el estado del e-CF por su número de radicación usando el endpoint de consulta de la DGII. Si el estado sigue como PENDIENTE después de 4 horas, escalar al soporte técnico de la DGII con el número de radicación.
Tabla de errores frecuentes, códigos DGII y acciones de resolución
Los errores de la DGII más frecuentes en implementaciones en producción, con su causa típica y acción correctiva, son los siguientes. Error de firma inválida: verificar vigencia del certificado y algoritmo de canonicalización C14N. Error de esquema XML: comparar namespace y estructura contra XSD vigente en portal DGII. Error de RNC receptor: validar contra consulta pública DGII antes de emitir. Error de NCF duplicado: implementar generador de NCF centralizado con lock de concurrencia. Error de e-CF referenciado no encontrado (notas de crédito): verificar que el e-CF de venta original esté en estado ACEPTADO antes de emitir nota. Error de ITBIS no coincidente: recalcular la base imponible y la tasa aplicada según el tipo de bien o servicio.
Para equipos que buscan reducir la carga operativa del manejo de errores DGII, la API de facturación electrónica para República Dominicana de Alanube gestiona los reintentos, la consulta de estado y las notificaciones de error como parte de su capa de abstracción, exponiéndolos al ISV mediante webhooks estructurados con clasificación de tipo de error.
¿Cuál es el plazo máximo que puede estar un e-CF en estado PENDIENTE antes de requerir acción? La DGII no define un plazo oficial en su documentación pública. En la práctica, la mayoría de los e-CF reciben respuesta asíncrona en menos de 10 minutos en condiciones normales. Un e-CF en estado PENDIENTE por más de 2 horas debe considerarse anómalo y activar una consulta activa del estado. Si a las 4 horas persiste el estado PENDIENTE, se recomienda escalar al soporte de la DGII con el número de radicación y el timestamp de envío para trazabilidad.
¿Cómo puedo validar que el RNC de un receptor es válido antes de emitir el e-CF? La DGII ofrece un servicio público de consulta de RNC disponible en el portal de la DGII. El ISV puede consumir este servicio desde su sistema de emisión para verificar que el RNC existe y tiene estado activo antes de generar el documento. Se recomienda cachear los resultados para RNCs frecuentes con un TTL de 24 horas y hacer consulta en tiempo real para RNCs nuevos. Esta validación previa elimina la mayoría de los rechazos asíncronos por receptor inválido sin añadir latencia significativa al flujo de emisión.
¿Qué diferencia hay entre un e-CF RECHAZADO y un e-CF ACEPTADO_CONDICIONAL por la DGII? Un e-CF RECHAZADO implica que la DGII no reconoce el documento como válido y debe corregirse y reemitirse con un nuevo NCF. Un e-CF ACEPTADO_CONDICIONAL indica que la DGII aceptó el documento pero con observaciones que el emisor debe atender. Las observaciones condicionales más frecuentes involucran discrepancias menores en cálculos de ITBIS o datos del receptor que no impiden el registro pero generan una alerta fiscal. El emisor debe revisar y corregir estas condiciones en el siguiente período para evitar acumulación de inconsistencias en el registro fiscal.
¿Es posible reutilizar un NCF que fue rechazado por la DGII en un nuevo intento de emisión? Depende del tipo de rechazo. Si el e-CF fue rechazado antes de ser registrado por la DGII (rechazo síncrono de estructura o firma), el NCF puede considerarse no consumido y reutilizarse en principio. Sin embargo, la práctica recomendada es no reutilizar NCF rechazados y asignar uno nuevo al documento corregido para evitar ambigüedades en la secuencia. Consulte con el soporte de la DGII si necesita confirmación oficial sobre el estado de un NCF específico antes de reutilizarlo.
Artículos Relacionados
Nota de Débito Electrónica en República Dominicana: e-CF Tipo 35 Paso a Paso
Guía técnica para implementar la nota de débito electrónica (e-CF Tipo 35) en República Dominicana: estructura XML, campos obligatorios, flujo DGII y errores frecuentes.
Idempotencia y Reintentos en la API del DGI Panamá: Guía para ISVs
Cómo implementar idempotencia y reintentos seguros en la integración con la API del DGI en Panamá. Guía técnica para evitar documentos duplicados en el SFEP.
Observabilidad y Logging en la Integración con la API de Hacienda Costa Rica
Cómo implementar logging estructurado, métricas y alertas en su integración con la API de Hacienda Costa Rica. Guía técnica para ISVs con volumen en producción.