Faktura

DK-R-006

fatalPeppol BIS Billing 3.0profileCIIUBL

For Danish suppliers bank account and registration account is mandatory if payment means is 31 or 42

Why it fails

Payment means 31 or 42 was used but the bank account or the registration number (registreringsnummer) is missing.

How to fix it

Supply both: the four-digit registration number of the branch and the account number. In UBL they go in PayeeFinancialAccount/cbc:ID and its FinancialInstitutionBranch/cbc:ID.

What the validator checks

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

not( ((ram:TypeCode = '31') or (ram:TypeCode = '42')) and not((normalize-space(ram:PayeePartyCreditorFinancialAccount/ram:IBANID/text()) != '') and (normalize-space(ram:PayeeSpecifiedCreditorFinancialInstitution/ram:BICID/text()) != '')) )

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

not(((cbc:PaymentMeansCode = '31') or (cbc:PaymentMeansCode = '42')) and not((normalize-space(cac:PayeeFinancialAccount/cbc:ID/text()) != '') and (normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID/text()) != '')) )

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.