Since 1 January 2026, a PDF invoice emailed to a VAT-registered Belgian customer is no longer a compliant invoice. That was not particularly awkward in January: the tax administration had granted a tolerance covering the first months of the year. That tolerance ended on 31 March 2026, and the one covering self-billing on 30 June. By August 2026, there is no cushion left.
If you are still wondering what Peppol is, why the network looks so heavy and how it can nonetheless save you time, start with our dedicated article: Peppol costing you time? Why, and how to turn it into a gain. It covers the subject end to end and we do not go back over it here.
This article deals with something else, and with one thing only: the legal obligation itself — who it targets, who it spares, what it exposes you to if you fall short — and the concrete Odoo configuration that answers it. At doo.FINANCE, an Odoo Gold Partner, this is the question our Belgian clients have put to us most often since the spring: "how do I check that I am really sending and really receiving?"
Who has to issue electronic invoices in Belgium, and since when
The SPF Finances (FOD Financiën), Belgium's federal tax administration, is explicit: the obligation covers "almost all transactions between VAT-registered Belgian businesses", since 1 January 2026. It is symmetrical — you must issue structured electronic invoices, and you must be able to receive them. Many SMEs have handled the first half and forgotten the second: it is the most frequent mistake we come across on audit.
Two points matter when working out whether you are in scope or not:
- The obligation applies to domestic B2B, between taxable persons established in Belgium. Your invoices to private individuals (B2C) and abroad follow other rules.
- B2G (invoicing to public authorities) was already electronic before 2026 — if you work with the public sector, part of the road is behind you, but a working B2G channel does not amount to B2B compliance.
The exclusions set out in the VAT Code
The list of exceptions is short and closed. According to the SPF Finances, the following fall outside the scope:
- taxable persons in bankruptcy
- taxable persons under the flat-rate scheme of article 56 of the VAT Code (Code de la TVA) — and only until 1 January 2028
- taxable persons not established in Belgium and without a fixed establishment
- transactions exempt under article 44 of the VAT Code
- businesses carrying out only exempt transactions.
Two traps sit there. The first: the "article 44" exclusion is an exclusion per transaction, not per business. A medical practice that also invoices taxed services remains in scope for those services. The second: the flat-rate scheme is an exemption with an expiry date. Planning around it as a permanent status means scrambling through the project in a hurry at the end of 2027.
If you are in any doubt about your own situation — mixed taxable person, partially exempt activity, foreign structure with a Belgian establishment — have the question settled before you configure anything. The configuration follows from the status, never the other way round.
The tolerances are behind you, the penalties are ahead
A general tolerance applied during the first three months of 2026, to give businesses time to get in order; the tax administration declared it ended on 31 March 2026. A tolerance specific to self-billing ran until 30 June 2026. Today, neither of the two protects you.
A royal decree published in the summer of 2025 sets out a progressive scale of administrative fines, rising with each further breach recorded. We do not quote figures here: the scale that applies depends on your situation and on the version of the text in force — have it confirmed by your adviser or by the administration. What matters is not the amount, but that the period when the administration looked the other way is over.
What you need to have configured in Odoo
Good news: if you are already on Odoo, there is nothing to buy. Odoo is a Peppol access point and the send/receive service is built into Accounting. What is missing, in almost every file we take over, is not a module — it is a registration that was never carried out.
1. The foundation: Belgian localisation and clean identifiers
Before Peppol, check three things in your database:
- the Belgian fiscal localisation is installed, with its chart of accounts and its rates (21%, 12%, 6%, 0%); if your VAT configuration has never been reviewed, our guide Setting up VAT: how to do it covers the procedure
- your company VAT number is filled in, in the format BE plus 10 digits, without spaces
- your Belgian customer records carry a valid VAT number. A record without a usable number cannot be addressed on the network — and that is the leading cause of failed sending.
This is data cleaning work, not configuration. It often takes longer than the activation itself, and everything else depends on it.
2. Activating Peppol in Odoo: the exact path
In Accounting ‣ Configuration ‣ Settings, open the PEPPOL Electronic Invoicing section, then:
- click on Activate Electronic Invoicing
- fill in the Peppol endpoint identifier — the identifier type, chosen from the drop-down list; for a Belgian business, this is the scheme associated with the company number / VAT number
- enter the Peppol endpoint: the number itself
- complete the email and phone fields with the country dialling code — they are used to verify the registration
- click on Activate Peppol.
The status then moves to pending activation and switches over automatically, generally within 24 hours. Until it has switched, you are not on the network — even if Odoo shows your invoices as ready. This is the point we see misread most often.
3. Configure receiving, not just sending
Since the obligation is symmetrical, the receiving side has to be configured explicitly:
- Incoming Invoices Journal: the purchase journal in which supplier invoices arriving through Peppol will be created
- Document Workspace: the destination folder, to be specified if you use several purchase journals.
Once these two fields are set, invoices received on the network are imported automatically as drafts into the chosen journal — with their structured data, so without re-keying and without OCR. That is the real operational gain from the obligation, and it is precisely the subject of the Peppol article mentioned above.
