Odoo Peppol E-Invoicing: Belgium 2026 Mandate, Setup and Cost Guide
Odoo Peppol explained for 2026: Belgium's B2B e-invoicing mandate, fines, Odoo 19 and 20 setup steps, receiving bills, version support and real costs.
Belgium's B2B e-invoicing rule is now live, and many Odoo users switched Peppol on in a hurry. Our Odoo consulting services help finance teams check that their Odoo Peppol setup works for every customer, every journal and every vendor bill.
This guide is for owners, CFOs and accountants in Belgium and the wider EU who run Odoo or plan to. If you are new to the accounting side, start with our guide on how Odoo Accounting works.
What is Odoo Peppol and how does it work?
Odoo Peppol is Odoo's built-in connection to the Peppol network, which lets you send invoices and receive vendor bills as structured data instead of PDFs. Odoo acts as both the access point and the SMP, so no outside connector is needed.
Your access point sends a structured file to your customer's access point, which delivers it into their software as data their system can book.
Odoo's electronic invoicing documentation says Peppol registration is free and in Odoo Community. Odoo sends Peppol BIS Billing 3.0, XRechnung CIUS and NLCIUS.
Odoo lists more than 40 eligible countries, including Belgium, the Netherlands, Germany, France and the UK.
What does the Belgian e-invoicing mandate require in 2026?
The e-invoicing mandate in Belgium requires every VAT-liable Belgian business to send and receive structured e-invoices for domestic B2B transactions since 1 January 2026. Peppol BIS is the default format and Peppol the default network.
| Date | Rule | What it means for you |
|---|---|---|
| 1 March 2024 | B2G e-invoicing for public contracts published after this date, generally EUR 3,000 or more | Invoices to the government go through Mercurius |
| 1 January 2026 | Structured e-invoices compulsory for domestic B2B | A PDF by email is no longer a valid invoice |
| January to March 2026 | Tolerance period for firms that took timely steps | Over now; fines can apply |
| From April 2026 | Fines of EUR 1,500, then EUR 3,000, then EUR 5,000 | Missing the technical means is a fineable offence |
| 2028 (planned) | Near real-time e-reporting to the tax authority | In the coalition agreement, not yet in law |
| 2030 (planned) | Intra-EU invoicing covered | Linked to the EU ViDA package |
The rule does not cover sales to private individuals. Odoo's Belgium e-invoicing page also notes the seven-year invoice storage rule, which Odoo's archive supports.
The Royal Decree of 8 July 2025 lets two parties agree another format only if it meets EN 16931. Put that in writing.
Which Odoo versions support Peppol?
Odoo's Peppol module exists from Odoo 16 to Odoo 20, but only Odoo 18, 19 and 20 are still in standard support. That matters because Peppol rules and fixes keep changing.
- Odoo 19 and 20: the current documented flow, with a participation role setting and Documents app reception.
- Odoo 18: supported until September 2027, with an older settings layout.
- Odoo 16 and 17: the module exists, but standard support has ended, so new Peppol fixes will not reach you.
- Odoo 15 and older: no built-in Peppol module; you need an upgrade or a third-party connector.
Odoo 20 adds small but useful changes. Our Odoo 20 Accounting release notes show GLN numbers on delivery contacts for Peppol, a send dialog grouped by sending method, and an easier e-invoicing onboarding.
Check your version against our Odoo version support timeline before you plan. Databases on Odoo 17 or older also pay Odoo's 25% legacy surcharge.
How do you set up Peppol in Odoo 19 and 20?
Peppol registration in Odoo takes a few minutes in Accounting settings, and activation usually completes within a day. Plan the testing time, not the click time.
- Go to Accounting, then Configuration, then Settings, and scroll to Electronic Invoicing.
- Click Activate Peppol and pick your identifier, such as your Belgian company number or VAT number.
- Enter the contact email and phone with the country code, such as +32, and confirm.
- Choose the Peppol participation role: Sending and Receiving, or Sending Only.
- If you receive, choose the purchase journal for bills, or a Documents folder and tags.
- Wait for activation; Odoo's scheduled action checks the status automatically.
- Set each Peppol customer's eInvoice format and endpoint on the Accounting tab of their contact.
- Send a confirmed invoice with the "by Peppol" option and check that its status turns to Done.
To test without real data, use Odoo's demo mode with the Odoo Demo ID endpoint, then deregister and register again in production.
If you used another access point before, deregister there first. If that provider was Hermes, the free BOSA service, Odoo says the move is handled automatically.
How do you check that a customer is on Peppol?
Before you send, verify that the customer's Peppol endpoint is valid in Odoo, because a wrong endpoint is the most common reason an invoice fails. Odoo prefills the number, but you should confirm it.
Open the customer, go to the Accounting tab, choose the eInvoice format and select the right country identifier. In developer mode, click Verify. Odoo marks the Peppol endpoint verification as Valid when it finds the contact on the network.
Use the Peppol Ready filter to see what can be sent, and set "by Peppol" as each customer's default sending method.
How does Odoo receive vendor bills through Peppol?
When you register for sending and receiving, Odoo checks for new Peppol documents several times a day and creates draft vendor bills or files them in Documents. Your team then reviews and posts them.
Bills arrive as data, so vendor, amounts and taxes fill in without typing. In Odoo 20, imported bills also reuse the account last used for the same vendor and label.
For a review step, use the Documents route, which needs the Documents app and the Documents Import from Peppol module. Self-bills can also go through Peppol.
Odoo as your Peppol access point or a third-party provider?

For most Odoo users, Odoo's own Peppol access point is the simplest choice, while a third-party provider makes sense mainly for very old versions or group-wide e-invoicing across many systems. Compare them on the points below.
| Factor | Odoo built-in access point | Third-party access point |
|---|---|---|
| Registration cost | Free, per Odoo docs | Usually a subscription or per-document fee |
| Odoo versions | Module in 16 to 20 | Any version, through a connector |
| Setup effort | Settings plus contact clean-up | Connector install, mapping and testing |
| Receiving bills | Draft bills or Documents, built in | Depends on the connector |
| Upgrades | Moves with your Odoo version | Connector must be ported each upgrade |
| Best fit | Odoo 18, 19 or 20 databases | Odoo 15 or older, or mixed ERP groups |
Pick one route, deregister from the other, and tell customers and suppliers the date you switch.
What does Odoo Peppol cost?
Odoo Peppol costs little in licenses, because registration is free; the real cost of Odoo Peppol e-invoicing is setup, data clean-up and, for older databases, an upgrade. Budget for the work, not the connection.
| Cost item | Typical figure | Source or note |
|---|---|---|
| Peppol registration in Odoo | Free | Odoo documentation |
| Odoo Standard (US, billed yearly) | US$31.10 per user a month | Odoo pricing page |
| Odoo Standard (India, billed yearly) | Rs 725 per user a month | Odoo pricing page |
| Odoo Custom (US, billed yearly) | US$61.00 per user a month, adds Studio | Odoo pricing page |
| Small Odoo implementation | $3k to $9k, 4 to 8 weeks | Our published ranges |
| Data migration from another system | $1.2k to $9k | Our published ranges |
Check current list prices on the Odoo pricing page, which also shows first-year discounts and the One App Free plan. Studio, which you need to add extra Peppol fields, comes with the Custom plan.
For an existing, supported Odoo database, switching Peppol on is usually a few days of configuration and testing (illustrative, our experience). For a quick indicative budget, use our Odoo project estimate tool.
Belgium also softens the bill. For the 2024 to 2027 tax periods, small SMEs and self-employed people can deduct 120% of subscription costs for invoicing programmes. The digital investment allowance rose to 20% from 1 January 2025. Confirm both with your accountant.
Common Odoo Peppol problems and how to fix them
Most Odoo Peppol problems come from endpoints, contact data or receiving settings, not from the network itself. These come up most often, including on the Odoo forum.
- Endpoint shows invalid: users report cases where Peppol endpoint verification changed to invalid for all clients. Re-check the identifier scheme and run the participant status action.
- Suppliers cannot reach you: a thread titled suppliers can't send me invoices via Peppol is typical. Check that your role is Sending and Receiving, not Sending Only.
- Old provider still registered: deregister from the previous access point first, or documents may go to the old system.
- Missing references: some buyers need order or project references; add the extra Peppol fields with Studio.
- Custom invoice code: heavy customization of invoices can break the XML; test every invoice type before go-live.
Odoo Peppol beyond Belgium: EU and UK rollout
Belgium went first, but Peppol and e-invoicing mandates are spreading across Europe and the UK, so an Odoo Peppol setup is a long-term investment. Check each country where you invoice.
| Country | E-invoicing status | Odoo note |
|---|---|---|
| Belgium | B2B mandatory since 1 January 2026 | Odoo Peppol access point |
| Germany | Receiving required since 2025; sending phased in 2027 and 2028 | XRechnung CIUS supported |
| France | Receiving for all and sending for large and mid-sized firms from 1 September 2026; SMEs send from 1 September 2027 | Runs through approved platforms |
| Luxembourg | B2G mandatory; B2B encouraged | UBL to EN 16931 supported |
| Netherlands | Peppol widely used, especially B2G | NLCIUS supported |
| United Kingdom | B2B and B2G e-invoicing planned from April 2029, built on Peppol | UK eligible for Peppol in Odoo |
UK firms can read our guide to Odoo and HMRC MTD compliance. The UAE's Peppol-based PINT AE model is covered in our Odoo UAE e-invoicing setup guide.
Which industries face the hardest Odoo Peppol work?
Industries with many B2B invoices, public sector customers or complex references face the most Peppol work in Odoo. The table shows where the effort usually goes.
| Industry | Pain or cost driver | Odoo approach | How iVentureTeam helps |
|---|---|---|---|
| Wholesale and distribution | High invoice volume, many delivery addresses | Batch sending, GLN on delivery contacts | Clean contacts and test batches |
| Construction | Progress bills, project references | Extra Peppol fields such as project reference | Map references with Studio |
| Professional services | Many small clients, public tenders | Mercurius for B2G, Peppol for B2B | Set sending method per client |
| Manufacturing | Supplier bills with many lines | Draft bills from Peppol data | Tune bill rules and journals |
| Retail and eCommerce | Mostly consumers, some B2B buyers | Receive supplier e-invoices; Peppol for B2B | Split B2C and B2B flows |
How iVentureTeam helps with Odoo Peppol setup

