E-invoicing in Norway in short
Since 2 April 2019, public buyers in Norway must require their suppliers to send e-invoices in an approved format and must receive them through Peppol (FOR-2019-04-01-444). The format is EHF Billing 3.0, which is Peppol BIS Billing 3.0 with its Norwegian rules.
Between businesses, the amended bookkeeping act (Prop. 44 L, sanctioned on 19 June 2026) requires e-invoices from 1 January 2027: a business that keeps accounts issues its sales documents to other such businesses as e-invoices, and receives its purchases as e-invoices. The regulation of 29 September 2026 approves EHF Billing, Peppol BIS Billing, EHF Self-Billing and Peppol BIS Self-Billing, version 3.0 or newer. Until 31 December 2029 the parties may agree on another electronic format, and businesses selling for no more than 50,000 kroner a year are exempt, with exceptions. Bookkeeping in an electronic system becomes mandatory on 1 January 2030.
How to check an EHF invoice
- Open the validator with the Peppol BIS invoice profile, which runs the Norwegian rules too, or the credit note one. For a reminder or a forward billing invoice, pick Norway EHF Reminder 3.0 or Norway EHF Forward Billing 3.0; a file opened or pasted picks its profile from its identifier.
- Paste the UBL or drop the file, then press Validate.
- Click a rule id for what it checks.
What is checked
For invoices and credit notes, the UBL 2.1 schema, the EN 16931 rules and the Peppol BIS Billing 3.0 rules (3.0.21), with the Norwegian rules for Norwegian suppliers: a VAT number made of NO, a valid organization number and MVA (NO-R-001), and the word Foretaksregisteret for businesses that must state it (NO-R-002).
For reminders (purring) and forward billing invoices (viderefakturering, such as grid rent billed by an electricity supplier), DFØ's EHF Post-Award rules of 29 September 2026: EN 16931 and Peppol BIS as DFØ adapts them, and for reminders the EHF rules, such as a valid Norwegian organization number (EHF-COMMON-R003). Self-billing invoices are not offered here yet.
Profiles to check with
- Peppol BIS Billing 3.0 Invoice: A Peppol invoice checked the way an access point does: UBL 2.1 schema, EN 16931 rules and the Peppol BIS Billing 3.0 rules. Validate
- Peppol BIS Billing 3.0 Credit Note: A Peppol credit note checked against the UBL 2.1 schema, the EN 16931 rules and the Peppol BIS Billing 3.0 rules. Validate
- Norway EHF Reminder 3.0: A Norwegian payment reminder (purring) in EHF Reminder 3.0, checked against the UBL 2.1 Invoice schema and DFØ's EN 16931, Peppol and EHF rules. Validate
- Norway EHF Forward Billing 3.0: A Norwegian forward billing invoice (viderefakturering), such as grid rent billed by an electricity supplier, checked against the UBL 2.1 schema and DFØ's EN 16931 and Peppol rules for it. Validate
Rules invoices break most
Each one has a page with what it checks, its test and, for many, how to fix it.
NO-R-001: For Norwegian suppliers, a VAT number MUST be the country code prefix NO followed by a valid Norwegian organization number (nine numbers) followed by the letter...NO-R-002: For Norwegian suppliers, most invoice issuers are required to append "Foretaksregisteret" to their invoice. "Dersom selger er aksjeselskap, allmennaksjeselskap...EHF-COMMON-R003: MUST be a valid Norwegian organization number. Only numerical value allowedPEPPOL-EN16931-R001: Business process MUST be provided.PEPPOL-EN16931-R010: Buyer electronic address MUST be providedBR-CO-15: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Questions
Is the invoice uploaded?
No. The schema check and the rules both run in your browser. Only the API and URL monitors validate on our servers.
Is EHF Billing the same as Peppol BIS?
Yes. Since version 3.0, EHF Billing is Peppol BIS Billing 3.0, whose rules include the Norwegian ones. Use a Peppol BIS profile for EHF invoices and credit notes.
Does a valid result mean the buyer will receive the invoice?
It means the invoice passes the rules access points apply. Delivery also needs the buyer to be registered on Peppol, which this check does not look up.
Can I check invoices from code?
Yes: the API and the command-line client with --schema peppol-bis-3-invoice, or --schema auto for a folder of mixed documents.
Official sources
- Lovdata: regulation on e-invoicing in public procurement (in Norwegian)
- Stortinget: mandatory digital bookkeeping and e-invoicing, Prop. 44 L (2025–2026) (in Norwegian)
- DFØ: EHF specifications
Other countries
- French e-invoice validator
- German e-invoice validator: XRechnung and ZUGFeRD
- Belgian e-invoice validator: Peppol BIS
- KSeF invoice validator: FA(3)
- Croatian eRačun validator
- RO e-Factura validator
- FatturaPA validator
- UAE e-invoice validator (PINT AE)
- InvoiceNow validator (PINT SG)
- JP PINT validator
- Australian e-invoice validator (PINT A-NZ)
- Spanish e-invoice validator
- Dutch e-invoice validator: SI-UBL 2.0 and NLCIUS
- Danish e-invoice validator: OIOUBL 2.1
- Swedish e-invoice validator: Peppol BIS
- Finnish e-invoice validator: Finvoice
- Austrian e-invoice validator for e-Rechnung.gv.at
- Czech e-invoice validator: ISDOC
- Portuguese e-invoice validator: CIUS-PT
- ZATCA e-invoice validator (FATOORA)