CRP20274

El campo ImporteP que corresponde a Traslado, no es igual a la suma de los importes de los impuestos registrados en el documento relacionado donde el impuesto del documento relacionado sea igual al campo ImpuestoP de este elemento y la TasaOCuotaP del documento relacionado sea igual al campo TasaOCuotaP de este elemento (…, documentos …).

In English A payment's ImporteP must be the sum of its related documents' ImporteDR with the same tax, factor and rate, each divided by its EquivalenciaDR. Compared within one unit of the payment's currency.

error: the document is invalid

What the rule checks

As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.

Context
pago20:ImpuestosP/pago20:TrasladosP/pago20:TrasladoP
Test
not(@ImporteP) or abs(mx:dec(@ImporteP) - $amounts) le $unit

Checked with CFDI 4.0