ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

OIOUBL — the Danish e-invoice

OIOUBL (Offentlig Information Online UBL) is Denmark's customisation of OASIS UBL 2.0. Denmark was one of the very first countries to make B2G e-invoicing mandatory — back in 2005. OIOUBL travels on the national NemHandel infrastructure.

What is OIOUBL?

Unlike a fully national format such as FatturaPA or Facturae, OIOUBL is UBL: a clarified subset of OASIS UBL 2.0 with Danish rules, codes and profiles. A platform that can read UBL is already halfway there.

The 2005 pioneer

Denmark mandated e-invoicing for its public sector as early as 2005, well before the European directives. That head start explains the maturity of the Danish ecosystem (NemHandel, registry, operators) and its leading role in PEPPOL.

Anatomy of a file

xml oioubl-invoice.xml
<Invoice
    xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
    xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
    xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">

  <cbc:UBLVersionID>2.0</cbc:UBLVersionID>
  <cbc:CustomizationID>OIOUBL-2.02</cbc:CustomizationID>
  <cbc:ProfileID schemeID="urn:oioubl:id:profileid-1.2">Procurement-BilSim-1.0</cbc:ProfileID>
  <cbc:ID>2026-04127</cbc:ID>
  <cbc:IssueDate>2026-06-23</cbc:IssueDate>
  <cbc:DocumentCurrencyCode>DKK</cbc:DocumentCurrencyCode>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="DK:CVR">DK12345678</cbc:EndpointID>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty><!-- public recipient --></cac:AccountingCustomerParty>
</Invoice>

You can recognise the UBL structure (cbc:, cac:); the CustomizationID declares the OIOUBL profile and the EndpointID identifies the parties (Danish CVR number).

NemHandel: the exchange infrastructure

NemHandel is Denmark's public infrastructure for exchanging business documents (registry + transport protocol). It carried OIOUBL for years and now interconnects with PEPPOL. Detail: NemHandel — B2G.

OIOUBL 3: PEPPOL / EN 16931 convergence

The new generation, OIOUBL 3, aligns the Danish format with PEPPOL BIS and EN 16931: fewer local specificities, more European interoperability. Detail: OIOUBL 3.

OIOUBL, UBL and PEPPOL

  • vs UBL: OIOUBL is UBL profiled for Denmark.
  • vs PEPPOL: historically distinct (NemHandel), now converging — OIOUBL 3 and PEPPOL BIS share the EN 16931 base.

Further reading