
"We already do Peppol, so we have EDI, right?" We hear it often. The answer is: partly.
Both send structured documents from one company's system to another's. They solve different problems, and many suppliers end up needing both. Here is the difference, and how each one works with Odoo.
What is Peppol?
Peppol is an open network for exchanging business documents. You register once, and any other registered company can receive your invoices, whichever software it uses. The standard invoice format is Peppol BIS Billing 3.0. It is written in UBL and follows the European e-invoicing standard, EN 16931.
Governments push e-invoicing:
- Belgium: since 1 January 2026, VAT-registered companies established in Belgium must send each other structured e-invoices. In principle, they travel over Peppol.
- Norway: suppliers to the public sector have had to send e-invoices in EHF, the Norwegian version of Peppol BIS, since 2019.
- The Netherlands: e-invoicing between companies is still voluntary. In September 2026, the government announced plans to make it mandatory from 1 July 2030, including domestic sales. It is a proposal, not yet law.
What does Odoo do with Peppol?
Odoo sends and receives Peppol invoices natively, because it is a Peppol access point itself. There is no separate integration to set up. Registration is free, even in Odoo Community.
- You activate it in the Accounting settings, under "Electronic Invoicing". According to Odoo's documentation, it should be active within a day.
- Odoo sends customer invoices and credit notes over Peppol, and receives vendor bills and refunds.
- Odoo can check whether each customer is on Peppol, and whether it can receive the format you send.
What is EDI, and how is it different?
EDI is older and broader. It covers the whole order cycle: the order (ORDERS), the despatch advice (DESADV), the invoice (INVOIC), and sometimes labels and stock messages.
But EDI is agreed per trading partner: their provider, their format, and their rules. Both sides identify locations and products with GS1 numbers (GLN and GTIN). A large wholesaler sets the terms, and its suppliers follow.
Standard Odoo covers a small part of EDI. Since version 18, it can read a purchase order sent as a UBL file, but not EANCOM files or an EDI provider's own XML. For those, you need a connection per trading partner or provider, like the one we built with Type 2 Solutions. The connection is described in EDI in Odoo: ORDERS, DESADV and INVOIC explained.
How do Peppol and EDI compare?
| Peppol | EDI | |
|---|---|---|
| Documents | Mainly invoices and credit notes | Orders, despatch advice, invoices, labels, and more |
| Who decides the format | The Peppol standard | Your trading partner |
| How you reach the other side | Register once, reach everyone on the network | One setup per trading partner or provider |
| Identifiers | A company ID, such as the VAT or company registration number | A GLN per location, a GTIN per product |
| In Odoo | Built in | Needs a connection, such as a Connecta app |
What has to be set correctly for each Peppol customer?
Peppol is not a switch you turn on once for all your customers. In Odoo it is set per customer, and four things must be right:
- The customer's country is set, because it determines which identifier scheme Odoo uses.
- The Peppol endpoint is filled in, usually the company registration number or the VAT number.
- The customer has been verified as reachable on the network.
- The e-invoice format is one that Peppol accepts: BIS Billing 3.0, or NLCIUS for Dutch customers.

In a recent Odoo project, a company's Norwegian entity started invoicing. Everyone assumed "Peppol is on". Of 18 Norwegian customers with invoices, one met all four. Among the rest, twelve had no country. One was set to send by Peppol without an endpoint, so its invoices would have failed. If you do not check each customer first, none of it shows until you send.
Before you start sending by Peppol:
- Check the company, not the contact person. Odoo reads the e-invoice format from the company the contact belongs to.
- Send one test invoice through a Peppol validator. It checks the file against the Peppol rules before a customer receives it.
What if a customer asks for EDI and you already use Peppol?
A supplier to a large wholesaler often sends the despatch advice and the invoice through the wholesaler's EDI, and uses Peppol to invoice everyone else. Odoo handles the Peppol side. Connecta handles the EDI side, inside the same Odoo, with the same customers and products.
Agree on two points with that customer:
- Which channel carries the invoice. In Belgium, Peppol is the default. Another channel, such as your customer's EDI, is only possible if you both agree. The invoice must still meet the European standard, EN 16931, so ask the EDI provider whether its invoice message does.
- How to make sure each invoice goes out only once. Peppol does not detect duplicates, so the same invoice could be booked twice. In Odoo 19, Peppol is selected by default for a customer on Peppol in a country such as Belgium, the Netherlands, or Norway. That happens whatever sending method the customer has. For a customer who gets its invoices through EDI, make sure Peppol is not selected when you send.
What should you ask your customer first?
- Which documents? Only invoices, or orders and despatch advice too.
- Over which channel? The Peppol network, or a specific EDI provider.
- In which format? Peppol BIS, EANCOM, or the provider's own XML.
If the answer is invoices only, over Peppol, Odoo handles it as soon as each customer is set up. If orders and despatch advice come through your customer's EDI provider, you have an EDI project. Invoices only, but through the EDI provider? For a Belgian customer, ask the provider whether its invoice message meets EN 16931.
Frequently asked questions
Is Peppol mandatory in Belgium?
Structured e-invoices are. Since 1 January 2026, VAT-registered companies established in Belgium must send each other structured e-invoices. Peppol is the default network for them, and another channel needs both sides to agree.
Does Odoo support Peppol?
Yes. Odoo is a Peppol access point, and registration is free, even in Odoo Community. It sends invoices and credit notes, and receives vendor bills, over Peppol.
Can a customer make me use its own portal?
Not in Belgium, unless you explicitly agree. According to the official Belgian e-invoicing FAQ, a customer cannot require invoices to go only through its own portal.
Does Peppol replace EDI?
No. Peppol also has formats for orders and despatch advice, but Odoo uses it for invoices and credit notes. A large customer that asks for EDI usually wants the order and the despatch advice too, in the format and through the provider it chooses.
Odoo already sends invoices over Peppol to the customers who are set up for it. For the large customer who asks for EDI, start with three questions: which documents, over which channel, and in which format.
See an EDI connection
If one of your customers is asking for EDI, book a demo and we'll show you what an EDI connection looks like in Odoo.
Book a demo