Error CFDI40103: FormaPago no debe existir con T, N o P
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40103 al timbrar: con TipoDeComprobante T, N o P, el atributo FormaPago no debe existir

El error CFDI40103 aparece cuando el comprobante es de traslado (T), nómina (N) o pago (P) y, aun así, incluye el atributo FormaPago. En estos tipos de comprobante no se declara una forma de pago en el encabezado, así que el atributo debe omitirse por completo. Aquí verás por qué una plantilla de factura de venta lo reintroduce y cómo evitarlo.

Resumen rápido del error

  • Código: CFDI40103
  • Campo: FormaPago
  • Nodo del XML: Comprobante
  • Regla del SAT (Anexo 20): Atributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante.
  • Mensaje de rechazo: Si existe el tipo de comprobante T, N o P el campo FormaPago no debe existir.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40103?

FormaPago expresa cómo se paga el bien o servicio que ampara el comprobante: efectivo, transferencia, tarjeta y otras. Es condicional, y la regla CFDI40103 deja claro que no debe existir con traslado, nómina o pago. En ingresos y egresos, en cambio, sí se usa, con las reglas CFDI40104 y CFDI40105.

La regla se activa por el tipo, no por el valor: no sirve dejar el atributo vacío ni con una clave neutra. Tiene que desaparecer del XML. Y se suma a otras reglas del mismo tipo de comprobante, como la que exige omitir MetodoPago con T o P (CFDI40125).

Dónde se valida: el nodo Comprobante y forma de pago

La validación se aplica al atributo FormaPago del nodo cfdi:Comprobante y depende del TipoDeComprobante del mismo nodo.

  • CFDI40103: con T, N o P, el atributo no debe existir (esta ficha).
  • CFDI40104: el valor debe estar en c_FormaPago.
  • CFDI40105: con MetodoPago PPD, la forma de pago debe ser 99.
  • CFDI40124: el MetodoPago debe estar en c_MetodoPago.
  • CFDI40125: con T o P, se omite el MetodoPago.

Causas más comunes del error CFDI40103

  • La plantilla viene de una factura de venta. Se cambió el tipo a T, N o P, pero la forma de pago se conservó.
  • El sistema siempre escribe el atributo. Lo agrega con un valor por defecto en todos los tipos.
  • Se capturó en nómina. Una pantalla de nómina pide la forma de pago como si fuera una venta.
  • Se confundió con el pago de un complemento. La forma de pago del pago va en el complemento, no en el encabezado.
  • Se eligió el tipo equivocado. Se quería emitir una factura y se escogió traslado.
  • Un sistema externo la envía vacía. El atributo viaja aunque no tenga valor.

Cómo corregir el error CFDI40103 paso a paso

  1. Confirma el tipo de comprobante. Revisa si es T, N o P.
  2. Quita FormaPago del encabezado. Elimina el atributo, no solo su valor.
  3. Revisa el método de pago. Con T o P también debe omitirse (CFDI40125).
  4. Revisa el subtotal. Con T o P debe ser cero (CFDI40109).
  5. Corrige la plantilla. Que no escriba el atributo en estos tipos.
  6. Se vuelve a timbrar. Con los datos coherentes, el PAC pasa a las demás validaciones.

Ejemplo en el XML: incorrecto y correcto

Ejemplo de un comprobante de pago con forma de pago en el encabezado; los datos son ficticios:

Incorrecto:

<cfdi:Comprobante TipoDeComprobante="P" FormaPago="03" SubTotal="0" Total="0" ... >

Correcto:

<cfdi:Comprobante TipoDeComprobante="P" SubTotal="0" Total="0" ... >

Los datos son ficticios. En el ejemplo correcto, la forma de pago del cobro se expresa dentro del complemento de pagos, no en el encabezado.

Una plantilla por tipo de comprobante

La causa de fondo de este rechazo suele ser una sola plantilla para todos los tipos. Es más seguro tener una por tipo: ingreso y egreso con forma y método de pago; traslado y pago sin ellos; nómina con su propio complemento. Si tu sistema decide qué atributos escribir según el tipo, haz una factura de prueba de cada uno antes de usarlos en producción y compara el XML con una lista de atributos permitidos. Al cambiar el tipo de un borrador, haz que el sistema limpie automáticamente los datos que ya no aplican. Para repasar los tipos de comprobante, 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

Consulta también el Centro de Soluciones con todos los errores del SAT.

Preguntas frecuentes

¿Qué significa el error 40103?

Que un comprobante T, N o P incluye el atributo FormaPago, que no debe existir.

¿Puedo dejarlo vacío?

No. El atributo debe omitirse.

¿Y en una factura de ingreso?

Ahí sí se usa, con las reglas 40104 y 40105.

¿Dónde va la forma de pago de un pago?

En el complemento de pagos.

¿Qué otro atributo se omite en T y P?

El método 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.

Regístrate