UBL-SR-47: When there are more than one payment means code, they shall be equal
Peppol BIS Billing 3.0.20 · UBL
Original rule text
[UBL-SR-47]-When there are more than one payment means code, they shall be equal
count(//cbc:PaymentMeansCode[not(preceding::cbc:PaymentMeansCode/. = .)]) <= 1UBL-SR-47 is a fatal rule in the schema layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected.
What this rule requires
The rule requires that if an invoice or credit note contains more than one cbc:PaymentMeansCode, all of them must have the same value. The test counts distinct values among all cbc:PaymentMeansCode elements and requires at most one distinct value. A document violates the rule when different payment means codes appear.
How to fix
Change every cbc:PaymentMeansCode in the document to the same value, or keep only one cbc:PaymentMeansCode. Check that no other cbc:PaymentMeansCode has a different value. The rule does not specify which code value is allowed, only that all occurrences must match.
Guidance on this rule. The original text above is authoritative.
Where to go next
No published Peppol BIS Billing UBL release comparison lists a change to UBL-SR-47.
Validate an invoice against these rules · All release changes