ErrorPeppol BIS 3.0Input required

DK-R-009

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

What does this rule mean?

The Danish payment reference is not in the form required for this payment means.

Danish giro/card payment means (50, 93) encode the card type code as a prefix of the payment reference (e.g. 01#, 04#, 15#, 71#, 73#, 75#) and require an account identifier of fixed length alongside.

Official rule message (standard)

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

Where the rule applies

Syntax: CII · UBL

The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.

UBL

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

CII

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

Technical test

The rule passes when this Schematron expression holds true:

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)
                              )

How to fix it

A missing or incorrect business entry only you can supply. Add or correct it, then re-check.

Set the right prefix and digit sequence in the payment reference, and check the length of the account identifier.

Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.

Check an e-invoice here

Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.

100% local — no upload, no account.

Related rules

← Back to the error library