Error CFDI40185: TasaOCuota de retención no válida
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40185 al timbrar: la TasaOCuota de una retención no contiene un valor del catálogo c_TasaOCuota o está fuera de rango

El error CFDI40185 aparece cuando la TasaOCuota de una retención de concepto no es válida para el catálogo c_TasaOCuota, para el impuesto o para el tipo de factor. Es la regla gemela del CFDI40179, pero para impuestos retenidos, como el ISR o el IVA retenido en servicios entre empresas. Aquí verás qué revisar en una retención, por qué el factor Exento no aplica y cómo escribir la tasa.

Resumen rápido del error

  • Código: CFDI40185
  • Campo: TasaOCuota
  • Nodo del XML: cfdi:Concepto/cfdi:Impuestos/cfdi:Retenciones/cfdi:Retencion
  • Regla del SAT (Anexo 20): Si el valor registrado es fijo debe corresponder a un valor del catálogo c_TasaOCuota, coincidir con el tipo de impuesto registrado en el atributo Impuesto y el factor debe corresponder con el atributo TipoFactor.
  • Mensaje de rechazo: El valor del campo TasaOCuota que corresponde a Retención, no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40185?

En una retención, quien factura declara un impuesto que el cliente retiene y entera. La TasaOCuota indica la tasa de esa retención, por ejemplo 0.100000 para una retención de ISR del 10 %, y debe existir en c_TasaOCuota para el impuesto y el factor que declaras.

A diferencia de los traslados, una retención nunca puede ser Exento (CFDI40184), así que el factor siempre es Tasa o Cuota. Si el mensaje de error aparece, revisa tres datos juntos: la tasa, el impuesto y el factor; y recuerda que algunas tasas de retención pueden ser valores en rango y no fijos.

Dónde se valida: el nodo Tasa o cuota de la retención

La validación se aplica al atributo TasaOCuota de cada cfdi:Retencion dentro de cfdi:Impuestos de un concepto, con apoyo de Impuesto y TipoFactor.

  • CFDI40181: la Base de la retención debe ser mayor que cero.
  • CFDI40182: Impuesto debe estar en c_Impuesto.
  • CFDI40183 y CFDI40184: TipoFactor debe estar en el catálogo y ser distinto de Exento.
  • CFDI40185: TasaOCuota debe estar en el catálogo y combinar con impuesto y factor (esta ficha).
  • CFDI40186: el Importe debe estar entre el límite inferior y el superior.

Causas más comunes del error CFDI40185

  • La tasa no usa el valor del catálogo. Se escribió 10 o 10% en lugar de 0.100000.
  • La tasa queda fuera de lo permitido. Un valor que no corresponde a la retención del impuesto o que excede el rango del catálogo (para el ISR, hasta 0.350000; para el IVA retenido, hasta 0.160000).
  • El impuesto es distinto al de la tasa. Una tasa de ISR con impuesto IVA, o al revés.
  • El factor es Exento. Una retención no puede ser exenta; el error es el 40184.
  • Se copió la tasa de un traslado. El valor del IVA trasladado se usó en la retención.
  • El producto trae una retención vieja. El catálogo guarda una tasa que ya no aplica.

Cómo corregir el error CFDI40185 paso a paso

  1. Identifica la retención. Revisa el concepto del error y el impuesto que retiene.
  2. Escribe la tasa como aparece en el catálogo. Con seis decimales, por ejemplo 0.100000 para una retención del 10 %.
  3. Revisa el impuesto. 001 para ISR y 002 para IVA, según el caso.
  4. Revisa el factor. Usa Tasa para porcentajes o Cuota para montos fijos.
  5. Compara con el catálogo. Que la combinación exista en c_TasaOCuota.
  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 una retención de ISR con una tasa fuera del rango del catálogo (el ISR admite hasta 0.350000) y de otra correcta; los importes son ficticios:

Incorrecto:

<cfdi:Retencion Base="2000.00" Impuesto="001" TipoFactor="Tasa" TasaOCuota="0.400000" Importe="800.00" />

Correcto:

<cfdi:Retencion Base="2000.00" Impuesto="001" TipoFactor="Tasa" TasaOCuota="0.100000" Importe="200.00" />

Los importes y la tasa son ficticios. Confirma con tu contador qué retenciones aplican a tu operación; el sistema solo las emite con los valores del catálogo.

Retenciones: configúralas en el producto, no a mano

Las retenciones suelen aplicar a un tipo de servicio o a un cliente en particular, y es fácil que se registren a mano en cada factura. Si configuras la retención en el producto o en el cliente, el sistema repite siempre la misma tasa, el mismo impuesto y el mismo factor, y se reducen los errores por captura. Revisa los clientes que sí retienen, define la tasa con seis decimales y prueba una factura con cada combinación que manejas. Para repasar el resumen de impuestos de un comprobante con retenciones, 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 40185?

Que la tasa de una retención no es válida para el catálogo, el impuesto o el factor.

¿Cómo escribo una retención del 10 %?

Como 0.100000, con seis decimales.

¿Una retención puede ser exenta?

No. El factor debe ser distinto de Exento.

¿Es igual al 40179?

Es la misma regla, pero para retenciones en lugar de traslados.

¿Quién decide la tasa de retención?

Depende de tu operación; consulta a tu contador.

¿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