> ## Documentation Index
> Fetch the complete documentation index at: https://invopop-dk.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Denmark FAQ

> Frequently asked questions about invoicing compliance in Denmark

### Compliance questions

**Denmark**

<AccordionGroup>
  <Accordion title="Am I required to issue B2B or B2C e-invoices in Denmark?">
    No. As of 2026, Denmark has **no B2B or B2C e-invoicing transmission mandate**. The [Digital Bookkeeping Act](/compliance/denmark#digital-bookkeeping-act-b2b) requires businesses to use certified systems that are *capable* of sending and receiving structured e-invoices (Peppol BIS 3.0 and OIOUBL), but it does not require that every invoice is actually sent electronically. You must be ready to e-invoice, but you are not yet obligated to do so for B2B or B2C transactions.

    E-invoicing is only mandatory for **B2G** — all invoices to Danish public authorities must be submitted electronically via [NemHandel](/apps/nemhandel-denmark) or the [Peppol network](/apps/peppol). A domestic e-reporting obligation covering B2B is expected around 2028, ahead of the EU ViDA requirements, though nothing has been formally announced.
  </Accordion>
</AccordionGroup>

**NemHandel**

<AccordionGroup>
  <Accordion title="What is NemHandel?">
    NemHandel is Denmark's national e-invoicing network, managed by the Danish Business Authority ([Erhvervsstyrelsen](https://erhvervsstyrelsen.dk)). It has been mandatory for invoices to Danish public authorities since February 2005 — the first B2G e-invoicing mandate in Europe. Recipients are identified in the NemHandelsregisteret (NHR), which is integrated with the Peppol SML, and documents travel through a decentralized network of access points.
  </Accordion>

  <Accordion title="Which document format does the NemHandel Denmark app generate?">
    The [NemHandel Denmark app](/apps/nemhandel-denmark) converts GOBL invoices and credit notes to **OIOUBL 2.1**, Denmark's national e-invoicing standard and CIUS under EN 16931. OIOUBL 3.0 was formally cancelled in January 2026; 2.1 remains in force until July 2029, validated against Schematron v1.17.2 (mandatory since May 18, 2026), before Denmark migrates to the unified NemHandel BIS 4 standard by mid-2029. Denmark also accepts Peppol BIS Billing 3.0 for B2G — if you prefer to send BIS over the Peppol network, use the [Peppol app](/apps/peppol) instead.
  </Accordion>

  <Accordion title="Do B2B invoices have to go through NemHandel?">
    No. Denmark has no B2B transmission mandate — only invoices to public authorities must be electronic. However, the Digital Bookkeeping Act requires businesses to use systems *capable* of sending and receiving e-invoices in OIOUBL and Peppol BIS formats, and many Danish companies exchange B2B invoices over NemHandel voluntarily because the infrastructure is already in place.
  </Accordion>
</AccordionGroup>

**Peppol**

<AccordionGroup>
  <Accordion title="Is sending invoices via Peppol mandatory?">
    Mandatory dates vary by country. Belgium requires structured B2B e-invoicing — Peppol BIS by default — from January 2026. Germany is phasing in B2B e-invoicing between 2025 and 2028. France's Factur-X via Peppol applies once the PA reform takes effect. Outside mandates, Peppol delivery is voluntary but increasingly expected for B2G and cross-border trade.
  </Accordion>

  <Accordion title="Does a Peppol invoice need to be EN16931 compliant?">
    Yes. Every document exchanged on Peppol BIS uses a UBL or CII syntax that conforms to the EN16931 European e-invoicing standard, plus the relevant Peppol BIS specification. Invopop generates compliant XML automatically when you use the Peppol app.
  </Accordion>

  <Accordion title="Why does Peppol require proof of ownership?">
    Peppol is a federated network — anyone could otherwise register a Participant ID for a company they don't represent. Proof of ownership ties the Participant ID to a verifiable contact at the company, which is what allows the registration to be published on the SML.
  </Accordion>

  <Accordion title="What documents count as proof of ownership?">
    Requirements vary by Authority. In Belgium, for example, the supplier must provide a recent extract from the Banque-Carrefour des Entreprises (KBO/BCE) plus a signed mandate. Invopop walks the registering party through the local requirements during the registration wizard.
  </Accordion>

  <Accordion title="Are received Peppol invoices considered legally valid?">
    Yes — a Peppol BIS document delivered through a certified Access Point is treated as the legal e-invoice in any country that recognises Peppol. The signed UBL or CII XML is the authoritative record; archive it alongside any human-readable rendering you generate.
  </Accordion>

  <Accordion title="How long must I retain received Peppol invoices?">
    Retention is set by each country's tax authority — typically 7 to 10 years in the EU. Invopop preserves the original XML and any generated PDF in the silo entry so you can satisfy local archival requirements wherever you operate.
  </Accordion>
</AccordionGroup>

### Invoicing questions

**NemHandel**

<AccordionGroup>
  <Accordion title="How are invoices routed to the right recipient?">
    Documents on NemHandel are addressed by participant identifier. If the customer declares an endpoint (for example `GLN:5798009883735` for a public institution's EAN/GLN number), that identifier is used. If a Danish customer only carries a CVR number in its tax ID, the `dk-oioubl-v2` GOBL addon derives the participant identifier (`DK:CVR:<number>`) automatically. Explicit endpoints always win over derived ones.
  </Accordion>

  <Accordion title="How do I correct or cancel an invoice sent to NemHandel?">
    Issue a credit note referencing the original invoice in the `preceding` array. OIOUBL requires non-negative totals, so corrections in Denmark are always credit notes — a negative invoice will fail validation. There is no cancellation mechanism on the network itself: once delivered, a document can only be countered by a credit note.
  </Accordion>

  <Accordion title="Which payment means does OIOUBL support?">
    OIOUBL restricts the UNTDID 4461 payment means codes to a fixed list. The most common mappings from GOBL are `debit-transfer` for IBAN bank transfers (code `31`, requires a BIC), domestic Danish bank transfers (code `42`, account number plus bank registration number), Giro (code `50`), and FIK (code `93`). A generic `credit-transfer` (code `30`) is rejected by the format.
  </Accordion>

  <Accordion title="When is an invoice considered sent?">
    The send step submits the OIOUBL document to the network and then queues until the delivery is confirmed by Invopop's NemHandel access point. The workflow's state only advances to `sent` once the network reports the document as delivered, so a `sent` entry means the recipient's access point accepted it.
  </Accordion>
</AccordionGroup>

**Peppol**

<AccordionGroup>
  <Accordion title="What should we do if the customer doesn't belong to the Peppol network?">
    In countries where Peppol is the standard but not mandatory, you may still need to issue an e-invoice when the recipient isn't on the network. Both parties can agree on an alternative transfer method, but the invoice must still be EN16931 compliant.

    Recommended approach:

    * Set up a separate workflow that generates the XML without the send-Peppol-document step
    * Or reuse your existing workflow without the customer Peppol ID — the send step is automatically skipped
    * Fetch the generated XML and deliver it through the agreed channel, typically email
  </Accordion>

  <Accordion title="How do I handle B2C invoices in Peppol?">
    B2C invoices typically lack the structured customer information required for Peppol delivery, and most consumers don't have inboxes. Use a conditional workflow:

    1. Add an **If/Else** step that checks for a customer inbox using `count(customer.inboxes, true) > 0`.
    2. On the `false` branch, generate a PDF and email it to the customer, then stop the flow.

    This routes B2B invoices through Peppol while keeping a smooth path for consumers.
  </Accordion>

  <Accordion title="How do I handle 'Receiver Not Found' errors?">
    If a job fails with `KO` and `receiver not found in the peppol network`, treat it like an invalid email address — the recipient simply isn't reachable on Peppol. Add the **Lookup Participant ID** step (ideally in a separate validation workflow run against customer data) so you catch missing IDs before generating the invoice.
  </Accordion>

  <Accordion title="Should I set the `$regime` field when using Peppol?">
    No. The regime is automatically derived from the supplier's settings, which is the recommended approach for Peppol — leave it unset on the document.
  </Accordion>

  <Accordion title="Where do I find Peppol GOBL documentation?">
    See the [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017) addon for the field and validation rules Peppol BIS Billing 3.0 builds on, and the [Peppol app reference](/apps/peppol) for supported document types and Participant ID schemes.
  </Accordion>
</AccordionGroup>

### Registering supplier questions

**NemHandel**

<AccordionGroup>
  <Accordion title="What is the NemHandel authorization agreement?">
    Before a company can be registered on NemHandel, its representative must sign an authorization agreement allowing Invopop and its NemHandel access point to exchange documents on the company's behalf. The registration workflow publishes a public signing link on the party entry; the representative opens it, fills in their name, role, and contact email, signs, and the agreement is submitted for approval. The workflow waits until the agreement is approved before registering the participant.
  </Accordion>

  <Accordion title="Who should sign the agreement?">
    Someone entitled to represent the company — typically a director or another person with signing authority. The signer provides their full name, their role in the company, and a contact email, and can sign by typing or drawing their signature.
  </Accordion>

  <Accordion title="Can I run the registration workflow more than once?">
    Yes. The registration steps are safe to re-run: an already-signed agreement or an already-registered participant is detected and skipped, so retrying a failed or interrupted registration won't create duplicates.
  </Accordion>
</AccordionGroup>

**Peppol**

<AccordionGroup>
  <Accordion title="How do I register for a Peppol inbox in Invopop?">
    Upload the company as a party (Console → Parties → Suppliers → + New Supplier, or via the Create an Entry API) with name, tax\_id, address, and email. Then run it through the party registration workflow — the contact will receive a registration wizard link to provide proof of ownership.

    Once approved, the party is registered on the Peppol network (SMP+SML+Peppol visibility by default with the `ubl-invoice` doc group) and ready to receive invoices.
  </Accordion>

  <Accordion title="I get 'XXXX:XXXXXXXXX is already registered' when registering a supplier — what now?">
    A supplier with that Participant ID already exists in your workspace. Either reuse the existing party or, if it really is a new entity, check whether it should be registered under an alternative scheme (for example Belgium's `9925` VAT scheme rather than the default `0208`).
  </Accordion>

  <Accordion title="How do I assign multiple inboxes to a single supplier?">
    Register them through different silo entries, even though they represent the same legal party. The supplier must upload proof of ownership for each inbox.
  </Accordion>

  <Accordion title="What are Participant IDs?">
    Unique identifiers for entities on the Peppol network, made up of two parts:

    * **Scheme** — identifies the type of identifier (e.g. `9920` for Spanish VAT, `0208` for Belgian KBO/BCE)
    * **Code** — the actual identification number

    Participant IDs are usually based on VAT numbers or local business identifiers, and Invopop can derive them automatically from a Tax ID. Some countries support multiple schemes — Belgium, for example, defaults to `0208` but some entities are only registered under `9925` (VAT). If you hit a "receiver not found" error, the recipient may be registered under an alternative scheme.
  </Accordion>

  <Accordion title="What visibility level should I set on my Peppol Party?">
    Peppol Party visibility determines what you can send and receive:

    * `smp` — SMP only, for testing
    * `smp+sml` — SMP and SML, useful when you only want to send
    * `smp+sml+peppol` — SMP, SML, and the Peppol Directory, recommended for both sending and receiving (and for being discoverable in the Directory)

    In general, use the highest visibility available.
  </Accordion>
</AccordionGroup>

### Receiving questions

**NemHandel**

<AccordionGroup>
  <Accordion title="How do invoices received via NemHandel reach my workspace?">
    Once a party is registered, documents addressed to its participant identifier are delivered to Invopop's access point. Each delivery triggers the import workflow you selected in the NemHandel Denmark app's configuration: the import step fetches the OIOUBL document, converts it to GOBL, creates the silo entry, and attaches the original XML along with any embedded binary attachments (such as PDFs).
  </Accordion>

  <Accordion title="What happens if a received document fails to import?">
    Deliveries are only acknowledged to the network after the import completes, so a transient failure leaves the document ready to be retried. An hourly reconciliation loop also picks up any deliveries missed by the real-time path. Documents that can never be processed are flagged for review instead of being retried forever.
  </Accordion>
</AccordionGroup>

**Peppol**

<AccordionGroup>
  <Accordion title="How do I import received invoices via Peppol?">
    Register the recipient as a Peppol participant with Invopop as their Access Point. Incoming documents are routed through your configured Import workflow, which converts the UBL or CII payload to GOBL and stores the entry in the Expenses folder.
  </Accordion>

  <Accordion title="Can I remove UBL or CII from the 'Peppol receive invoice' workflow if I only use one format?">
    Yes. Either format can be removed based on your needs. The default template includes both for comprehensiveness, but if you're certain you'll only receive invoices in one syntax, dropping the other simplifies the workflow and reduces the apps you need to activate.
  </Accordion>

  <Accordion title="How are incoming Peppol documents converted into GOBL?">
    The Import workflow's UBL and CII parser steps map the inbound XML into a GOBL invoice. From there you can route it to webhooks, Google Drive, accounting integrations, or any other destination — the GOBL representation is the single source of truth for downstream processing.
  </Accordion>
</AccordionGroup>

***

<Card title="Participate in our community" icon="forumbee" href="https://community.invopop.com" arrow="true" horizontal>
  Ask and answer questions about Denmark's regulation →
</Card>
