Skip to main content

Introduction

NemHandel is Denmark’s national e-invoicing network, run by the Danish Business Authority (Erhvervsstyrelsen). The Denmark app registers each of your Danish parties as a NemHandel participant through Invopop’s partner eCourier, so the party can send and receive OIOUBL invoices over the network. Registration includes one step no other party in the flow can do for you: the supplier’s representative must sign an authorisation agreement before the network participant can be created. The registration workflow publishes a signing link you share with them, and continues automatically once they’ve signed. Once a supplier is registered, continue with the companion guide: NemHandel issuing invoices.

Prerequisites

  • The party’s details: legal name, CVR number (8-digit business registration number, uploaded as the GOBL tax_id.code), and a Danish address.
  • A contact person on the party: the first entry in the party’s people list, with a name and a role in the company. The signing wizard prefills this person as the agreement’s signer, and the API signing flow requires it.
  • The representative’s availability: someone authorized to sign on the supplier’s behalf has to complete the signing step before registration can finish.
A registered party starts receiving inbound documents right away, so configure reception first: follow the receiving guide’s setup to create the import workflow and select it in the app’s configuration, then come back here.

Setup

All of the following steps must be carried out from the Invopop Console.
1

Connect the Denmark app

  1. Navigate to ConfigurationApps
  2. Find Denmark in the app discovery list
  3. Click Connect to activate
2

Create the registration workflow

Register on NemHandel workflow

Add to my workspace →

Register a supplier

1

Upload the party

Create a silo entry with the party’s details. The example below shows the fields a Danish party carries; the name, the CVR number, and the contact person are what registration uses:
Denmark supplier example
2

Run the registration workflow

Run the registration workflow on the party’s silo entry, from the Console or via the API. The workflow publishes the authorisation agreement and pauses at the wait for approval step until it is signed.
3

Share the signing link

The workflow adds a public agreement signing link to the party’s silo entry. Open the party in the Console to copy it, and send it to the supplier’s representative.
4

Have the representative sign

The link opens a short hosted wizard: the representative confirms their name and role (prefilled from the party’s contact person), reviews the agreement document, and signs it — drawing a signature that is stamped onto the agreement.
5

Wait for registration to complete

As soon as the agreement is signed, the workflow resumes on its own: it uploads the signed agreement, creates the party’s NemHandel participant, and records the routing that delivers the party’s inbound documents to your workspace. The party’s entry ends in the registered state.
The party is registered under its NemHandel participant identifier: the first endpoints entry on the party if it has one (a GLN: number, for example), otherwise the DK:CVR identifier derived from its Danish tax ID.
A participant can only be held by one Invopop workspace. If another workspace has already registered the same identifier, registration fails with this party is registered on NemHandel by a different workspace.

Sign the agreement via the API

Integrators building their own onboarding UI can drive the signing step without the hosted wizard. The Denmark app exposes two endpoints on its service, authenticated per enrollment; both take ?sandbox=true (or "sandbox": true in the body) to address the sandbox environment: Both endpoints read the signer from the party entry, so the first person in the party’s people list must carry a name and a role before either is called.

Unregister a supplier

To offboard a party, create the unregister workflow and run it on the party’s silo entry: it releases the registration, removing the NemHandel participant along with the routing that delivered its inbound documents to your workspace.

Unregister from NemHandel workflow

Add to my workspace →
An unregistered party can no longer send or receive over NemHandel, and documents addressed to it after unregistration will not reach your workspace. To operate on its behalf again, run the registration workflow again.
At this point, you’re ready to start sending invoices on behalf of the supplier. Head over to the NemHandel issuing invoices guide to continue.

FAQ

NemHandel registration runs through Invopop’s partner eCourier, which requires a signed authorisation agreement from the supplier before it can create the supplier’s NemHandel participant. That’s why the registration workflow has three steps: publish the agreement for signing, wait until the supplier’s representative signs it, and only then register the participant.
A representative of the supplier — typically a director or other authorized signatory. The registration workflow publishes a public signing link on the party’s silo entry; share it with the representative and they complete a short hosted wizard: confirm their details, review the agreement, and sign. If the party’s people list carries a person with a name and role, the wizard prefills them as the signer. Integrators building their own onboarding UI can drive the same flow over the API.
Its NemHandel participant identifier: the party’s first GOBL endpoints entry if it has one (for example a GLN: number), otherwise the DK:CVR identifier derived from the party’s Danish tax ID. NemHandel uses symbolic schemes (DK:CVR, DK:SE, GLN) rather than Peppol’s numeric ISO 6523 codes.
Each NemHandel participant can only be held by one Invopop workspace. If another workspace has already registered the same identifier, registration is refused — which workspace holds it is not disclosed. Re-running registration for a party your own workspace already registered is fine: it’s treated as a retry, not an error.
Yes. Run the unregister workflow on the party’s silo entry: it releases the NemHandel registration, removing the participant and the routing that delivered inbound documents to your workspace. To send or receive on behalf of that party again, you’ll need to register it again.
More available in our Denmark FAQ section

Participate in our community

Ask and answer questions about invoicing in Denmark →