# CRP20201

Source: https://xmlvalid.com/rules/CRP20201

> El valor del campo TotalRetencionesIVA no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos ImporteP de los impuestos retenidos registrados en el elemento RetencionP donde el atributo ImpuestoP contenga el valor IVA por el valor registrado en el atributo TipoCambioP de cada nodo Pago (…, …).

- Level: error
- Rule sets: SAT validations of CFDI 4.0 and Pagos 2.0 Matrices of 25 March 2026 and Pagos 2.0 rev. B
- Context: `pago20:Pagos/pago20:Totales`
- Test: `not(@TotalRetencionesIVA) or abs(mx:dec(@TotalRetencionesIVA) - mx:withheld($pagos, '002')) le 0.005`

In English: TotalRetencionesIVA must be the sum, rounded, of each payment's withheld VAT (RetencionP with ImpuestoP 002) times its TipoCambioP: the totals are in pesos.

Validate a document against these rules: https://xmlvalid.com/validate
