Faktura

DK-R-009

fatalPeppol BIS Billing 3.0profileCIIUBL

For Danish Suppliers if the PaymentID is prefixed with 04# or 15# the 16 digits instruction Id must be added to the PaymentID eg. "04#1234567890123456" when Payment means equals 50 (Giro)

Why it fails

A Giro payment uses kortartkode 04# or 15#, which require a 16-digit instruction id after the prefix, and it is missing or the wrong length.

How to fix it

Write the PaymentID as prefix plus exactly 16 digits, e.g. 04#1234567890123456. 01# is the kortartkode that does not need one.

What the validator checks

CII — context rsm:CrossIndustryInvoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans

not((ram:TypeCode = '50') and ((substring(../ram:PaymentReference, 0, 4) = '04#') or (substring(../ram:PaymentReference, 0, 4) = '15#')) and not(string-length(../ram:PaymentReference) = 19) )

UBL — context ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

not((cbc:PaymentMeansCode = '50') and ((substring(cbc:PaymentID, 1, 3) = '04#') or (substring(cbc:PaymentID, 1, 3) = '15#')) and not(string-length(cbc:PaymentID) = 19) )

Related rules

Part of DK-R — Denmark.

Validate an invoice against this rule →

This is a Peppol BIS Billing 3.0 rule: an invoice can be perfectly valid EN 16931 and still be rejected by it.