Counterfoil rule note
Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.
Payment means in an invoice MUST be coded using UNCL4461 code list
Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-CL-16/
Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL
Severity note: fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-18.
A payment means code must use the UNCL4461 code list. The statement says MUST, writes UNCL4461 with no space, and has no period. The context is cac:PaymentMeans/cbc:PaymentMeansCode. The test reads the element text. It keeps a missing space after each of four commas. A single space sits between the two opening parentheses. A single space sits after contains( before the quote. A single space sits before each of three closing parentheses. Those single spaces are not a repeated space. The list includes 30 and ZZZ. The test does not call exists.
Set the payment means code to a value from the UNCL4461 list, with no space in the code.
Illustration of the condition in the official statement. Not an example published by the source.
Fails the stated condition. The payment means code contains a space, or it is not in the UNCL4461 list.
Passes the stated condition. The payment means code is 30, with no space.
Copied from the source. Not reimplemented on this page.
cac:PaymentMeans/cbc:PaymentMeansCode
( ( 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(.),' ') ) ) )
All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy