Error CFDI40111 al timbrar: el Descuento del comprobante debe ser el redondeo de la suma de los descuentos de los conceptos
El error CFDI40111 aparece cuando el Descuento del comprobante no coincide con los descuentos de los conceptos: si algún concepto lleva descuento, el comprobante debe tener el atributo y su valor debe ser la suma redondeada de todos; si ninguno lo lleva, el atributo debe omitirse. Un ejemplo con cifras ficticias: descuentos de 12.50 y 7.50 en dos conceptos exigen un Descuento de 20.00 arriba. Aquí verás cómo calcularlo y qué hacer con los descuentos globales.
Resumen rápido del error
- Código: CFDI40111
- Campo: Descuento
- Nodo del XML:
Comprobante - Regla del SAT (Anexo 20): Cuando el TipoDeComprobante sea I, E o N y algún concepto incluya el atributo Descuento, debe existir este atributo y debe ser igual al redondeo de la suma de los atributos Descuento registrados en los conceptos; en otro caso se debe omitir este atributo.
- Mensaje de rechazo: El TipoDeComprobante no es I,E o N, y un concepto incluye el campo descuento.
- Cuándo aparece: al timbrar, antes de que se genere el UUID.
¿Qué significa el error CFDI40111?
El descuento del comprobante es el resultado de sumar los de cada concepto y redondear. Cuando hay descuento en conceptos de un ingreso, egreso o nómina, el total debe estar arriba; si no lo hay, el atributo debe omitirse. La regla CFDI40111 comprueba ambas cosas.
Se complementa con CFDI40110, que limita el descuento a no superar el subtotal; con CFDI40112, que revisa los decimales; y con CFDI40168 y CFDI40169, que revisan los descuentos dentro de los conceptos. El texto del mensaje del validador alude al caso de un tipo distinto de I, E o N con descuento en conceptos.
Dónde se valida: el nodo Comprobante y descuento
La validación se aplica al atributo Descuento del nodo cfdi:Comprobante y se evalúa frente a los Descuento de cada cfdi:Concepto.
- CFDI40108: con I, E o N, el subtotal debe ser el redondeo de la suma de los conceptos.
- CFDI40110: el descuento debe ser menor o igual que el subtotal.
- CFDI40111: el descuento debe ser la suma redondeada de los de los conceptos (esta ficha).
- CFDI40112: el descuento debe tener los decimales de la moneda.
- CFDI40168 y CFDI40169: reglas del
Descuentodentro del concepto.
Causas más comunes del error CFDI40111
- Se capturó un descuento global sin conceptos. El comprobante lleva un valor y los conceptos ninguno.
- Se capturó solo en conceptos. El comprobante omitió el atributo.
- La suma tiene un error. Un renglón se actualizó y el total no.
- Se redondeó cada concepto distinto. La suma de los redondeos no coincide con el redondeo de la suma.
- El tipo de comprobante no admite descuento. Un traslado o un pago con descuento en conceptos.
- Un descuento "por pronto pago". Se escribió arriba, sin distribuirlo en conceptos.
Cómo corregir el error CFDI40111 paso a paso
- Suma los descuentos de los conceptos. Usa los valores del XML.
- Redondea el resultado. A los decimales de la moneda.
- Compara con el
Descuentodel comprobante. Corrige la diferencia. - Si ningún concepto tiene descuento, omite el atributo. No lo escribas con cero.
- Revisa el tipo de comprobante. Con T o P, los conceptos no deben llevar descuento.
- 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 con descuentos en dos conceptos y un descuento global que no los suma; los importes son ficticios:
Incorrecto:
<cfdi:Comprobante TipoDeComprobante="I" SubTotal="200.00" Descuento="10.00" ... >
<cfdi:Concepto ... Importe="100.00" Descuento="12.50" />
<cfdi:Concepto ... Importe="100.00" Descuento="7.50" />
</cfdi:Comprobante>
Correcto:
<cfdi:Comprobante TipoDeComprobante="I" SubTotal="200.00" Descuento="20.00" ... >
<cfdi:Concepto ... Importe="100.00" Descuento="12.50" />
<cfdi:Concepto ... Importe="100.00" Descuento="7.50" />
</cfdi:Comprobante>
Los importes son ficticios: 12.50 + 7.50 = 20.00.
Descuentos globales: distribúyelos en los conceptos
Muchos sistemas permiten un descuento "global" capturado al pie de la factura. Para el XML, ese descuento debe repartirse entre los conceptos y luego sumarse arriba; si solo se escribe en el comprobante, esta regla lo rechaza. Una forma práctica es prorratear por importe de cada renglón y ajustar el último concepto con la diferencia de redondeo. Después, recalcula la base de los impuestos con el descuento aplicado. Revisa con tu contador cómo se registran los descuentos condicionados. Para repasar el cálculo, 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 CFDI40110 (Descuento): el descuento debe ser menor o igual que el subtotal.
- Error CFDI40112 (Descuento): el descuento debe tener los decimales de la moneda.
- Error CFDI40169 (Descuento): el descuento del concepto debe ser menor o igual al importe.
- Error CFDI40168 (Descuento): el descuento del concepto debe tener hasta los decimales del importe.
- Error CFDI40108 (SubTotal): con I, E o N, el subtotal debe ser el redondeo de la suma de los conceptos.
Consulta también el Centro de Soluciones con todos los errores del SAT.
Preguntas frecuentes
¿Qué significa el error 40111?
Que el descuento del comprobante no es la suma redondeada de los de los conceptos.
¿Qué pasa si no hay descuentos?
El atributo se omite.
¿Puedo poner un descuento solo arriba?
No. Debe estar repartido en los conceptos.
¿Cómo reparto un descuento global?
Con un prorrateo por importe, ajustando el redondeo; confírmalo con tu contador.
¿Qué otra regla limita el descuento?
La 40110: no puede superar el subtotal.
¿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.