Error CFDI40186 al timbrar: el Importe de la retención del concepto está fuera de los límites permitidos
El error CFDI40186 aparece cuando el Importe de una retención dentro de un concepto no está entre el límite inferior y el superior que se calculan a partir de la Base y de la TasaOCuota. Si la base es 1000.00 y la tasa de retención es de 0.100000, el importe esperado es 100.00; un 10.00 o un 1000.00 caen fuera. Aquí verás cómo reconstruir el importe y cómo evitar los errores de captura.
Resumen rápido del error
- Código: CFDI40186
- Campo: Importe
- Nodo del XML:
cfdi:Conceptos/cfdi:Concepto/cfdi:Impuestos/cfdi:Retenciones/cfdi:Retencion - Regla del SAT (Anexo 20): El valor de este atributo debe ser mayor o igual que el límite inferior y menor o igual que el límite superior.
- Mensaje de rechazo: El valor del campo Importe que corresponde a Retención no se encuentra entre el limite inferior y superior permitido.
- Cuándo aparece: al timbrar, antes de que se genere el UUID.
¿Qué significa el error CFDI40186?
El importe de una retención en el concepto depende de dos datos: la base sobre la que se retiene y la tasa o cuota. El SAT calcula un intervalo aceptable alrededor del resultado de multiplicarlos, para absorber redondeos. Si tu importe queda fuera, la regla CFDI40186 rechaza el comprobante.
Es la regla gemela de CFDI40180, que hace lo mismo con los traslados. Aquí se trata de retenciones, que tienen su propio nodo y sus propias reglas de tipo de factor (CFDI40184) y de tasa (CFDI40185).
Dónde se valida: el nodo Retención del concepto
La validación se aplica al atributo Importe de cada cfdi:Retencion dentro del cfdi:Impuestos de un concepto, usando la Base, el Impuesto, el TipoFactor y la TasaOCuota del mismo renglón.
- CFDI40181: la
Basede la retención debe ser mayor que cero. - CFDI40182: el
Impuestodebe estar enc_Impuesto. - CFDI40183: el
TipoFactordebe estar enc_TipoFactor. - CFDI40184: el
TipoFactordebe ser distinto de Exento. - CFDI40185: la
TasaOCuotadebe corresponder al catálogo y al impuesto. - CFDI40186: el
Importedebe estar entre los límites (esta ficha).
Causas más comunes del error CFDI40186
- Se capturó la tasa como importe. Se escribió
0.10donde iba100.00. - La base no coincide con el concepto. Se retuvo sobre un monto distinto del importe del concepto.
- Se cambió la tasa y no el importe. Se actualizó la tasa de la retención pero el importe quedó con el valor anterior.
- Se redondeó mal. El importe se redondeó antes de aplicar la tasa.
- Se usó la tasa de otro impuesto. Se aplicó la del ISR a una retención de IVA.
- El descuento no se restó. La base incluye un descuento que no se aplicó al importe.
Cómo corregir el error CFDI40186 paso a paso
- Anota la base y la tasa. Toma los valores del mismo renglón de retención.
- Calcula el importe. Multiplica la base por la tasa y redondea a los decimales de la moneda.
- Compara con el XML. Identifica si el importe es mayor, menor o está en otra escala.
- Revisa la tasa. Que corresponda al impuesto retenido (CFDI40185).
- Revisa la base. Que sea la del concepto menos el descuento, si aplica.
- 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 una retención de ISR con un importe que no corresponde a la base y la tasa; los importes son ficticios:
Incorrecto:
<cfdi:Retencion Base="1000.00" Impuesto="001" TipoFactor="Tasa" TasaOCuota="0.100000" Importe="10.00" />
Correcto:
<cfdi:Retencion Base="1000.00" Impuesto="001" TipoFactor="Tasa" TasaOCuota="0.100000" Importe="100.00" />
Los importes son ficticios: 1000.00 × 0.100000 = 100.00. La tasa del ejemplo es solo ilustrativa.
Que el sistema calcule el importe desde la base
Para evitar este error, el importe de la retención no debería capturarse a mano: el sistema puede calcularlo a partir de la base y de la tasa de cada renglón y recalcularlo cada vez que cambie alguno de los dos. Si manejas clientes que retienen, configura sus retenciones una sola vez en su ficha, con el impuesto y la tasa correspondientes. Antes de timbrar, una revisión que multiplique la base por la tasa y compare con el importe detecta las diferencias de escala, como poner un porcentaje donde va un monto. Para repasar la estructura del concepto, 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 CFDI40180 (Importe): el importe de un traslado del concepto debe estar entre los límites.
- Error CFDI40185 (TasaOCuota): la tasa de la retención debe corresponder al catálogo y al impuesto.
- Error CFDI40184 (TipoFactor): en una retención el factor debe ser distinto de Exento.
- Error CFDI40181 (Base): la base de una retención debe ser mayor que cero.
- Error CFDI40182 (Impuesto): el impuesto de la retención debe estar en c_Impuesto.
Consulta también el Centro de Soluciones con todos los errores del SAT.
Preguntas frecuentes
¿Qué significa el error 40186?
Que el importe de la retención no está entre los límites calculados con la base y la tasa.
¿Cómo calculo el importe?
Multiplicando la base por la tasa y redondeando a los decimales de la moneda.
¿Es lo mismo que el 40180?
No. El 40180 es la regla equivalente para traslados.
¿Y si la tasa es incorrecta?
Entonces la regla aplicable es la 40185.
¿Puedo capturar el importe a mano?
Es mejor que el sistema lo calcule desde la base y la tasa.
¿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.