Error CFDI40178: traslado con Tasa o Cuota sin importe
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40178 al timbrar: un traslado con Tasa o Cuota debe registrar TasaOCuota e Importe

El error CFDI40178 aparece cuando el traslado de un concepto declara TipoFactor="Tasa" o "Cuota" y no incluye TasaOCuota o Importe. Es el caso opuesto al del traslado exento. Esta guía se centra en lo que se omite: por qué un producto a tasa cero también debe llevar ambos atributos y cómo revisar cada línea del concepto.

Resumen rápido del error

  • Código: CFDI40178
  • 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 Tasa o Cuota, se deben registrar los atributos TasaOCuota e Importe.
  • Mensaje de rechazo: Si el valor registrado en el campo TipoFactor que corresponde a Traslado es Tasa o Cuota, se deben registrar los campos TasaOCuota e Importe.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40178?

Con un factor de Tasa o de Cuota, el traslado calcula un importe a partir de la base: el porcentaje o la cantidad fija va en TasaOCuota y el resultado, en Importe. La regla CFDI40178 exige ambos atributos siempre que el factor sea alguno de esos dos.

Esto incluye la operación gravada a tasa cero. Aunque el impuesto resultante sea cero, el traslado declara TasaOCuota="0.000000" e Importe="0.00"; no se omiten. Es una diferencia clave con el factor Exento, que sí se declara sin esos atributos (CFDI40177). Conviene confirmar con el contador cuál de los dos tratamientos corresponde a cada producto.

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, cuando TipoFactor es Tasa o Cuota.

  • CFDI40176: el TipoFactor debe estar en el catálogo c_TipoFactor.
  • CFDI40177: con Exento, TasaOCuota e Importe no deben existir.
  • CFDI40178: con Tasa o Cuota, ambos son requeridos (esta ficha).
  • CFDI40179: la TasaOCuota debe corresponder al catálogo c_TasaOCuota y coincidir con el impuesto y el factor.
  • CFDI40180: el Importe debe estar entre el límite inferior y el superior.

Causas más comunes del error CFDI40178

  • El producto está a tasa cero y se omitió el importe. El sistema no escribe Importe cuando vale cero.
  • Falta la tasa en la ficha del producto. El producto tiene factor Tasa pero no una tasa configurada.
  • Se cambió el factor sin completar. La línea era exenta y se cambió a Tasa sin agregar los atributos.
  • La integración omite campos vacíos. El sistema externo no envía los atributos con valor cero.
  • Se borró el importe al editar. Al corregir una cantidad se eliminó el importe calculado.
  • Se editó el XML a mano. Se quitó Importe creyendo que se calcula solo.

Cómo corregir el error CFDI40178 paso a paso

  1. Localiza el traslado. Busca el concepto con TipoFactor igual a Tasa o Cuota.
  2. Agrega la tasa. Escribe TasaOCuota con seis decimales, por ejemplo 0.160000.
  3. Calcula el importe. Multiplica la base por la tasa y redondea a los decimales de la moneda.
  4. Revisa la tasa cero. Si el producto es gravado a tasa cero, escribe ambos atributos en cero.
  5. Revisa el resumen. El importe del resumen suma los de los conceptos (CFDI40221).
  6. Vuelve a timbrar. Con ambos atributos, el PAC pasa a las demás validaciones.

Ejemplo en el XML: incorrecto y correcto

Ejemplo de un concepto gravado a tasa cero al que le falta el importe; los datos son ficticios:

Incorrecto:

<cfdi:Traslado Base="500.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.000000" />

Correcto:

<cfdi:Traslado Base="500.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.000000" Importe="0.00" />

Los importes son ficticios. El ejemplo supone un producto gravado a tasa cero; si fuera exento, el traslado no llevaría tasa ni importe.

Revisa la tasa cero antes de emitir

La tasa cero es el origen más común de esta alarma porque se parece a «no hay impuesto» y es fácil omitirla. Para el SAT, es una operación gravada cuyo importe es cero y debe aparecer completa. Si tu sistema calcula el importe solo cuando es mayor que cero, haz una prueba con un producto de tasa cero y revisa el XML generado. Otra prueba útil es cambiar un producto de exento a tasa cero y comprobar que los atributos aparecen y desaparecen según el caso. Con ambas pruebas resueltas, la regla deja de ser una sorpresa. Para ver el contexto 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 40178?

Que un traslado con Tasa o Cuota no trae TasaOCuota o Importe.

¿Y si el producto está a tasa cero?

Debe llevar TasaOCuota 0.000000 e Importe 0.00.

¿Es lo mismo que el 40177?

No. El 40177 es el caso del factor exento, que no lleva esos atributos.

¿Cómo calculo el importe?

Base por tasa, redondeado a los decimales de la moneda.

¿Debo escribir seis decimales en la tasa?

Es el formato usual del catálogo; confírmalo 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