Error CFDI40177: concepto exento con TasaOCuota o Importe
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40177 al timbrar: un traslado exento en el concepto no debe llevar TasaOCuota ni Importe

El error CFDI40177 aparece cuando el traslado de un concepto declara TipoFactor="Exento" y, al mismo tiempo, incluye TasaOCuota o Importe. Un traslado exento solo lleva Base, Impuesto y TipoFactor. Esta guía se centra en el concepto: por qué los catálogos de productos suelen copiar una tasa de más y cómo corregir el XML línea por línea.

Resumen rápido del error

  • Código: CFDI40177
  • Campo: TipoFactor
  • Nodo del XML: cfdi:Conceptos/cfdi:Concepto/cfdi:Impuestos/cfdi:Traslados/cfdi:Traslado
  • Regla del SAT (Anexo 20): Si el valor registrado es Exento no se deben registrar los atributos TasaOCuota ni Importe.
  • Mensaje de rechazo: Si el valor registrado en el campo TipoFactor que corresponde a Traslado es Exento no se deben registrar los campos TasaOCuota ni Importe.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40177?

Un traslado exento declara que la operación está dentro del ámbito del impuesto pero no genera cobro. Por eso no tiene tasa ni importe: no hay un porcentaje que aplicar ni una cantidad que trasladar. La regla CFDI40177 hace cumplir esa idea en cada concepto: si el factor es Exento, los atributos TasaOCuota e Importe no deben existir.

Esta regla se complementa con CFDI40178, que pide lo contrario cuando el factor es Tasa o Cuota: en ese caso TasaOCuota e Importe son obligatorios. El mismo principio aplica al resumen global en CFDI40213, que se revisa por separado.

Dónde se valida: el nodo Traslado del concepto

La validación se aplica al nodo cfdi:Traslado dentro de cfdi:Impuestos/cfdi:Traslados de cada concepto. Se evalúa solo cuando su TipoFactor es Exento.

  • CFDI40176: el TipoFactor debe estar en el catálogo c_TipoFactor.
  • CFDI40177: con Exento, sin TasaOCuota ni Importe (esta ficha).
  • CFDI40178: con Tasa o Cuota, TasaOCuota e Importe son requeridos.
  • CFDI40213: en el resumen global, un comprobante solo exento lleva Base, Impuesto y TipoFactor.
  • CFDI40184: en una retención, el factor debe ser distinto de Exento.

Causas más comunes del error CFDI40177

  • El producto tiene una tasa guardada. El catálogo del producto conserva 0.160000 y la plantilla la copia aunque el factor sea exento.
  • Se dejó la tasa en cero. Se escribió TasaOCuota="0.000000" y Importe="0.00" creyendo que equivalía a exento.
  • Se cambió el factor al final. La línea empezó con tasa y se cambió a Exento sin retirar los otros atributos.
  • El sistema calcula siempre el importe. El motor multiplica Base por la tasa aunque no haya tasa y escribe un importe.
  • Se mezclaron dos líneas. Un concepto con dos traslados, uno exento y otro con tasa, copió los datos del segundo al primero.
  • Se editó el XML a mano. Una corrección parcial dejó atributos que ya no corresponden.

Cómo corregir el error CFDI40177 paso a paso

  1. Localiza el concepto. Busca el traslado con TipoFactor="Exento" en el XML o en el detalle del concepto.
  2. Revisa sus atributos. Debe tener solo Base, Impuesto y TipoFactor.
  3. Elimina TasaOCuota e Importe. No los dejes en cero: deben desaparecer.
  4. Confirma el ObjetoImp. El concepto con traslado exento lleva ObjetoImp con el valor que corresponda (CFDI40171).
  5. Revisa el resumen global. Si todos los conceptos son exentos, ajusta también el traslado global (CFDI40213).
  6. Vuelve a timbrar. Con el traslado correcto, el PAC pasa a las demás validaciones.

Ejemplo en el XML: incorrecto y correcto

Ejemplo de un concepto exento con un traslado que trae atributos de más; los importes son ficticios:

Incorrecto:

<cfdi:Concepto ObjetoImp="02" Importe="800.00" ... >
  <cfdi:Impuestos>
    <cfdi:Traslados>
      <cfdi:Traslado Base="800.00" Impuesto="002" TipoFactor="Exento" TasaOCuota="0.160000" Importe="128.00" />
    </cfdi:Traslados>
  </cfdi:Impuestos>
</cfdi:Concepto>

Correcto:

<cfdi:Concepto ObjetoImp="02" Importe="800.00" ... >
  <cfdi:Impuestos>
    <cfdi:Traslados>
      <cfdi:Traslado Base="800.00" Impuesto="002" TipoFactor="Exento" />
    </cfdi:Traslados>
  </cfdi:Impuestos>
</cfdi:Concepto>

Los importes son ficticios. El concepto exento conserva la base y los otros dos atributos; la tasa y el importe desaparecen.

Cómo configurar un producto exento

La forma de evitar este error es resolver el tratamiento fiscal una sola vez, en la ficha del producto o servicio, y no en cada factura. Define para cada producto si es gravado, exento, a tasa cero o fuera del objeto del impuesto, y deja que el sistema genere los atributos que corresponden a cada caso. Si un producto cambia de tratamiento, actualiza la ficha y revisa las plantillas antes de emitir. Un producto exento no debe conservar una tasa guardada, porque tarde o temprano se copiará a un XML. Dejar la decisión en manos de tu contador y reflejarla en un solo lugar reduce rechazos y diferencias entre facturas. Para ver el panorama general, 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 40177?

Que un traslado exento de un concepto trae TasaOCuota o Importe.

¿Puedo poner la tasa en cero?

No. En un traslado exento esos atributos no deben existir.

¿Es lo mismo que el 40213?

No. El 40177 aplica al concepto; el 40213, al resumen global.

¿Qué atributos lleva un traslado exento?

Base, Impuesto y TipoFactor.

¿Y si el producto es a tasa cero?

Es otro tratamiento y sí lleva tasa e importe; consulta con 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