FlowieExchange
Compliance · 🇩🇰 Denmark Live mandate

Denmark — OIOUBL, NemHandel & Peppol BIS

OIOUBL/Peppol BIS · B2G live since 2005 · Bookkeeping Act phasing 2024–2026 — regulator: Erhvervsstyrelsen (Danish Business Authority). Facts last refreshed: 2026-05-05.

Coverage model
Flowie operates a registered Peppol Access Point in this jurisdiction directly where we hold national accreditation, or via a vetted local partner registered with the in-country regulator where on-the-ground presence is required (KSeF, SDI intermediario, ZATCA service-provider, etc.). Either way, you call the same POST /v1/documents/send.

TL;DR

Deadlines

DateWhoWhat
2005-02-01Public sector (B2G)All public buyers must receive e-invoices (Lov om offentlige betalinger).
2024-07-01Class B/C/D companiesBookkeeping Act: must use a registered digital bookkeeping system.
2026-01-01Class A companiesSame Bookkeeping Act obligation extended to smaller companies.

Background

Denmark was the first EU country to mandate B2G e-invoicing — twenty years before the EU directive. The infrastructure is NemHandel ("easy commerce"), originally a closed Danish network using OIOUBL XML. NemHandel now bridges to Peppol so that an OIOUBL invoice from a Danish ERP reaches any European Peppol AP and vice-versa.

The 2024 Bookkeeping Act (Bogføringsloven) is not strictly an e-invoicing mandate but it has the same effect: every commercially-active company must use a digital bookkeeping system that natively supports OIOUBL and Peppol BIS receipt — meaning the practical reach of e-invoicing in Denmark by 2026 is essentially every business.

Format profile

Required fields

Public sector (B2G)

HubPeppol identifier schemeLookup
NemHandel0184:DK-<cvr>https://nemhandel.dk

Every Danish public buyer is registered on NemHandel and reachable via the EAN/GLN or CVR identifier scheme over Peppol.

B2B reporting / clearance

No central B2B reporting hub — pure transmission only.

Error codes

CodeMeaningFix
OIOUBL-CHK-200OIOUBL schematron failure.Inspect error.details; usually a profile-specific cardinality.

Testing in sandbox

What you want to testHow
DK B2G via NemHandelRecipient 0184:DK-12345678 with valid sandbox CVR.
Force OIOUBL renderingSet format: "oioubl".

FAQ

Is NemHandel separate from Peppol?

Operationally yes, but bridged: Flowie's AP transparently routes a Peppol BIS invoice through the NemHandel bridge when the recipient is on the Danish-only side, and vice-versa.

References

Primary sources (government / regulator / standards body):

Industry analyses (vendor trackers — useful for cross-referencing):