Automation MCP Server Features Blog Pricing Contact
Norway · EHF Billing 3.0 · Peppol BIS + NO-R rules

EHF Billing 3.0 Invoice API for Norway

EHF is Norway's e-invoicing format, and EHF Billing 3.0 is Peppol BIS Billing 3.0 with the Norwegian national rules layered on. Those NO-R rules fire the moment a party is Norwegian: the VAT number has to end in MVA, the organisation number has to check out. InvoiceXML creates EHF documents from JSON, runs the Norwegian rules, and detects the profile automatically on the files you receive.

POST /v1/create/ubl · profile ehf
curl -X POST https://api.invoicexml.com/v1/create/ubl \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{ "invoice": { ... }, "options": { "profile": "ehf" } }'
200 OK · NO-R rules cleared before delivery
{
  "valid": true,
  "data": {
    "profile": "ehf",
    "customizationId": "urn:cen.eu:en16931:2017#compliant#
      urn:fdc:peppol.eu:2017:poacc:billing:3.0"
  }
}
On top of Peppol BIS

What makes an invoice Norwegian

EHF Billing 3.0 does not change the CustomizationID or the document shape: it is Peppol BIS Billing 3.0. What changes is the rule set that fires for Norwegian parties. These are the pieces that send an otherwise-valid BIS invoice back in Norway.

What it is Detail Why it matters
Authority & artifact EHF Billing 3.0, governed by DFOe and published on anskaffelser.dev The same artifact Norwegian buyers validate against, vendored unmodified
CustomizationID urn:fdc:peppol.eu:2017:poacc:billing:3.0 Identical to plain Peppol BIS: EHF is BIS, so detection keys on the parties, not a separate identifier
Seller VAT (NO-R-001) BT-31 must read NO + nine-digit org number + MVA, e.g. NO123456785MVA The single most common reason a Norwegian invoice is rejected when it would pass elsewhere
Organisation number Scheme 0192 for both the Peppol endpoint and the legal registration, with a mod-11 check digit A wrong or mistyped org number is a fatal error, not a warning
Document types UBL 2.1 Invoice and CreditNote Same coverage as every other profile on the platform
EHF Billing rides the Peppol network, so the wider network rules are covered on the Peppol hub, and the UBL 2.1 syntax on the UBL hub. For the Dutch equivalent, see NLCIUS. Identifiers we hold no dedicated rules for fall back to the EN 16931 core with a PROFILE-DETECTION notice, never a false rejection.
Validation response

Findings that name the NO-R rule

When a Norwegian rule objects, the finding says so: the NO-R rule ID, a plain-language message, the EN 16931 BT code involved, and the JSON field path to highlight in your form.

layer: xsdStructure. The document is well-formed UBL.
layer: en16931The European semantic core every profile shares.
layer: ciusThe Norwegian overlay: the NO-R rules inside Peppol BIS.

"Passes BIS elsewhere but a Norwegian buyer rejects it" is a debugging genre we retired.

422 · 1 finding
{
  "valid": false,
  "data": {
    "profile": "ehf",
    "customizationId": "urn:cen.eu:en16931:2017#compliant#
      urn:fdc:peppol.eu:2017:poacc:billing:3.0"
  },
  "errors": [
    {
      "rule": "NO-R-001",
      "layer": "cius",
      "message": "A Norwegian seller's VAT identifier must
        be NO, then the nine-digit organisation
        number, then MVA (e.g. NO123456785MVA).",
      "btCodes": ["BT-31"],
      "fields": ["seller.vatIdentifier"]
    }
  ]
}
Where EHF applies

The Norwegian e-invoicing picture

Norway has one of the highest e-invoicing adoption rates in Europe, driven by an early and firm public-sector requirement. Here is where EHF sits today.

Public sector (B2G)
Since 2 April 2019, every Norwegian public-sector buyer must be able to receive an EN 16931 e-invoice, in practice EHF over Peppol.
ehf
B2B
Voluntary today but widely adopted. The government has signalled a coming obligation in line with EU ViDA; no firm timetable as of 2026.
ehf
Network
Norway is a Peppol authority. EHF is delivered over Peppol, so an access point still moves the document.
peppol-bis-3

Norway implements Directive 2014/55/EU through EHF. See the Mandate Map for how the Norwegian timeline compares with the rest of Europe.

Always current

EHF revs on the Peppol calendar. Your integration doesn't.

Because EHF Billing is Peppol BIS, it follows the same spring and autumn release cadence, each with a mandatory date. We vendor the artifact unmodified, regression-test it, and flip the switch server-side on the day it becomes mandatory. Your code never changes.

Read the versioning policy and the exact artifact versions running now
Next scheduled update
17 August 2026

The Peppol May 2026 release becomes mandatory across the network, EHF included, and goes live here the same day.

ehf peppol-bis-3 Scheduled
FAQ

Questions Norwegian teams ask before they build

01What is EHF Billing 3.0?
EHF (Elektronisk handelsformat) is Norway's e-invoicing format. EHF Billing 3.0, the invoice and credit note part, is maintained by DFOe (the Norwegian Agency for Public and Financial Management) and is implemented as Peppol BIS Billing 3.0 with the Norwegian national rules layered in.
02Is EHF different from Peppol BIS?
For billing, EHF Billing 3.0 is Peppol BIS Billing 3.0. It carries the same CustomizationID. The difference is the NO-R rules inside BIS that fire automatically when a party is Norwegian, such as the VAT-number format and the organisation-number check.
03How must a Norwegian VAT number look?
NO-R-001 requires a Norwegian seller's VAT identifier (BT-31) to be the prefix NO, then the nine-digit organisation number, then the letters MVA, for example NO123456785MVA. The organisation number must pass a mod-11 check.
04How do I create an EHF invoice?
Post your invoice JSON to the create endpoint with options.profile set to ehf. You get UBL 2.1 back, stamped with the Peppol BIS CustomizationID and validated against the Norwegian rules before it reaches you.
05Can you validate EHF files I receive?
Yes. The validate endpoint detects the profile and runs the rule set, including the NO-R rules for Norwegian parties. Each finding names its rule ID and the JSON field path, so a rejection is never a mystery.
06Is e-invoicing mandatory in Norway?
For the public sector, yes: since 2 April 2019 every Norwegian public-sector buyer must be able to receive an EN 16931-compliant e-invoice. B2B is voluntary today, though the government has signalled a coming obligation in line with the EU ViDA reform. No firm B2B timetable has been published as of 2026.
Start free today

Ready to automate your invoices?

Validate, convert and embed compliant e-invoices through one API. Start your 30-day free trial. No credit card required.

GDPR Compliant No credit card required Setup in minutes
Peppol UBL
Factur-X
EN 16931
142 / 142 passed
Compliant
PDF/A-3 embedded