Catálogo SAT

Catálogo Moneda (c_Moneda) SAT | CFDI 4.0

c_Moneda es el catálogo oficial del SAT para identificar divisas en el CFDI 4.0. La columna "Decimales" determina el redondeo permitido, y su cruce con el campo TipoCambio evita errores de validación y rechazos de timbrado.

¿Qué es c_Moneda y para qué sirve? (En palabras simples)

En palabras simples: Este catálogo define la divisa (pesos, dólares, euros, etc.) en la que se expresan los montos de tu factura.

La regla más importante: La clave que elijas aquí dicta cuántos decimales puedes usar en tus importes y si estás obligado a declarar un tipo de cambio.

Estructura del Catálogo

Columna¿Para qué sirve?
c_MonedaClave oficial de la moneda según el estándar ISO 4217 (ej. MXN, USD, EUR).
DescripciónNombre descriptivo de la moneda para facilitar su identificación (ej. Peso Mexicano, Dólar Estadounidense).
DecimalesIndica el número máximo de decimales permitidos para redondear y expresar los importes monetarios en el comprobante.
Porcentaje variaciónLímite máximo que el tipo de cambio comercial puede variar respecto al FIX publicado por BANXICO. Si lo superas, necesitas una clave de confirmación.
Fecha inicio de vigenciaFecha a partir de la cual la clave de la moneda es válida y puede ser utilizada en un CFDI.
Fecha fin de vigenciaFecha en la que la clave deja de ser válida. Si el campo está vacío, indica que la moneda se encuentra actualmente vigente.

Reglas de Validación y Casos Especiales

El campo Moneda trabaja en conjunto con el campo TipoCambio y el TipoDeComprobante. Ten en cuenta las siguientes reglas de negocio para asegurar el timbrado:

  • Moneda Nacional (MXN): Si facturas en pesos, el campo TipoCambio no es obligatorio. Sin embargo, si tu sistema lo incluye, debe tener estrictamente el valor 1.
  • Moneda Extranjera: Para cualquier clave distinta a MXN y XXX (por ejemplo, USD o EUR), es obligatorio registrar el campo TipoCambio.
  • Clave XXX (Sin obligaciones de pago): Si usas la clave XXX, está estrictamente prohibido incluir el campo TipoCambio.
  • Recibos de Nómina: Si el TipoDeComprobante es N (Nómina), la moneda debe ser obligatoriamente MXN. No se permite timbrar nómina en moneda extranjera.
  • Límites de Variación: Si el valor de tu TipoCambio excede el límite establecido en la columna Porcentaje variación (comparado con el FIX de BANXICO), el SAT exige que incluyas el campo Confirmacion (un código especial proporcionado por tu PAC).

Errores Comunes y Soluciones

Error: Moneda extranjera sin Tipo de Cambio

"La moneda registrada es diferente de 'MXN' y 'XXX', pero no se incluyó el atributo TipoCambio."

🔴 Causa del Error: Declaraste una moneda extranjera (como Dólares o Euros) pero olvidaste especificar a cuánto equivale en pesos.

🛠️ Solución Manual: Agrega el campo TipoCambio en tu factura con el valor comercial correspondiente al día de la operación.

Error: Clave XXX con Tipo de Cambio

"Se registró la moneda 'XXX' y se incluyó el atributo TipoCambio."

🔴 Causa del Error: La clave XXX se usa para transacciones que no requieren conversión monetaria, pero tu sistema está enviando un valor de tipo de cambio.

🛠️ Solución Manual: Elimina por completo el campo TipoCambio de tu comprobante.

Error: Tipo de Cambio inválido para Pesos

"Se registró la moneda 'MXN' y el atributo TipoCambio contiene un valor distinto de '1'."

🔴 Causa del Error: Estás facturando en pesos mexicanos, pero el tipo de cambio declarado es diferente a 1.

🛠️ Solución Manual: Borra el campo TipoCambio o asegúrate de que su valor sea exactamente 1.

Error: Moneda inválida para Nómina

"El comprobante es de tipo 'N' (Nómina) y la moneda registrada es distinta de 'MXN'."

🔴 Causa del Error: Intentaste timbrar un recibo de nómina utilizando una moneda extranjera o la clave XXX.

🛠️ Solución Manual: Cambia el valor del campo Moneda a MXN. Los recibos de nómina en México solo pueden timbrarse en pesos.

Error: Exceso de decimales

"Los importes registrados en el comprobante tienen una cantidad de decimales mayor a la permitida por el catálogo c_Moneda para la divisa especificada."

🔴 Causa del Error: Tus importes (subtotal, total, impuestos) tienen más decimales de los que permite la moneda elegida (por ejemplo, usar 3 decimales en MXN cuando el catálogo solo permite 2).

🛠️ Solución Manual: Revisa la columna Decimales en el catálogo para tu moneda y redondea todos los importes de tu factura a ese límite (cero y hasta cuatro decimales, según la divisa).

Error: Tipo de cambio fuera de rango

"El tipo de cambio excede el porcentaje de variación permitido y no se incluyó el atributo Confirmacion."

🔴 Causa del Error: El tipo de cambio que ingresaste es inusualmente alto o bajo en comparación con el oficial de BANXICO, superando el límite de la columna Porcentaje variación.

🛠️ Solución Manual: Verifica que no haya un error de dedo en tu tipo de cambio. Si el valor es correcto y acordado comercialmente, debes solicitar a tu PAC una clave e ingresarla en el campo Confirmacion.

Preguntas frecuentes

¿Qué moneda debo usar para los recibos de nómina?

Para los comprobantes con TipoDeComprobante 'N' (Nómina), es obligatorio utilizar siempre la clave 'MXN' (Peso Mexicano). El SAT no permite timbrar nóminas en moneda extranjera.

¿Cuándo se debe utilizar la clave de moneda 'XXX'?

La clave 'XXX' se utiliza en comprobantes que no representan una transacción monetaria directa o cuando las reglas específicas del SAT lo exigen (por ejemplo, en ciertos comprobantes de traslado o pagos donde no aplica conversión). Al usarla, no debes incluir el campo TipoCambio.

¿Qué hago si mi tipo de cambio comercial es muy diferente al del SAT?

Si tu tipo de cambio supera el límite establecido en la columna 'Porcentaje variación' del catálogo (respecto al FIX de BANXICO), el SAT bloqueará el timbrado. Para solucionarlo, debes solicitar a tu Proveedor Autorizado de Certificación (PAC) una clave especial y colocarla en el campo Confirmacion de tu factura.

¿Necesitas generar tu factura 4.0?

Con LogiPro puedes crear tus facturas y Carta Porte en minutos. Cumple con todos los requisitos del SAT sin complicaciones.