BR-CL-16: Payment means in an invoice MUST be coded using UNCL4461 code list
Peppol BIS Billing 3.0.20 · UBL
Original rule text
[BR-CL-16]-Payment means in an invoice MUST be coded using UNCL4461 code list
( ( not(contains(normalize-space(.),' ')) and contains( ' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 74 75 76 77 78 91 92 93 94 95 96 97 98 ZZZ ',concat(' ',normalize-space(.),' ') ) ) )BR-CL-16 is a fatal rule in the business layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected.
What this rule requires
The rule requires cac:PaymentMeans/cbc:PaymentMeansCode to contain a payment means code from the UNCL4461 list accepted by this rule. The value must not contain a space after surrounding whitespace is removed (i.e. it must be a single token), and the resulting token must be one of the codes explicitly listed in the test, such as 1, 10, 30, 58, or ZZZ. Because the rule is fatal, an invoice that does not meet this is rejected.
How to fix
Set cac:PaymentMeans/cbc:PaymentMeansCode to one of the allowed UNCL4461 codes listed in the rule, for example 30 or 58, and make sure there is no internal whitespace in the element value. If the invoice currently uses a code not in this list, replace it with an allowed code; the rule only accepts the listed codes.
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 BR-CL-16.
Validate an invoice against these rules · All release changes