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 our 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.
Sending in Denmark
Supported delivery channels in Denmark
Currently, we support sending through Nemhandel, Peppol, or Maventa’s internal network. Email and print are also available as fallback delivery options.
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 our own domain.
Receiving in Denmark
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 our 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).
e-invoicing formats used in Denmark
- OIOUBL (the national Danish e-invoicing format based on UBL 2.0) is required for NemHandel (format used in Sproom connection)
- Peppol BIS 3.0 is used for Peppol exchanges