CFDI40103

Si existe el tipo de comprobante T, N o P el campo FormaPago no debe existir.

In English FormaPago (the payment form) must be left out of a transfer (T), payroll (N) or payment receipt (P).

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
/cfdi:Comprobante
Test
not($type = ('T', 'N', 'P') and @FormaPago)

Checked with CFDI 4.0