NL-R-008: For suppliers in the Netherlands, if the customer is in the Netherlands, the payment…
Peppol BIS Billing 3.0.21 · UBL
Original rule text
[NL-R-008]-For suppliers in the Netherlands, if the customer is in the Netherlands, the payment means code (cac:PaymentMeans/cbc:PaymentMeansCode) MUST be one of 30, 48, 49, 57, 58 or 59
normalize-space(cbc:PaymentMeansCode) = '30' or normalize-space(cbc:PaymentMeansCode) = '48' or normalize-space(cbc:PaymentMeansCode) = '49' or normalize-space(cbc:PaymentMeansCode) = '57' or normalize-space(cbc:PaymentMeansCode) = '58' or normalize-space(cbc:PaymentMeansCode) = '59'NL-R-008 is a fatal rule in the country layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.
What this rule requires
The rule applies when both the supplier's and the customer's country in the invoice are NL (from cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode and the corresponding customer element). For every cac:PaymentMeans element in such an invoice, cbc:PaymentMeansCode must equal exactly one of 30, 48, 49, 57, 58, or 59. The test uses normalize-space(), so surrounding whitespace is ignored, but the value must not be empty or only whitespace and must be one of those codes.
How to fix
Set cac:PaymentMeans/cbc:PaymentMeansCode to one of the allowed values: 30, 48, 49, 57, 58, or 59. Ensure this applies to every cac:PaymentMeans element when both supplier and customer country codes are NL. If the invoice uses a different payment means, check which of these codes corresponds to your payment method, or correct the country identification if it is not actually NL.
Guidance on this rule. The original text above is authoritative.
Where to go next
NL-R-008 changed in 1 published Peppol BIS Billing UBL release comparison:
- NL-R-008 in 3.0.10 → 3.0.15: New rule
Validate an invoice against these rules · All release changes