Error CFDI40181: Base de la retención debe ser mayor a cero
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40181 al timbrar: la Base de la retención en el concepto debe ser mayor que cero

El error CFDI40181 aparece cuando el atributo Base de un cfdi:Retencion dentro de un concepto vale cero o es negativo. La base es el monto sobre el que se calcula el impuesto retenido, como el ISR o el IVA retenido, y el SAT exige que sea positiva. Esta guía se centra en las retenciones: te explica de dónde sale la base, por qué se vuelve negativa o cero en comprobantes de egreso o con descuentos, y cómo corregir el XML antes de volver a timbrar.

Resumen rápido del error

  • Código: CFDI40181
  • Campo: Base
  • Nodo del XML: cfdi:Comprobante/cfdi:Conceptos/cfdi:Concepto/cfdi:Impuestos/cfdi:Retenciones/cfdi:Retencion
  • Regla del SAT (Anexo 20): El valor debe ser mayor que cero.
  • Mensaje de rechazo: El valor del campo Base que corresponde a Retención debe ser mayor que cero.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40181?

Cuando un concepto lleva impuestos (ObjetoImp="02"), su nodo cfdi:Impuestos puede incluir cfdi:Retenciones además de los traslados. Cada cfdi:Retencion declara su Base, el Impuesto retenido, el TipoFactor, la TasaOCuota y el Importe. La base de la retención es el monto del concepto sobre el que se aplica la retención; en general parte del importe del concepto menos su descuento.

La regla CFDI40181 revisa únicamente que la base sea mayor que cero. El cálculo del importe retenido y los totales del resumen se validan en otras reglas. En los comprobantes con retención, un cero o un signo negativo en la base suele indicar que el sistema armó el nodo con datos de un documento previo o con importes de una devolución.

Dónde se valida: el nodo Retención del concepto y Base

La validación se aplica a cada cfdi:Retencion dentro de cfdi:Concepto/cfdi:Impuestos/cfdi:Retenciones. Es la regla equivalente, para retenciones, de la que revisa la base de los traslados; si tu comprobante tiene ambos nodos, se evalúan por separado.

  • Retenciones del concepto: la base debe ser mayor que cero (CFDI40181).
  • Traslados del concepto: la misma exigencia está en CFDI40174.
  • En una retención el TipoFactor debe ser Tasa o Cuota, nunca Exento (CFDI40184).
  • El importe retenido del concepto debe estar dentro de los límites permitidos (CFDI40186).
  • A nivel comprobante, el resumen suma los importes retenidos de los conceptos (CFDI40211).

Causas más comunes del error CFDI40181

  • La base se capturó con signo negativo. En notas de crédito o devoluciones algunos sistemas arrastran importes negativos; en el CFDI los importes se declaran en positivo.
  • La base quedó en cero porque no se calculó. El nodo de retenciones se generó antes de calcular el importe del concepto y conservó Base="0.00".
  • El descuento igualó al importe. Un descuento total deja la base en cero y la retención ya no tiene sustento.
  • Se copió la retención de otro concepto. Se duplicó el nodo de impuestos de otro renglón sin recalcular la base.
  • Se declaró una retención que no aplica. El concepto no está sujeto a retención, pero la plantilla agrega siempre el nodo con base cero.

Cómo corregir el error CFDI40181 paso a paso

  1. Localiza la retención con error. Revisa cada cfdi:Concepto con ObjetoImp="02" y mira el atributo Base de sus cfdi:Retencion.
  2. Revisa el signo. Si el valor es negativo, conviértelo a positivo; el tipo de comprobante (por ejemplo egreso) ya indica el sentido de la operación.
  3. Calcula la base correcta. Toma el Importe del concepto, réstale el Descuento si lo hay y verifica que el resultado sea mayor que cero.
  4. Recalcula el importe retenido. Multiplica la base por la tasa y redondea a los decimales de la moneda.
  5. Confirma que la retención realmente aplica. Si no aplica a la operación, elimina el nodo de retención; consulta con tu contador si dudas.
  6. Vuelve a timbrar. Con una base positiva el PAC continúa con las demás validaciones.

Ejemplo en el XML: incorrecto y correcto

Ejemplo de una retención de ISR sobre un concepto de 2,000.00; las cifras y la tasa son ilustrativas:

Incorrecto:

<cfdi:Concepto ... Importe="2000.00" ObjetoImp="02">
  <cfdi:Impuestos>
    <cfdi:Retenciones>
      <cfdi:Retencion Base="-2000.00" Impuesto="001" TipoFactor="Tasa" TasaOCuota="0.100000" Importe="200.00"/>
    </cfdi:Retenciones>
  </cfdi:Impuestos>
</cfdi:Concepto>

Correcto:

<cfdi:Concepto ... Importe="2000.00" ObjetoImp="02">
  <cfdi:Impuestos>
    <cfdi:Retenciones>
      <cfdi:Retencion Base="2000.00" Impuesto="001" TipoFactor="Tasa" TasaOCuota="0.100000" Importe="200.00"/>
    </cfdi:Retenciones>
  </cfdi:Impuestos>
</cfdi:Concepto>

La base correcta es 2,000.00 y la retención al 10 % es 200.00. La tasa y las cifras son ilustrativas: si una operación lleva retención, la tasa que aplica debe confirmarla tu contador.

Cómo revisar las retenciones antes de timbrar

Antes de emitir un comprobante con retenciones, haz una revisión por concepto: anota el importe, el descuento, la base, la clave del impuesto retenido, la tasa y el importe retenido. Si la base de algún renglón es cero o negativa, detén la emisión y busca el origen: normalmente es un cálculo que no se ejecutó, un descuento mal capturado o una plantilla heredada de otro documento. Verifica también que el signo de todos los importes sea positivo, incluso en egresos. Y recuerda que la suma de los importes retenidos de los conceptos debe coincidir con el resumen del comprobante, así que un error en una sola base contamina el total retenido. Cuando una operación incluya retención, confirma con tu contador qué impuestos se retienen y con qué tasa.

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é es la Base de una retención?

Es el monto del concepto sobre el que se calcula el impuesto retenido. En general es el importe del concepto menos su descuento.

¿Puedo declarar la base en negativo en un egreso?

No. La regla exige un valor mayor que cero también en comprobantes de egreso; el tipo de comprobante ya expresa el sentido de la operación.

¿Es lo mismo que CFDI40174?

Es la misma exigencia pero aplicada a las retenciones del concepto; CFDI40174 se aplica a los traslados.

¿Qué hago si el concepto no lleva retención?

Elimina el nodo de retención y confirma con tu contador el valor de ObjetoImp para ese concepto.

¿Se genera UUID con CFDI40181?

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.

Regístrate