Error CFDI40169 al timbrar: el Descuento del concepto es mayor que su Importe
El error CFDI40169 aparece cuando, dentro de un cfdi:Concepto, el atributo Descuento es mayor que el atributo Importe de ese mismo concepto. Un descuento no puede quitar más dinero del que vale la línea: como máximo puede igualarla. Esta guía se centra en el descuento a nivel de concepto y en cómo se calcula contra el importe de cada renglón.
Resumen rápido del error
- Código: CFDI40169
- Campo: Descuento
- Nodo del XML:
cfdi:Comprobante/cfdi:Conceptos/cfdi:Concepto - Regla del SAT (Anexo 20): El valor registrado debe ser menor o igual al atributo Importe.
- Mensaje de rechazo: El valor del campo Descuento es mayor que el campo Importe.
- Cuándo aparece: al timbrar, antes de que se genere el UUID.
¿Qué significa el error CFDI40169?
En cada concepto, el Importe es el resultado de multiplicar Cantidad por ValorUnitario, y el Descuento es la parte de ese importe que se rebaja. La regla CFDI40169 compara los dos valores de la misma línea: Descuento debe ser menor o igual a Importe. Cuando son iguales, el concepto queda sin cobro; cuando el descuento es mayor, el PAC rechaza el comprobante antes de asignar UUID.
Esta validación no revisa los decimales del descuento (eso corresponde a CFDI40168) ni el total de descuentos del comprobante (CFDI40110 y CFDI40111). Aquí solo importa la comparación entre dos atributos del mismo concepto.
Dónde se valida: el nodo Concepto: Descuento frente a Importe
La regla se ejecuta una vez por cada cfdi:Concepto. Un comprobante con varias líneas puede pasar sin problema en unas y fallar en otra, y el rechazo señala el concepto cuyo descuento excede su importe.
- Concepto:
Descuentomenor o igual aImporte(CFDI40169, esta ficha). - Concepto: decimales del
Descuentosegún elImporte(CFDI40168). - Comprobante:
Descuentomenor o igual alSubtotal(CFDI40110) y coherente con la suma de los conceptos (CFDI40111).
Causas más comunes del error CFDI40169
- Se capturó un porcentaje como si fuera monto. Un
Descuento="15"sobre un importe de10.00equivale a quitar 15 pesos, no el 15 %. - El descuento general se copió en cada concepto. Un descuento de la factura completa se repite en todas las líneas en lugar de repartirse.
- El importe cambió después de capturar el descuento. Se redujo la cantidad o el precio y el descuento quedó con el valor anterior.
- Se sumaron descuentos de promociones distintas. Por ejemplo, una promoción de línea más un cupón, que juntos superan el importe.
- Se usó el total con impuestos como base. El descuento se calculó sobre un monto con IVA y no sobre el importe del concepto sin impuestos.
Cómo corregir el error CFDI40169 paso a paso
- Ubica el concepto que falla. Compara
ImporteyDescuentoen cadacfdi:Conceptodel XML. - Recalcula el importe. Multiplica
CantidadporValorUnitarioy confirma el resultado. - Corrige el descuento. Debe ser como máximo igual al importe. Si el porcentaje es 15 %, calcula el monto sobre el importe de esa línea.
- Reparte los descuentos generales. Si el descuento es de toda la venta, distribúyelo entre los conceptos de forma que ninguno exceda su importe.
- Revisa el efecto en los impuestos. La base del impuesto es el importe menos el descuento; actualízala después de corregir (CFDI40181 en retenciones).
- Vuelve a timbrar. Con el descuento dentro del límite, el PAC sigue con las demás reglas.
Ejemplo en el XML: incorrecto y correcto
Ejemplo con un concepto de 10 piezas a 100.00; los datos son ficticios:
Incorrecto:
<cfdi:Concepto Cantidad="10" ValorUnitario="100.00" Importe="1000.00" Descuento="1200.00" ... />
Correcto:
<cfdi:Concepto Cantidad="10" ValorUnitario="100.00" Importe="1000.00" Descuento="150.00" ... />
El descuento de 150.00 equivale a 15 % del importe. El resto de los atributos del concepto (ClaveProdServ, ClaveUnidad, ObjetoImp, entre otros) se omiten por brevedad.
Cómo calcular un descuento por porcentaje
Si tu política es un porcentaje, multiplica el importe de cada concepto por el porcentaje y redondea al mismo número de decimales que el Importe. Con un importe de 1,000.00 y 15 %, el descuento es 150.00 y la base para impuestos queda en 850.00. No aplicar el porcentaje al total de la venta y copiar el resultado en cada línea evita la causa más frecuente de este rechazo. Para descuentos que se otorgan después de la venta, como una bonificación posterior, consulta con tu contador si corresponde una nota de crédito en lugar de modificar la factura original.
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 CFDI40168 (Descuento): el descuento debe tener los decimales del importe del concepto.
- Error CFDI40110 (Descuento): el descuento del comprobante no puede exceder el subtotal.
- Error CFDI40111 (Descuento): el descuento del comprobante debe coincidir con la suma de los conceptos.
- Error CFDI40112 (Descuento): el descuento del comprobante respeta los decimales de la moneda.
- Error CFDI40166 (ValorUnitario): el valor unitario debe ser mayor que cero en ingreso, egreso y nómina.
Consulta también el Centro de Soluciones con todos los errores del SAT.
Preguntas frecuentes
¿Puede el descuento ser igual al importe?
Sí, la regla acepta menor o igual. Aun así revisa con tu contador si conviene facturar un concepto sin cobro.
¿El descuento incluye IVA?
No. Se calcula sobre el importe del concepto, antes de impuestos.
¿Cómo aplico un descuento a toda la factura?
Repártelo entre los conceptos para que cada uno quede dentro de su importe y la suma coincida con el descuento del comprobante.
¿Qué diferencia hay con CFDI40110?
CFDI40169 compara el descuento de un concepto con su importe; CFDI40110 compara el descuento del comprobante con el subtotal.
¿Se genera UUID con este error?
No. El comprobante se rechaza antes del timbrado y se corrige antes de volver a emitir.
¿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.