DK-R-008: For Danish Suppliers PaymentID is mandatory and MUST start with 01#, 04# or 15#…
Peppol BIS Billing 3.0.21 · UBL
Original rule text
[DK-R-008]-For Danish Suppliers PaymentID is mandatory and MUST start with 01#, 04# or 15# (kortartkode), and PayeeFinancialAccount/ID (Giro kontonummer) is mandatory and must be 7 or 8 numerical characters long, when payment means equals 50 (Giro)
not((cbc:PaymentMeansCode = '50') and not(((substring(cbc:PaymentID, 1, 3) = '01#') or (substring(cbc:PaymentID, 1, 3) = '04#') or (substring(cbc:PaymentID, 1, 3) = '15#')) and matches(cac:PayeeFinancialAccount/cbc:ID, '^[0-9]{7,8}$') ) )DK-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 and customer country codes are DK (Denmark), as determined by $DKSupplierCountry and $DKCustomerCountry. Within cac:PaymentMeans, if cbc:PaymentMeansCode equals '50' (Giro), then cbc:PaymentID must be present and its first three characters must be one of '01#', '04#', or '15#' (kortartkode), and cac:PayeeFinancialAccount/cbc:ID must be present and consist of exactly 7 or 8 numeric characters. A document fails when the payment means code is 50 and either of these conditions is not met.
How to fix
If cbc:PaymentMeansCode is not 50, no change is needed. If it is 50, set cbc:PaymentID to start with '01#', '04#', or '15#' and set cac:PayeeFinancialAccount/cbc:ID to a value of 7 or 8 digits, for example '1234567'. If such values cannot be provided, check why the Giro payment data is missing or malformed; the rule accepts no other format.
Guidance on this rule. The original text above is authoritative.
Where to go next
DK-R-008 changed in 1 published Peppol BIS Billing UBL release comparison:
- DK-R-008 in 3.0.18 → 3.0.19: Test expression rewritten
Validate an invoice against these rules · All release changes