Error CFDI40104 al timbrar: la FormaPago no contiene un valor del catálogo c_FormaPago
El error CFDI40104 aparece cuando el atributo FormaPago del comprobante contiene un valor que no pertenece al catálogo c_FormaPago del SAT. Ocurre con claves inexistentes, con textos como «Transferencia» o con números sin el cero inicial. Esta guía se centra en la clave de la forma de pago, no en su relación con el método de pago ni con el tipo de comprobante.
Resumen rápido del error
- Código: CFDI40104
- Campo: FormaPago
- Nodo del XML:
cfdi:Comprobante - Regla del SAT (Anexo 20): Este atributo, debe contener un valor del catálogo c_FormaPago.
- Mensaje de rechazo: El campo FormaPago no contiene un valor del catálogo c_FormaPago.
- Cuándo aparece: al timbrar, antes de que se genere el UUID.
¿Qué significa el error CFDI40104?
La FormaPago indica con qué medio se paga o se pagó el comprobante: efectivo, transferencia, tarjeta y otras. El SAT define una lista cerrada de claves de dos dígitos en el catálogo c_FormaPago, y la regla CFDI40104 exige que el valor sea exactamente una de ellas. No acepta nombres, abreviaturas ni claves que ya no existan.
Entre las claves de uso más común están 01 efectivo, 02 cheque nominativo, 03 transferencia electrónica de fondos, 04 tarjeta de crédito, 28 tarjeta de débito y 99 por definir. El catálogo incluye otras claves menos frecuentes, como compensación, novación o condonación.
Dónde se valida: el nodo Comprobante y FormaPago
La validación se aplica al atributo FormaPago del nodo cfdi:Comprobante y comprueba solo que el valor exista en el catálogo. Si el atributo se omite en un caso permitido, esta regla no se evalúa.
- CFDI40103: con tipo de comprobante T, N o P,
FormaPagono debe existir. - CFDI40104: la clave debe estar en
c_FormaPago(esta ficha). - CFDI40105: con
MetodoPagoigual aPPD,FormaPagodebe ser99. - CFDI40124: el valor de
MetodoPagodebe estar enc_MetodoPago. - CFDI40125: con tipo de comprobante T o P,
MetodoPagose omite.
Causas más comunes del error CFDI40104
- Se escribió el nombre en lugar de la clave. Se capturó «Transferencia» o «Efectivo» en vez de
03o01. - Falta el cero inicial. Se envió
1o3en lugar de01o03; el catálogo usa siempre dos dígitos. - La clave no existe. Se usó un número que no está en el catálogo, como
07o10. - Se pegó una clave de otro catálogo. Se copió una clave de
c_MetodoPagoo dec_UsoCFDI, comoPUEoG03. - El sistema mapea mal la forma de pago. Una integración con una tienda en línea traduce «tarjeta» a una clave equivocada.
- Quedó un valor de una versión anterior. Se arrastró una forma de pago de la versión 3.3 que ya no corresponde.
Cómo corregir el error CFDI40104 paso a paso
- Lee el valor enviado. Búscalo en el atributo
FormaPagodel XML o en el campo de tu sistema. - Compáralo con el catálogo. Debe ser una clave exacta de
c_FormaPagocon dos dígitos. - Elige la clave correcta. Por ejemplo
03para transferencia o28para tarjeta de débito. - Revisa el método de pago. Confirma que
MetodoPagoyFormaPagosean coherentes; conPPD, la forma de pago debe ser99(CFDI40105). - Corrige el mapeo de la integración. Si el valor viene de otro sistema, ajusta la tabla de equivalencias.
- Vuelve a timbrar. Con una clave del catálogo, el PAC continúa con las siguientes validaciones.
Ejemplo en el XML: incorrecto y correcto
Ejemplo del encabezado de un comprobante pagado con tarjeta de débito; los datos son ficticios y se muestran solo los atributos relevantes:
Incorrecto:
<cfdi:Comprobante MetodoPago="PUE" FormaPago="Tarjeta" ... >
Correcto:
<cfdi:Comprobante MetodoPago="PUE" FormaPago="28" ... >
La clave 28 corresponde a tarjeta de débito; el método PUE se aplica a pagos en una sola exhibición. Los datos son ficticios.
Catálogos que se confunden con FormaPago
En un mismo comprobante conviven varios catálogos con claves cortas y es fácil mezclarlos. MetodoPago usa siglas (PUE o PPD) y describe cuándo se paga. FormaPago usa dos dígitos y describe con qué medio. UsoCFDI usa una letra y números, como G03, y describe el uso que el receptor dará a la factura. Un error 40104 suele nacer de que una de esas claves quedó en el campo equivocado, sobre todo cuando se importan datos desde hojas de cálculo. La forma más segura de evitarlo es limitar el campo a una lista cerrada y validar contra el catálogo antes de generar el XML. Para repasar los tres catálogos, consulta la guía de facturación electrónica CFDI 4.0.
Cómo evitar este error con Soicont
Soicont es una plataforma de facturación electrónica CFDI 4.0 con PAC autorizado. Antes de enviar el comprobante a timbrar, valida los datos del receptor, los catálogos del SAT y los cálculos de impuestos, y si algo no cuadra te muestra el error con una explicación clara para que lo corrijas y vuelvas a emitir. Además, tus folios no caducan y puedes facturar para varias empresas (multi-RFC) desde una sola cuenta.
Conoce la facturación electrónica CFDI 4.0, la plataforma y los paquetes de folios.
Errores relacionados
- Error CFDI40103 (FormaPago): con tipo T, N o P, FormaPago no debe existir.
- Error CFDI40105 (FormaPago): con MetodoPago PPD, FormaPago debe ser 99.
- Error CFDI40124 (MetodoPago): el método de pago debe estar en el catálogo c_MetodoPago.
- Error CFDI40125 (MetodoPago): con tipo T o P, MetodoPago se omite.
- Error CFDI40160 (UsoCFDI): el uso del CFDI debe estar en el catálogo c_UsoCFDI.
Consulta también el Centro de Soluciones con todos los errores del SAT.
Preguntas frecuentes
¿Qué significa el error 40104?
Que la forma de pago no es una clave del catálogo c_FormaPago.
¿Puedo escribir el nombre de la forma de pago?
No. Debe ser la clave de dos dígitos.
¿Por qué 3 no sirve?
El catálogo usa dos dígitos; la clave correcta es 03.
¿Qué clave uso si el pago será diferido?
Con método PPD, la regla CFDI40105 pide la clave 99 (por definir); confirma el caso con tu contador.
¿Es lo mismo que el 40124?
No. El 40124 revisa el método de pago (PUE o PPD); el 40104, la clave de forma de pago.
¿Se genera UUID con este error?
No. El comprobante se rechaza antes del timbrado.
¿Todavía no se resuelve?
Si después de revisar estos puntos el error continúa, escríbenos desde la página de contacto con el código del error y el XML que intentaste timbrar (nunca envíes contraseñas ni la llave privada del CSD). Si aún no tienes cuenta, crea la tuya y empieza a facturar con validaciones previas.