Matriz de Errores CFDI 4.0
En esta sección se explican las reglas de validación que deben cumplir los Comprobantes Fiscales Digitales por Internet (CFDI) antes de ser timbrados.
Estas reglas aseguran que los comprobantes generados sean correctos, evitando errores que puedan impedir su validación ante el SAT.
| CÓDIGO ERROR | ATRIBUTO | DESCRIPCIÓN DE CÓDIGO DE ERROR | VALIDACIÓN | ¿CÓMO LO SOLUCIONO? |
|---|---|---|---|---|
| CFDI40101 | Fecha | El campo Fecha no cumple con el patrón requerido. | Debe cumplir el patrón:AAAA-MM-DDThh:mm:ssDebe corresponder a la hora local del lugar de expedición. | Captura la Fecha en formato correcto. Ejemplo: 2026-01-29T12:35:10Verifica hora local. Corrige y vuelve a generar el CFDI. |
| CFDI40102 | Sello | La digestión no coincide con la desencripción del sello. | Debe: 1) Generar cadena original 2) Aplicar SHA-256 3) Firmar con llave privada 4) Coincidir con el sello. | Verifica el CSD. Revisa cadena original. Aplica SHA-256 correctamente. Vuelve a sellar y timbrar. |
| CFDI40103 | FormaPago | El campo FormaPago no debe existir para T, N o P. | Atributo condicional. No debe enviarse en esos tipos. | Elimina FormaPago del CFDI. Vuelve a generar y timbrar. |
| CFDI40104 | MetodoPago | MetodoPago inválido. | Debe existir en catálogoc_MetodoPago. | Selecciona método válido del catálogo. Corrige y timbra nuevamente. |
| CFDI40105 | TipoDeComprobante | Tipo de comprobante inválido. | Debe existir en catálogoc_TipoDeComprobante. | Selecciona valor válido. Revisa estructura del CFDI. |
| CFDI40106 | Moneda | Moneda inválida. | Debe existir en catálogoc_Moneda. | Selecciona moneda válida. Corrige y timbra. |
| CFDI40107 | TipoCambio | TipoCambio inválido. | Debe cumplir reglas de moneda. | Ajusta decimales y valor. Corrige y timbra. |
| CFDI40108 | LugarExpedicion | Código postal inválido. | Debe existir en catálogoc_CodigoPostal. | Usa un CP válido. Corrige y vuelve a timbrar. |
| CFDI40109 | SubTotal | SubTotal inválido. | Debe ser suma de conceptos. Debe cumplir reglas de moneda. | Recalcula conceptos. Corrige decimales. Vuelve a timbrar. |
| CFDI40110 | Total | Total inválido. | Debe ser suma correcta: Subtotal + impuestos - descuentos. | Recalcula totales. Corrige redondeos. Vuelve a timbrar. |
| CFDI40111 | Descuento | Descuento inválido. | Debe cumplir reglas de cálculo. | Revisa descuento. Corrige importes. Vuelve a generar. |
| CFDI40112 | Certificado | Certificado inválido. | Debe ser CSD válido y vigente. | Verifica vigencia del CSD. Corrige certificado. |
| CFDI40113 | NoCertificado | Número de certificado inválido. | Debe corresponder al CSD. | Verifica NoCertificado. Corrige y timbra. |
| CFDI40114 | Serie | Serie inválida. | Debe cumplir reglas internas. | Ajusta serie. Reintenta timbrado. |
| CFDI40115 | Folio | Folio inválido. | Debe cumplir reglas internas. | Ajusta folio. Reintenta timbrado. |
| CFDI40116 | SelloSAT | SelloSAT inválido. | Debe ser generado por el PAC. | No modificar. Reintenta timbrado. |
| CFDI40117 | UUID | UUID inválido. | Debe ser generado por el PAC. | No modificar. Reintenta timbrado. |
| CFDI40118 | FechaTimbrado | Fecha de timbrado inválida. | Debe ser generada por PAC. | No modificar. Reintenta timbrado. |
| CFDI40119 | RFCEmisor | RFC emisor inválido. | Debe existir en SAT. | Corrige RFC. Valida contra SAT. |
| CFDI40120 | RFCReceptor | RFC receptor inválido. | Debe existir en SAT. | Corrige RFC. Valida contra SAT. |
| CFDI40121 | ClaveProdServ | ClaveProdServ inválida. | Debe existir en catálogoc_ClaveProdServ. | Selecciona clave válida del SAT. Corrige concepto y timbra. |
| CFDI40122 | ClaveUnidad | ClaveUnidad inválida. | Debe existir en catálogoc_ClaveUnidad. | Selecciona unidad válida. Corrige concepto. |
| CFDI40123 | Cantidad | Cantidad inválida. | Debe ser mayor a cero. | Corrige cantidad. Vuelve a generar CFDI. |
| CFDI40124 | ValorUnitario | ValorUnitario inválido. | Debe ser ≥ 0. | Corrige valor unitario. Recalcula importes. |
| CFDI40125 | Importe | Importe inválido. | Debe ser Cantidad × ValorUnitario. | Recalcula importe. Corrige redondeos. |
| CFDI40126 | ObjetoImp | ObjetoImp inválido. | Debe existir en catálogoc_ObjetoImp. | Selecciona valor válido. Corrige concepto. |
| CFDI40127 | Base | Base de impuesto inválida. | Debe coincidir con importe. | Recalcula base. Corrige impuesto. |
| CFDI40128 | Impuesto | Impuesto inválido. | Debe existir en catálogoc_Impuesto. | Selecciona impuesto válido. |
| CFDI40129 | TipoFactor | TipoFactor inválido. | Debe ser: Tasa / Cuota / Exento. | Corrige TipoFactor. Reintenta timbrado. |
| CFDI40130 | TasaOCuota | TasaOCuota inválida. | Debe existir en catálogoc_TasaOCuota. | Selecciona tasa válida. Corrige impuesto. |
| CFDI40131 | ImporteImpuesto | Importe de impuesto inválido. | Debe cumplir cálculo fiscal. | Recalcula impuesto. Corrige redondeo. |
| CFDI40132 | Traslado | Traslado inválido. | Debe cumplir estructura SAT. | Revisa nodo Traslado. Corrige estructura. |
| CFDI40133 | Retencion | Retención inválida. | Debe cumplir estructura SAT. | Revisa nodo Retención. Corrige estructura. |
| CFDI40134 | NodoConceptos | Nodo Conceptos inválido. | Debe existir al menos un concepto. | Agrega conceptos válidos. |
Errores complemento Pagos (CRP)
| CÓDIGO ERROR | ATRIBUTO | DESCRIPCIÓN DE CÓDIGO DE ERROR | VALIDACIÓN | ¿CÓMO LO SOLUCIONO? |
|---|---|---|---|---|
| CRP20101 | SubTotal | SubTotal debe ser 0. | Regla fija del complemento. | Establece SubTotal = 0. |
| CRP20102 | Total | Total debe ser 0. | Regla fija del complemento. | Establece Total = 0. |
| CRP20103 | Moneda | Moneda inválida. | Debe ser XXX. | Cambia Moneda a XXX. |
| CRP20104 | FormaPago | FormaPago no permitida. | No debe existir. | Elimina FormaPago. |
| CRP20105 | MetodoPago | MetodoPago no permitido. | No debe existir. | Elimina MetodoPago. |
| CRP20106 | Descuento | Descuento no permitido. | No debe existir. | Elimina Descuento. |
| CRP20107 | TipoCambio | TipoCambio no permitido. | No debe existir. | Elimina TipoCambio. |
| CRP20108 | ClaveProdServ | ClaveProdServ inválida. | Debe ser 84111506. | Corrige ClaveProdServ. |
| CRP20109 | ClaveUnidad | ClaveUnidad inválida. | Debe ser ACT. | Corrige ClaveUnidad. |
| CRP20110 | ValorUnitario | ValorUnitario inválido. | Debe ser 0. | Establece ValorUnitario = 0. |
| CRP20111 | Importe | Importe inválido. | Debe ser 0. | Establece Importe = 0. |
Errores complemento Comercio Exterior
| CÓDIGO ERROR | ATRIBUTO | DESCRIPCIÓN DE CÓDIGO DE ERROR | VALIDACIÓN | ¿CÓMO LO SOLUCIONO? |
|---|---|---|---|---|
| CCE130 | CodigoPostal | Código postal inválido. | Debe existir en catálogo SAT. | Usa CP válido del SAT. |
| CCE131 | Colonia | Colonia inválida. | Debe existir en catálogo SAT. | Selecciona colonia válida. |
| CCE132 | Localidad | Localidad inválida. | Debe existir en catálogo SAT. | Selecciona localidad válida. |
| CCE133 | Municipio | Municipio inválido. | Debe existir en catálogo SAT. | Selecciona municipio válido. |
| CCE134 | Estado | Estado inválido. | Debe existir en catálogo SAT. | Selecciona estado válido. |
| CCE135 | Pais | País inválido. | Debe existir en catálogo SAT. | Selecciona país válido. |
| CCE136 | FraccionArancelaria | Fracción arancelaria inválida. | Debe existir en catálogo oficial. | Usa fracción válida. |
| CCE137 | UnidadMedida | Unidad de medida inválida. | Debe existir en catálogo. | Selecciona unidad válida. |
| CCE138 | ValorMercancia | Valor de mercancía inválido. | Debe ser mayor a cero. | Corrige valor. |
Errores complemento Carta Porte
| CÓDIGO ERROR | ATRIBUTO | DESCRIPCIÓN DE CÓDIGO DE ERROR | VALIDACIÓN | ¿CÓMO LO SOLUCIONO? |
|---|---|---|---|---|
| CP200 | Colonia | Colonia inválida. | Debe existir en catálogo SAT. | Selecciona colonia válida. |
| CP201 | Localidad | Localidad inválida. | Debe existir en catálogo SAT. | Selecciona localidad válida. |
| CP202 | Municipio | Municipio inválido. | Debe existir en catálogo SAT. | Selecciona municipio válido. |
| CP203 | Estado | Estado inválido. | Debe existir en catálogo SAT. | Selecciona estado válido. |
| CP204 | Pais | País inválido. | Debe existir en catálogo SAT. | Selecciona país válido. |
| CP205 | CodigoPostal | Código postal inválido. | Debe existir en catálogo SAT. | Usa CP válido. |
| CP206 | ClaveProdServ | Clave SAT inválida. | Debe existir en catálogo SAT. | Selecciona clave válida. |
| CP207 | Cantidad | Cantidad inválida. | Debe ser mayor a cero. | Corrige cantidad. |
| CP208 | UnidadMedida | Unidad inválida. | Debe existir en catálogo. | Selecciona unidad válida. |
| CP209 | PesoEnKg | Peso inválido. | Debe ser mayor a cero. | Corrige peso. |
Errores genéricos CFDI
| CÓDIGO ERROR | ATRIBUTO | DESCRIPCIÓN DE CÓDIGO DE ERROR | VALIDACIÓN | ¿CÓMO LO SOLUCIONO? |
|---|---|---|---|---|
| CFDI40999 | No clasificado | Error no clasificado. | Error genérico del SAT/PAC. | Revisar XML completo. Validar catálogos SAT. Revisar estructura. Reintentar timbrado. |