Skip to main content

Denmark

GoRoute writes a document to a Danish buyer as Peppol BIS Billing 3.0. It does not write OIOUBL. BIS Billing 3.0 carries Danish national rules (DK-R). Some apply whenever the seller is addressed in Denmark, others only when the buyer is too. This page covers the ones that depend on what you send.

The CVR numberโ€‹

A Danish seller's document must carry its CVR number as the seller's legal registration identifier, under scheme 0184 (DK-R-002, DK-R-014). GoRoute takes a party's CVR from the first of these that holds one, ignoring spaces, dots, dashes and a DK prefix:

  1. registration_number
  2. the Peppol ID, when its scheme is 0184 (0184:12345678 or 0184:DK12345678)
  3. vat_number (DK12345678)

It writes the CVR as cac:PartyLegalEntity/cbc:CompanyID with schemeID="0184", for a Danish buyer too (DK-R-017). A registration_number that is the CVR is also written as the party identifier under 0184 (DK-R-013).

POST /api/v1/invoices answers validation_failed with BUS_047, and nothing is sent, when:

  • a Danish seller gives no CVR in any of the three (field seller.registration_number);
  • between two Danish parties, a registration_number is not a CVR (field seller.registration_number or buyer.registration_number).

Payment detailsโ€‹

Between a Danish seller and a Danish buyer, an invoice's payment means code must be 1, 10, 31, 42, 48, 49, 50, 58, 59, 93 or 97 (DK-R-005). Code 30 is not on the list: that's the credit transfer code used elsewhere. GoRoute writes a credit transfer (payment.means credit_transfer) as:

The accountCodepayment.bank_account
An IBAN31iban: the IBAN. bic: the bank's BIC
A domestic account number42iban: the account number (kontonummer). bic: the bank's 4-digit registration number (reg.nr.)

Codes 31 and 42 need the account's bank as well as the account (DK-R-006), so give bic with either. The same applies to the seller's own account on file (seller.bank_account), which is used when the payment details give no account. GoRoute does not read the registration number out of a Danish IBAN: an IBAN's bank code is not always the account's reg.nr.

POST /api/v1/invoices answers validation_failed with BUS_047, and nothing is sent, when an invoice between two Danish parties is paid:

  • by credit transfer into an account without its bic (field payment.bank_account.bic, or seller.bank_account.bic for the seller's account on file);
  • by cheque (field payment.means). A cheque is code 20, which is not on the list.

A credit transfer with no account anywhere is written as code 1, "instrument not defined". Cash (10), card (48) and other (1) keep their codes. A credit note between two Danish parties, and a Danish seller's invoice to a buyer outside Denmark, keep code 30: DK-R-005 reads neither.

Self-billing documents are not checked against the Danish rules: the Peppol self-billing rules have no national rules.