iVentureTeam sets up, tests and repairs Odoo Peppol e-invoicing so your invoices and bills flow through the Peppol network without manual fixes. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.
- Readiness check: version, localization, contacts, identifiers and invoice templates reviewed against the Belgian rules.
- Setup and testing: Peppol registration, demo mode tests, receiving journals and Documents folders.
- Data clean-up: customer endpoints, VAT and company numbers, and GLN codes on delivery addresses.
- Upgrades: our Odoo upgrade services move Odoo 16, 17 or older to a supported version.
- Support: fixes when invoices bounce or bills stop arriving.
Odoo Peppol case study: Fernando Tax Management
A Dutch tax practice moved from manual, duplicate entries to automated accounting on Odoo 18, the same kind of clean base that Peppol e-invoicing needs. Fernando Tax Management B.V. works across the Netherlands and Curaçao.
The firm had outgrown a rigid legacy system. Manual entry produced duplicate records, and reports had translation gaps in output that feeds government compliance.
We migrated the firm to Odoo 18 in 10 weeks, built a cost tracking workflow into Sales and Purchase, fixed hidden journal lines and translation defects, and built localized tax compliance reports.
The firm reports a 60% reduction in manual data entry. Read the Fernando Tax Odoo accounting automation case study.
The bottom line on Odoo Peppol
If you run Odoo 18, 19 or 20, Odoo Peppol is the simplest way to meet Belgium's 2026 mandate; if you run Odoo 17 or older, plan an upgrade. The connection is free, so spend your effort on data and testing.
Verify every customer endpoint, turn on receiving, test each invoice type in demo mode and watch the planned 2028 e-reporting rules.
Ready to get your Odoo Peppol setup checked?

Find out in one call whether your Odoo is ready for Peppol. Ask for an Odoo Peppol readiness review, call +91-90235-15208, or email business@iventureteam.com.
Frequently Asked Questions
Is Peppol free in Odoo?
+
Yes. Odoo's documentation says Peppol registration is free and available in Odoo Community. You still pay for your Odoo plan and for any setup, data clean-up or testing work.
Is Odoo a Peppol access point?
+
Yes. Odoo acts as both a Peppol access point and an SMP, so you can send and receive Peppol documents from Odoo without a separate provider.
Is Peppol mandatory in Belgium?
+
Structured B2B e-invoicing has been mandatory in Belgium since 1 January 2026. Peppol BIS on the Peppol network is the default, though parties may agree another format that meets EN 16931.
What are the fines for not using e-invoicing in Belgium?
+
The Royal Decree sets fines of EUR 1,500 for a first offence, EUR 3,000 for a second and EUR 5,000 for later ones. The tolerance period covered only the first three months of 2026.
How long does Peppol registration take in Odoo?
+
Filling in the form takes minutes, and Odoo says activation should complete automatically within a day. Allow extra days to verify customers and test each invoice type.
Which Odoo version do I need for Peppol?
+
The Peppol module exists from Odoo 16 to 20, but use Odoo 18, 19 or 20, which still get standard support and fixes. Odoo 15 and older need an upgrade or a third-party connector.
Can Odoo receive vendor bills through Peppol?
+
Yes. With the Sending and Receiving role, Odoo checks for new documents several times a day and creates draft vendor bills, or stores them in the Documents app for review.
Does Odoo Community support Peppol?
+
Yes. Peppol registration is available in Odoo Community. Some extras, such as the Documents app route for bills and Studio for extra Peppol fields, need Odoo Enterprise.
Ready to put this into action?
Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.
Free Odoo tools
All tools- Odoo Health CheckVersion, modules, findings and upgrade cost
- Odoo App SelectorWhich apps you need, by industry
- Odoo Project EstimateIndicative cost and timeline in minutes
- Odoo Implementation Cost CalculatorImplementation cost and timeline, in minutes
- Odoo Migration Cost CalculatorVersion jump or legacy ERP, priced in minutes
Continue reading
Odoo UAE E-Invoicing Setup: PINT AE, ASPs and Odoo 19/20 Readiness
How to set up UAE e-invoicing in Odoo 19 and 20: PINT AE mapping, accredited service provider choice, EmaraTax onboarding, deadlines, penalties and costs.
Odoo 20 Inventory Valuation: Changes, FIFO vs AVCO and Upgrade Checks
Odoo 20 inventory valuation explained: what changed since Odoo 18 and 19, FIFO vs AVCO, Anglo-Saxon perpetual setup, reports and upgrade checks to run.
Odoo Warehouse Management System: WMS Guide for Odoo 19 and 20
Set up the Odoo warehouse management system in Odoo 19 and 20: locations, putaway rules, routes, replenishment, barcode picking, cycle counts and 3PL limits.
