CFDI#####. Esta página documenta los
códigos que Timbrix ha visto y verificado en producción/sandbox, con su
causa real y su solución. No es un catálogo exhaustivo del Anexo 20 del
SAT — el catálogo oficial de errores de validación tiene un rango mucho
más amplio de códigos; aquí solo documentamos los que Timbrix confirma
consistentemente en su integración con el PAC.
Cómo se ve el error en cada canal
El PAC siempre responde el error como texto libre, nunca como un{code, message} estructurado. El código CFDI##### viene embebido
dentro de ese texto (ej. "Error timbrado: CFDI40143 - Este RFC del receptor no existe..."), y cada canal de Timbrix te lo entrega dentro de
ese mismo texto libre:
En los tres casos, el patrón para extraer el código es el mismo:
buscar
/\bCFDI\d{4,6}\b/ dentro del texto. Timbrix nunca separa este
código a un campo estructurado aparte — trátalo siempre como texto libre
que puede incluir contexto adicional del PAC.
CFDI40130 — Falta InformacionGlobal
Causa: El CFDI es de tipo Ingreso para “público en general”
(receptor.rfc = XAXX010101000, receptor.nombre = PUBLICO EN GENERAL)
pero no incluye el nodo InformacionGlobal (periodicidad, meses, año),
que el SAT exige en ese caso.
Solución: Agrega InformacionGlobal.Periodicidad,
InformacionGlobal.Meses e InformacionGlobal.Año al timbrar, y asegúrate
de que receptor.UsoCFDI sea S01.
Ejemplo del texto libre:
CFDI40143 — RFC del receptor no inscrito
Causa: El RFC del receptor no está inscrito o vigente ante el SAT. Es el error más común en sandbox, donde es fácil usar un RFC inventado. Solución: UsaXAXX010101000 (público en general) para pruebas, o un
RFC real y vigente en producción.
Ejemplo del texto libre:
CFDI40102 — puede ser un falso positivo
Causa aparente: El mensaje dice que “el resultado de la digestión debe ser igual al resultado de la desencripción del sello”, lo que parece un problema con tu CSD (certificado de sello digital). Causa real, con más frecuencia: El PAC internamente reintenta varias variantes de formato de certificado antes de fallar, pero siempre reporta el error de la primera variante como resultado final — incluso cuando la causa real es otra. Las dos causas reales más comunes detrás de unCFDI40102 son:
dateenviado en UTC en vez de hora de Ciudad de México. El PAC compara la fecha de expedición contra su propio reloj en hora de México sin ninguna conversión; un valor en UTC se ve ~6 horas en el futuro y cae fuera de la ventana de 72 horas que exige el SAT.- RFC del receptor no inscrito — la misma causa que
CFDI40143.
date esté en hora de México (America/Mexico_City, sin zona horaria en
el string) y que el RFC del receptor sea válido. Solo si ambos son
correctos y el error persiste, investiga el par .cer/.key de tu CSD.
Ejemplo del texto libre:
Nota sobre el catálogo completo de errores del SAT
El Anexo 20 del SAT define un catálogo de validación mucho más amplio que los tres códigos anteriores, cubriendo cada regla estructural del XML CFDI 4.0. Esta página no intenta ser ese catálogo completo — solo documenta los códigos que Timbrix ha confirmado y verificado en su propia integración con el PAC. Si te encuentras con un códigoCFDI##### que no
aparece aquí, revisa el texto completo del mensaje (suele incluir una
descripción legible del campo o regla que falló) y, si el problema
persiste, contacta a soporte con el UUID o el payload usado.
Glosario fiscal
Términos como CFDI, RFC, PAC y CSD explicados.
API Reference
Endpoints, autenticación y límites de tasa.