Regional spotlight
Formats? Mandates?
We've got you covered!
-
Overview of B2G, B2B and B2C e-invoicing in Denmark. -
Key formats, networks and channels you may need to support. -
High-level regulatory and compliance considerations.
e-invoicing in Denmark
Denmark is one of the most mature e-invoicing markets in Europe. E-invoicing has been mandatory for the public sector since 2005, and the country has since built a strong digital infrastructure around electronic document exchange. Both Peppol and Denmark’s national network Nemhandel are supported, with ongoing developments driven by the new Danish accounting law and broader EU initiatives such as ViDA (VAT in the Digital Age).
In Denmark, most of the e-invoicing is routed through NemHandel, the national infrastructure for electronic documents. Instead of connecting directly to NemHandel, Maventa uses Sproom as an intermediary.
Sproom is a Danish e-invoicing platform and part of Visma. It acts as a technical access point and a routing directory, enabling companies to send and receive electronic invoices via NemHandel. This ensures proper delivery of e-invoices across Denmark. Currently only invoices and credit notes are supported in the Danish set-up.
Danish company account registration
When registering a new Danish company via the API, the CVR number (Central Business Registration Number) must be used as the company identifier. Visma Sign supports Danish customer authentication using either a personal ID or NemID.
| Identifier | Description | Format | Validation |
|---|---|---|---|
| CVR number | Central Business Registration Number | 31000000 |
Structural validation |
Sending in Denmark
Supported delivery channels and routing order in Denmark
For B2B and B2G, sending in Denmark is currently supported in the following priority order: via NemHandel (Sproom), then through Maventa’s internal network, and finally through the Peppol network. Email and postal delivery (printing) are also available as fallback options. Printing is handled in Norway, and all postal deliveries are sent from Norway.
For B2C, invoices are delivered via email and print only.
Recipient identifiers and address resolution
Danish invoices are primarily routed through NemHandel via Sproom, where the CVR number is sufficient for delivery. To route an invoice via Peppol instead, the full Peppol endpoint ID with scheme 0184 must be included in the invoice XML.
| Identifier type | Format | Example | Delivery channel |
|---|---|---|---|
| CVR number | 8-digit number | 31000000 |
NemHandel (via Sproom) |
| Peppol endpoint ID |
0184: + CVR number |
0184:31000000 |
Peppol network |
| GLN (Global Location Number) |
0088: + GLN |
0088:1234567890128 |
Peppol network |
Maventa does not automatically add a Peppol scheme prefix to a plain CVR number. If only the CVR number is provided, the invoice is delivered through NemHandel — Peppol routing is not attempted.
For the most reliable Peppol delivery, include the full endpoint ID 0184:CVRnumber in the invoice XML. For NemHandel delivery, the plain CVR number is sufficient.
Sproom and Nemhandel
Whenever your company sends invoices to Denmark to a participant in NemHandel (which includes most of the Danish companies), the process depends on whether the sending company already has an existing Sproom account:
- No existing Sproom account → The invoices are automatically handled through Maventa’s parent account in Sproom. No additional actions are required from the sender.
- Existing Sproom account → The company must explicitly approve Maventa (Visma Software AS) as a parent account in Sproom. This approval links the company’s existing Sproom profile with Maventa, ensuring invoices continue to be routed correctly through NemHandel.
A company can have multiple parent accounts in Sproom, which makes it possible for several software vendors to send and receive invoices on behalf of the same company.
When an invoice is sent from a company that already has a Sproom account, Sproom automatically sends an approval request email. This email is sent to the sender’s company email address registered in Maventa, so it’s important to keep it up to date. The email contains a link that the company must follow and sign using MitID (Business or Private, depending on the signatory rights) to complete the approval. Currently, Sproom will continue sending approval requests after each invoice until the approval is completed. At the moment, invoice sending still works, but in the near future, invoices will fail if the approval is not completed after the first attempts.
Today, the approval emails come from Sproom address notification@sproom.net. But in the future, Maventa may take over sending these emails, which would then come from Maventa’s own domain.
email fallback route with Sproom
When an invoice is sent to Sproom, the routing settings or disabled delivery routes defined in Maventa do not necessarily apply on Sproom’s side. This means that Sproom may send the invoice by email if e-invoice delivery fails. The email fallback is triggered when the recipient’s email address is included in the customer party details of the XML file. In Maventa, such invoices are still classified as e-invoices and appear as “e-invoice sent.”
By default, when a company does not have an existing Sproom account and is added as a child company of Maventa, the email sending route is not enabled on the Sproom side. This means that only the e-invoice route is active through Sproom, and if e-invoice delivery fails, Maventa decides whether to use the default delivery route.
For companies that already have an existing Sproom account and it is later linked under Maventa, if they had previously enabled the email sending option, it will remain active. In those cases, Sproom will handle the email sending, and such invoices will still be billed by Maventa as e-invoices.
Maventa recommends disabling the email sending setting on the Sproom side to ensure consistent and predictable delivery behaviour.
Receiving in Denmark
In Denmark, companies can receive invoices through different channels. If a company has activated e-invoice receiving, they can receive invoices via Maventa’s internal network. Additionally, if the company is registered with Peppol, Peppol receiving is available. To receive from NemHandel, the company needs a separate receiving activation for that network.
| Address Type | Description | Example address | Activation Requirement |
|---|---|---|---|
| Peppol address | Official identifier for the Peppol network. Uses the CVR number with scheme 0184. |
0184:31000000 | Created when the company registers to receive from Peppol |
Scanning
Both Scan Network and AutoScan are supported scanning solutions in Denmark.
For Scan Network, invoices can be sent to the company’s scan email address in the format CVRnumber@autoinvoice.dk, where CVRnumber is the company’s CVR number.### Invoice response messages
Denmark has introduced a new accounting law requiring ERP systems to support invoice response messages, XML-based business acknowledgements that communicate the processing status of an invoice between buyer and supplier (e.g. accepted, rejected, pending).
This requirement applies to invoices received through both the Peppol network and Denmark’s national network Nemhandel. The response formats follow:
- Peppol BIS Invoice Response for Peppol
- OIOUBL Application Response for Nemhandel (generated automatically by Sproom when requested via Maventa API)
How messages responses work with Maventa
When a customer receives an invoice from a Danish sender via Maventa, ERP must handle invoice responses according to the sender’s registered network:
-
Verify whether the sender wants to receive responses via Peppol by using the lookup API endpoint GET /v1/lookup/receivers.
-
Send the invoice response
- If the supplier is registered in Peppol to receive invoice responses, the ERP creates and then sends a Peppol BIS Invoice Response via Maventa’s endpoint: POST /v1/documents. Peppol BIS Invoice Response implementation guidelines.
- If the supplier is not registered in Peppol, the ERP instead calls Maventa’s endpoint POST /v1/invoices/{id}/responses/nemhandel with invoice id and response they want to communicate back to the sender. Maventa will then forward the information to the Sproom API to generate and deliver an OIOUBL Application Response to Nemhandel on behalf of the ERP. If the supplier is registered in Nemhandel, Sproom generates and sends the response, which then Maventa returns as a success (200 OK). If the supplier is not registered, the request is ignored and an appropriate error status is returned.
To comply with Danish requirements, ERPs integrating with Maventa should:
- Implement support for generating and sending Peppol BIS 3 invoice response XMLs.
- Implement logic to determine whether the supplier want to receive responses via Peppol.
- Call the appropriate Maventa API endpoints based on the lookup result. Last status should be either accepted or declined.
- Prevent duplicate or invalid response submissions (follow the response order defined in the standards).
For step-by-step instructions on enabling receiving, registering for Peppol, and setting up scanning, see the invoice receiving integration guide.
Accounts receivable services
Accounts receivable services for Denmark are coming at a later date (timeline TBD).
Ropo Reminder & Collection will be available for Danish companies, offering reminder and debt collection services through Ropo. The service allows you to transfer overdue invoices to Ropo for reminder handling and collection directly through the Maventa API. For more details on how the service works, see the Accounts receivable section in the Integration Guide.
e-invoicing formats used in Denmark
| Format | Standard | Notes |
|---|---|---|
| Peppol BIS Billing 3.0 | EN16931 | Used for Peppol exchanges |
| OIOUBL | UBL 2.0 | Danish national format, required for NemHandel (format used in Sproom connection) |