Error CFDI40168: decimales del Descuento mayores al Importe
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40168 al timbrar: el Descuento tiene más decimales que el Importe del concepto

El error CFDI40168 aparece cuando el atributo Descuento de un concepto trae más decimales que el Importe del mismo concepto. Si el importe tiene dos decimales, el descuento no puede tener tres. Ocurre casi siempre cuando el descuento se calcula como porcentaje o se reparte entre varios conceptos, y el resultado queda sin redondear. Aquí verás cómo prorratear y redondear para evitarlo.

Resumen rápido del error

  • Código: CFDI40168
  • Campo: Descuento
  • Nodo del XML: cfdi:Conceptos/cfdi:Concepto
  • Regla del SAT (Anexo 20): El valor de este atributo debe tener hasta la cantidad de decimales que se tengan registrados en el atributo Importe del concepto.
  • Mensaje de rechazo: El valor del campo Descuento no contiene la misma cantidad de decimales registrados en el campo Importe del concepto.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40168?

El Descuento de un concepto es una cantidad de dinero y no puede tener mayor precisión que el Importe al que se resta. Si el importe es 100.00, el descuento puede ser 10.12, pero no 10.123. La regla CFDI40168 solo revisa los decimales, no que el descuento sea razonable; eso lo hace CFDI40169, que pide que sea menor o igual al importe.

Los descuentos con más decimales aparecen cuando se aplica un porcentaje, por ejemplo 12.5% sobre un importe de 99.99, o cuando un descuento global se divide entre conceptos. Cada reparto da cifras con muchos decimales que hay que redondear.

Dónde se valida: el nodo Concepto y descuento

La validación se aplica al atributo Descuento de cada cfdi:Concepto y lo compara con los decimales del Importe del mismo concepto.

  • CFDI40167: el Importe debe estar entre los límites de cantidad por valor unitario.
  • CFDI40168: el Descuento debe tener hasta los decimales del Importe (esta ficha).
  • CFDI40169: el Descuento debe ser menor o igual al Importe.
  • CFDI40220: el Importe de un traslado del resumen debe tener hasta los decimales de la moneda.
  • CFDI40204: el total de traslados debe tener hasta los decimales de la moneda.

Causas más comunes del error CFDI40168

  • El descuento es un porcentaje. Un 12.5% sobre 99.99 da 12.49875.
  • El descuento global se reparte. Se divide entre varios conceptos y cada parte queda con muchos decimales.
  • El sistema trabaja con más precisión. Calcula con seis decimales y no redondea al exportar.
  • Se importó desde una hoja de cálculo. La celda muestra dos decimales pero guarda más.
  • Se aplicó un descuento unitario. Se multiplicó por la cantidad sin redondear.
  • La moneda cambió. El importe usa decimales distintos a los del descuento.

Cómo corregir el error CFDI40168 paso a paso

  1. Identifica el concepto. Revisa cuántos decimales tiene su Importe.
  2. Redondea el descuento. Déjalo con esos mismos decimales como máximo.
  3. Ajusta el reparto. Si el descuento es global, absorbe la diferencia de centavos en el último concepto.
  4. Revisa que no supere el importe. Debe ser menor o igual al Importe (CFDI40169).
  5. Recalcula impuestos. La base y el IVA deben salir del importe menos el descuento ya redondeado.
  6. Vuelve a timbrar. Con decimales coherentes, el PAC pasa a las demás validaciones.

Ejemplo en el XML: incorrecto y correcto

Ejemplo de un concepto con descuento de 12.5% sin redondear; los importes son ficticios:

Incorrecto:

<cfdi:Concepto Cantidad="1" ValorUnitario="99.99" Importe="99.99" Descuento="12.49875" ... />

Correcto:

<cfdi:Concepto Cantidad="1" ValorUnitario="99.99" Importe="99.99" Descuento="12.50" ... />

Los importes son ficticios. 12.5% de 99.99 es 12.49875, que se redondea a 12.50. Tras redondear, revisa la base y el IVA del concepto.

Cómo repartir un descuento global entre conceptos

Cuando el descuento se otorga sobre toda la compra, repartirlo proporcionalmente casi nunca da centavos exactos. Un método sencillo es calcular el descuento de cada concepto, redondearlo a los decimales del importe y, al final, comparar la suma con el descuento total deseado. Si hay una diferencia de uno o dos centavos, se asigna al concepto de mayor importe. Así el total del comprobante coincide con lo que acordaste con el cliente y cada línea cumple la regla de decimales. Haz esta lógica una vez en el sistema, no a mano en cada factura. Para repasar el cálculo de impuestos con descuento, 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 40168?

Que el descuento tiene más decimales que el importe del concepto.

¿Cuántos decimales puede tener?

Hasta los mismos que el importe del concepto.

¿Por qué pasa con porcentajes?

Porque el porcentaje genera cifras con muchos decimales sin redondear.

¿Qué hago con un descuento global?

Repártelo por concepto, redondea y absorbe la diferencia de centavos en una línea.

¿Es lo mismo que el 40169?

No. El 40169 pide que el descuento no supere el importe.

¿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