Error CFDI40117: TipoCambio no cumple el patrón | Solución
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40117 al timbrar: el atributo TipoCambio no cumple con el patrón requerido

El error CFDI40117 se produce cuando el valor de TipoCambio no respeta el formato definido por el SAT: solo dígitos, hasta 18 enteros y, si lleva decimales, hasta 6. Es común al facturar en dólares u otra moneda cuando el tipo de cambio se captura con comas, símbolos o demasiados decimales. Aquí te explicamos el formato correcto y cómo resolverlo.

Resumen rápido del error

  • Código: CFDI40117
  • Campo: TipoCambio
  • Nodo del XML: cfdi:Comprobante
  • Regla del SAT (Anexo 20): Este atributo debe cumplir con el patrón [0-9]{1,18}(.[0-9]{1,6})?.
  • Mensaje de rechazo: El campo TipoCambio no cumple con el patrón requerido.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40117?

El atributo TipoCambio del comprobante expresa cuántos pesos mexicanos equivalen a una unidad de la moneda del comprobante. Su patrón es: de 1 a 18 dígitos enteros y, de forma opcional, un punto seguido de 1 a 6 decimales.

Cualquier otro formato —con coma de miles, con símbolo de moneda, con más de seis decimales o con texto— provoca el rechazo CFDI40117.

Dónde se valida: el nodo Comprobante y TipoCambio

La validación recae sobre el atributo TipoCambio del nodo cfdi:Comprobante. Este atributo trabaja junto con Moneda: su presencia depende de la moneda elegida.

Las reglas relacionadas son: con Moneda="MXN" el tipo de cambio puede omitirse o valer 1 (CFDI40114); con una moneda distinta de MXN y XXX es obligatorio (CFDI40115); con XXX no debe registrarse (CFDI40116); y si el valor se aleja del rango permitido para la moneda, se requiere una clave de confirmación (CFDI40118).

Causas más comunes del error CFDI40117

  • Coma como separador de miles. Valores como 1,234.56 o 17,50 no cumplen el patrón. Solo se admite punto decimal.
  • Más de seis decimales. Capturar 17.1234567 excede el máximo permitido.
  • Símbolos o texto. Escribir $17.12, 17.12 MXN o USD 17.12.
  • Espacios. Un espacio al inicio o al final del valor.
  • Formato regional. Un sistema configurado para usar coma decimal (17,1234) exporta el valor con ese formato.
  • Campo vacío o nulo. Se envía TipoCambio="" o con el texto null en lugar de omitir el atributo.

Cómo corregir el error CFDI40117 paso a paso

  1. Verifica la moneda. Si facturas en MXN, omite TipoCambio o usa 1. Si usas USD u otra moneda, el atributo es obligatorio.
  2. Consulta el tipo de cambio aplicable. Para operaciones en moneda extranjera se usa el tipo de cambio publicado en el DOF. Confirma con tu contador cuál debes utilizar.
  3. Limpia el formato. Solo dígitos y un punto decimal; sin comas, espacios ni símbolos.
  4. Limita los decimales. Máximo seis. Redondea si tu fuente trae más.
  5. Revisa la confirmación. Si el valor se aleja del rango del catálogo, el PAC puede pedir una clave de confirmación (CFDI40118).
  6. Emite de nuevo. Con el atributo correcto, vuelve a timbrar.

Ejemplo en el XML: incorrecto y correcto

Ejemplo de una factura en dólares:

Incorrecto:

<cfdi:Comprobante ... Moneda="USD" TipoCambio="$17,1234567" ...>

Correcto:

<cfdi:Comprobante ... Moneda="USD" TipoCambio="17.123400" ...>

El valor del ejemplo es ilustrativo y no representa el tipo de cambio vigente.

Buenas prácticas con facturas en moneda extranjera

Mantén un único lugar donde se capture el tipo de cambio y valídalo antes de emitir: solo dígitos, punto decimal y un máximo de seis decimales. Si trabajas con una hoja de cálculo, formatea la celda como número con seis decimales y evita que se convierta a texto con símbolos. Revisa que la configuración regional de tu equipo use punto decimal. Y recuerda documentar la fecha y la fuente del tipo de cambio utilizado; tu contador te indicará cuál es la referencia aplicable a cada operación.

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

¿Cuántos decimales acepta el TipoCambio?

Hasta seis, y hasta 18 dígitos enteros.

¿Puedo usar coma como separador?

No. Solo punto decimal y sin separador de miles.

¿Qué tipo de cambio debo usar para facturar en USD?

Para operaciones en moneda extranjera se utiliza el tipo de cambio publicado en el DOF; consulta con tu contador la fecha de referencia aplicable.

¿Debo poner TipoCambio si facturo en pesos?

No es necesario. Si lo incluyes con MXN, debe valer 1.

¿Qué es la clave de confirmación?

Una clave que el PAC puede entregar cuando el tipo de cambio queda fuera de los límites del catálogo; la regla CFDI40118 explica cuándo se requiere.

¿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