In short: Peppol is not only a Dutch or Belgian topic. In Norway, e-invoices have been sent over Peppol in the EHF format for years. Odoo can send them, but whether an invoice actually goes over Peppol depends on the data of each customer: country, organisation number, Peppol endpoint and verification. In this article you read how Odoo decides that, what we found when we checked a Norwegian company, and a checklist to get your foreign customers ready.
Connecta explained the difference between two ways of exchanging documents in EDI or Peppol? What Odoo users need to know. In our own article on Peppol in Odoo we explain the basics for the Netherlands and Belgium. This article is about what happens when you invoice customers in another Peppol country, using Norway as an example. The example comes from a recent helpdesk question from a group with a Norwegian entity.
What are Peppol and EHF?
Peppol is an international network for exchanging electronic business documents, such as invoices and credit notes. You do not send a PDF by email, but a structured file that the receiving accounting system can process directly. Every participant has an address in the network: a code for the type of identifier, followed by the identifier itself.
EHF is the Norwegian name for e-invoices over Peppol. The current EHF invoice format follows the international Peppol BIS Billing 3.0 standard. For you as an Odoo user this means: the same Peppol connection and the same invoice format as in the Netherlands or Belgium, but with Norwegian identifiers.
How does Odoo decide whether an invoice goes over Peppol?
The question from the customer was simple: "We have imported our Norwegian customers. How does Odoo know which customers receive their invoice over Peppol?" The answer has two parts.
Your own company must be registered
The Norwegian company in Odoo must be registered on the Peppol network itself, with its own Norwegian identifier. In this case that was in order: the company was registered as a receiver, with code 0192 and its organisation number. Code 0192 is the Peppol code for a Norwegian organisation number from the Brønnøysund register.
Each customer is checked separately
For every customer, Odoo looks at the commercial partner, so the company and not the contact person. It checks:
- Country. For Norway, Odoo uses identifier type 0192.
- Peppol endpoint. For a Norwegian company that is the organisation number. Odoo can derive it from the VAT number.
- Verification. Odoo checks in the Peppol network whether that address exists and can receive invoices. Only a verified customer receives invoices over Peppol.
- E-invoice format. For Norway that is Peppol BIS Billing 3.0.
- Sending method. Per customer you choose how invoices are sent, for example over Peppol or by email.
If one of these is missing, the invoice does not go over Peppol, or sending fails.
What we found in practice
We checked the Norwegian customers that had invoices or draft invoices. Of eighteen customers:
- only one was fully set up for Peppol;
- twelve had no country, so Odoo could not determine the identifier type;
- several had no organisation number and therefore no endpoint;
- only three were verified in the Peppol network;
- one was set to send over Peppol but had no endpoint. That invoice would fail at the moment of sending.
None of this is an error in Odoo. It is the result of importing customers from a list that did not contain these fields. That is exactly why it is worth checking before the first invoice run, not after.
Step by step: get your foreign customers ready
- Register each company. In a group with several countries, every company that sends or receives invoices over Peppol needs its own registration with its own identifier.
- Fill in the country on every customer company. Without a country, Odoo does not know which identifier to use.
- Fill in the VAT or organisation number. For Norwegian customers, Odoo derives the Peppol endpoint from it. Check it against the public company register if in doubt.
- Verify the customers. Let Odoo check every customer in the Peppol network. Customers that are not found cannot receive Peppol invoices yet. Send them invoices by email.
- Set the sending method deliberately. Only choose Peppol for customers that are verified. That prevents failed sends.
- Send a test invoice. Agree with one customer that you send a first invoice and that they confirm receipt.
Extra charges and taxes: check before you send
Many companies add country-specific charges to invoices, such as an environmental fee. The same customer asked whether a Norwegian environmental contribution of 1.5 percent, set up in Odoo as a separate tax that is included in the base for VAT, would go through Peppol correctly.
An honest answer: that depends on how the charge is set up, and it is a question for your accountant as much as for Odoo. A Peppol invoice is checked against strict rules for amounts and tax categories. A charge that is technically a tax in Odoo, but legally a fee, can lead to rounding differences or a rejected invoice. Our advice:
- Decide with your accountant whether the charge is a tax, a fee or a separate invoice line.
- Test an invoice with the charge in a test environment before you go live.
- Ask the receiving customer whether the amounts arrived as expected.
Peppol, EHF or EDI?
Peppol and EHF are about invoices and a few related documents, between any two companies in the network. EDI is usually about orders, dispatch advice and invoices in a fixed relationship, often with a large retailer or wholesaler. Some customers require both. Connecta explains the difference in detail in EDI or Peppol? and the EDI messages themselves in EDI in Odoo: ORDERS, DESADV and INVOIC explained.
Checklist for Peppol to foreign customers
- Is every sending company registered on Peppol with its own identifier?
- Does every customer company have a country?
- Does every customer company have a VAT or organisation number?
- Are the customers verified in the Peppol network?
- Is the sending method Peppol only for verified customers?
- Are special charges and taxes checked with your accountant?
- Did you send and confirm a test invoice?
Frequently asked questions
Can Odoo send EHF invoices to Norway?
Yes. EHF invoices are sent over Peppol in the Peppol BIS Billing 3.0 format. Odoo uses the same Peppol connection as for the Netherlands and Belgium, with Norwegian identifiers.
How does Odoo know whether a customer receives Peppol invoices?
Odoo checks per customer company the country, the Peppol endpoint, the verification in the network, the e-invoice format and the sending method. Only verified customers receive invoices over Peppol.
What is code 0192 in Peppol?
0192 is the Peppol identifier type for a Norwegian organisation number. Together with that number it forms the Peppol address of a Norwegian company.
What happens if a customer is set to Peppol but has no endpoint?
Then sending fails. Set the sending method to Peppol only for customers with a verified endpoint, and send other customers their invoices by email.
Finally
Peppol across borders works well in Odoo, as long as the customer data is complete. Want us to check your foreign customers, or set up Peppol for a new country? See our Peppol page, contact DAADit Group or take the free Business Scan. At DAADit, AI builds and a consultant checks.