XSD validation failed |
XML_INVALIDO |
XML no cumple eCF_v1.0.xsd |
Re-correr dgii_validate_xml --invoice-id <id>, revisar campos obligatorios faltantes |
Signature is invalid |
FIRMA_INVALIDA |
.p12 vencido, cadena CCPSD ausente |
openssl pkcs12 -info; descargar CCPSD_cadena.crt actualizada |
RNC <X> no encontrado en padrón |
RNC_INVALIDO |
Receptor no existe / inactivo |
Llamar receptor_validator; refrescar padrón vía padron_refresh |
eNCF duplicado |
ENCF_DUPLICADO |
Mismo e-NCF enviado dos veces |
Bloquear segundo envío en código; consultar ECFEnvioDGII |
Secuencia fuera de rango |
SECUENCIA_FUERA_RANGO |
numero excede numero_hasta o ambiente equivocado |
Recargar ECFSequence; verificar ambiente |
Token expirado |
TOKEN_EXPIRADO |
Bearer venció (típico cada 30 min) |
Cliente debe llamar obtener_token o cachear hasta expires-60s |
mTLS certificate rejected |
MTLS_INVALIDO |
Cert cliente no coincide con el registrado |
Re-postular en DGII con cert actual |
503 Service Unavailable |
RED_DGII_CAIDA |
DGII en mantenimiento |
marcar_factura_contingencia + ecf_retry_failed |
400 SoftwareVersion inválido |
VERSION_SOFTWARE |
DGII espera xs:double en VersionSoftware |
normalize_dgii_software_version lo arregla |
409 ACR fuera de plazo |
ACR_EXPIRADO |
Aprobación Comercial no enviada en 24h |
Imposible regularizar; manual vía portal DGII |
Fecha emisión > fecha actual |
FECHA_INVALIDA |
Reloj servidor desincronizado |
timedatectl set-ntp true, verificar chronyc tracking |
Monto en letras no coincide |
MONTO_LETRAS |
Conversión número→texto difiere del total |
Revisar numero_a_letras_dop; redondeo centavos |