Si tienes un complemento de pago en dólares (USD) o euros (EUR) y el SAT o tu PAC te rechaza el CFDI con los errores CRP20265, CRP20268 o CRP20274, es muy probable que el problema no esté en los impuestos — sino en un solo campo: EquivalenciaDR.
¿Tienes un CFDI con errores?
Sube tu archivo XML y obtén un diagnóstico detallado en segundos. Gratis, sin registro.
Validar mi CFDI ahora →¿Qué es el campo EquivalenciaDR?
Cuando emites una factura en una moneda extranjera (por ejemplo USD) pero el pago se realiza en pesos mexicanos (MXN), el SAT requiere que especifiques el tipo de cambio que se usó. Ese tipo de cambio se llama EquivalenciaDR.
En el XML del Complemento de Pago 2.0, aparece así:
<pago20:DoctoRelacionado
IdDocumento="..."
MonedaDR="USD"
EquivalenciaDR="17.2500"
...
/>
EquivalenciaDR es la cantidad de pesos que equivale a 1 unidad de la moneda del documento (MonedaDR).
Si la factura es en USD y el pago es en MXN, y el tipo de cambio del día fue $17.25 pesos por dólar, entonces
EquivalenciaDR="17.2500".
Por qué es el campo que más falla
A diferencia de los montos de impuestos (que vienen calculados por tu sistema de facturación), el EquivalenciaDR lo escribe el contador o el emisor a mano al momento de capturar el pago.
Un error de un decimal — escribir 0.05817 en lugar de 17.2000 — hace que todos los cálculos de ImpuestosP queden mal, generando una cascada de errores.
La cascada de errores
Cuando EquivalenciaDR tiene el valor incorrecto, el SAT detecta inconsistencias en tres cálculos distintos:
| Código de error | Qué valida el SAT |
|-----------------|-------------------|
| CRP20265 | TrasladoP.Importe no cuadra con la suma de impuestos trasladados de los documentos relacionados |
| CRP20268 | TrasladoP.Base no corresponde a la base gravable calculada |
| CRP20274 | RetencionP.Importe no cuadra con las retenciones de los documentos relacionados |
Los tres errores tienen la misma causa raíz: EquivalenciaDR incorrecto.
Cómo calcular el EquivalenciaDR correcto
La fórmula es sencilla:
EquivalenciaDR = ImporteDR / (Monto del pago en MonedaDR)
Donde:
- ImporteDR = el importe del documento relacionado en moneda del pago (MXN)
- Monto en MonedaDR = cuánto de la moneda del documento (USD) cubre este pago
Ejemplo práctico
Tienes una factura de $1,000 USD y realizas un pago de $17,250 MXN que cubre exactamente esa factura.
EquivalenciaDR = 17,250 / 1,000 = 17.2500
Si en vez de 17.2500 escribiste 0.0579, el SAT rechaza el CFDI con CRP20265, CRP20268 y CRP20274.
Cómo verificar si tu EquivalenciaDR está mal
La forma más rápida es usar el Validador de CFDI de ALCE Fiscal. Si tu CFDI tiene EquivalenciaDR incorrecto:
- Detecta automáticamente el error como causa raíz
- Calcula el valor correcto de EquivalenciaDR
- Te muestra el valor sugerido para que lo corrijas
- Ofrece corregirlo automáticamente y descargar el XML listo para retimbrar
¿Tienes este error en tu CFDI?
Sube tu XML y te calculamos el EquivalenciaDR correcto en segundos.
Diagnosticar mi CFDI →Casos especiales
Cuando la factura y el pago son en la misma moneda
Si MonedaDR = MonedaP (por ejemplo, ambas en MXN), el valor de EquivalenciaDR debe ser siempre 1 (o no incluirse, ya que el SAT lo asume como 1).
Cuando hay múltiples documentos relacionados con distintos tipos de cambio
Cada DoctoRelacionado puede tener su propio EquivalenciaDR. Si pagaste varias facturas en USD en distintas fechas y con distintos tipos de cambio, cada una debe llevar el tipo de cambio correspondiente a su fecha de emisión o al tipo de cambio pactado.
Cuántos decimales usar
El SAT permite hasta 10 decimales en EquivalenciaDR. Para evitar errores de redondeo, se recomienda usar al menos 4 decimales.
Resumen
- EquivalenciaDR es el tipo de cambio entre la moneda de la factura y la moneda del pago
- Un valor incorrecto genera los errores CRP20265, CRP20268 y CRP20274 en cascada
- La fórmula para calcularlo es:
ImporteDR ÷ monto en moneda extranjera - Si MonedaDR = MonedaP, el valor debe ser 1
- Un validador de CFDI puede detectarlo y calcular el valor correcto automáticamente