Odoo invoicing compliance in Belgium: the 2026 checklist
In short, Since January 1st, 2026, electronic invoicing is mandatory for B2B exchanges between VAT-registered Belgian businesses: invoices must be sent over the Peppol network in a structured format, no longer as PDFs by email. In Odoo, compliance rests on three pillars: an operational Peppol registration, partner records with valid VAT numbers, and sequential, continuous, chronological invoice numbering. This article details the 12 checks to run on your instance.
Since January 1st, 2026, structured electronic invoicing has been mandatory for B2B transactions between VAT-registered businesses in Belgium. For the thousands of Belgian SMEs running on Odoo, Odoo invoicing compliance in Belgium is no longer just an accountant's concern: it is a matter of configuration, data quality and operational discipline. A poorly configured Odoo instance can issue non-compliant invoices for months without anyone noticing, until an audit. This article covers what is required under Belgian law, where Odoo has you covered, where it does not, and gives you an actionable checklist to verify your own instance.
Peppol compliance · 3 pillars
- 01
Peppol registration
Required · Company registered as sender, structured sending by default.
Pitfall · Otherwise invoices go out as PDFs, non-compliant, with no error.
- 02
Partner records
Required · VAT number filled, correctly formatted, checked against VIES.
Pitfall · A missing or malformed number means the invoice is not routed.
- 03
Numbering
Required · Continuous sequence, chronological dates, deletion locked.
Pitfall · Deleting an invoice leaves a gap you must justify in an audit.
All 12 checklist items map back to one of these three pillars.
Electronic invoicing in Belgium: what does the 2026 mandate require?#
The headline fact is simple: since January 1st, 2026, B2B invoices between Belgian VAT-registered businesses must be issued as structured electronic invoices, transmitted over the Peppol network in the Peppol BIS format. In other words, mandatory B2B electronic invoicing in Belgium runs over the Peppol network: "electronic invoicing" is the everyday term, "Peppol" is its technical channel.
The key word is structured. A PDF sent by email is not a structured invoice. Neither is a digitally signed PDF. A structured invoice is an XML file conforming to a standardized schema that your customer's accounting software can ingest and process automatically, with no re-keying. The PDF remains useful as a human-readable representation, but it is no longer the document that counts for B2B exchange.
In practice, in Odoo, this means two things:
Your Peppol setup must be operational. Odoo includes a Peppol access point (depending on your version and hosting mode, through Odoo itself or via a third-party access point provider). If your company is not registered on the network, your invoices go out as PDFs by email like before, and you are outside the legal framework with no visible error message.
The quality of your partner records determines whether invoices can be sent at all. To route an invoice over Peppol, Odoo needs the recipient's identifier, in practice, their company number or VAT number, correctly entered on the customer record. A record with no VAT number, a badly formatted number, or an outdated one means an invoice that does not go out, or goes out through a non-compliant channel. Your compliance therefore depends directly on the cleanliness of your partner database, something many SMEs have been putting off for years.
For the exact scope of the obligation and edge cases (foreign customers, exempt businesses, B2C operations), the rules have nuances: have your situation validated by your accountant or tax advisor.
Odoo invoicing compliance in Belgium: which invoice mentions are mandatory?#
Independently of Peppol, a Belgian invoice must carry a set of mandatory mentions. They existed before 2026 and are still required. The main ones:
- Your VAT number in the BE format followed by your company number, plus the VAT number of your VAT-registered customer.
- Your company number (CBE/KBO) and the RPM/RPR mention indicating the enterprise court with jurisdiction over your registered office.
- Your IBAN, so the customer can pay into the right account.
- The issue date and a sequential invoice number, unique and continuous.
- Payment terms: due date, and where applicable any early-payment discount or late-payment penalties provided for in your general terms.
On top of that come the substantive elements: full identity of both parties, description of the goods or services, taxable base, VAT rate and amount per rate, total payable.
The point most people underestimate: Odoo does not check all of this for you by default. Odoo will happily print an invoice with no IBAN if your journal has no bank account attached. It will print an invoice without the RPM/RPR mention if you never added it to your company footer. It will validate an invoice for a customer whose VAT field is empty. The software does what it is told; compliance depends on the configuration someone did (or did not do) on installation day, often years ago, often by someone who is no longer around.
What are the most common Odoo pitfalls?#
In the field, the non-compliance issues found in Belgian Odoo instances are almost always the same.
Sequence gaps#
Belgian rules require numbering that is sequential, continuous and chronological. The classic trap: a user deletes a validated invoice instead of cancelling it with a credit note. The result is a hole in the sequence (INV/2026/0041 then INV/2026/0043), which will have to be justified in an audit. Odoo can restrict deletion, but many instances run with overly broad access rights inherited from the implementation phase.
Broken chronological order#
Backdating an invoice, validating it in June with a May date to "get it into the right month", breaks the chronology of the sequence: an invoice with a higher number carries an earlier date than the previous one. It is a common practice at period close, and it is exactly the kind of anomaly an auditor spots in minutes with a simple sort.
Drafts left lying around#
A draft invoice carries no definitive number and does not exist for tax purposes. January drafts still unvalidated in June mean revenue not declared in the right period, shifted VAT, and a sequence that will be built out of order when someone finally validates them in bulk.
Customer records without a valid VAT number#
Before Peppol, a missing VAT number on a customer record was a problem with the mentions on the invoice. Since 2026, it is also a routing problem: no valid identifier, no structured delivery. Badly formatted numbers, numbers of deregistered entities, duplicate records with contradictory data, all of that used to go unnoticed. Not anymore.
Misconfigured journals#
Several sales journals created over the years, with overlapping sequences or inconsistent prefixes; a journal with no linked bank account (and therefore invoices without an IBAN); a test journal used in production. Journal configuration is the foundation of your numbering, and it is the screen nobody opens again after go-live.
The 2026 checklist#
Here are the checks to run on your Odoo instance. Each item can be verified concretely, with no custom development.
- Verify your Peppol registration: is your company registered as a sender on the network, and is the default sending mode for customer invoices the structured channel (not PDF by email)?
- Audit your own company record: VAT number, company number, RPM/RPR mention with the competent court, full address, bank account.
- Check your invoice footer: generate an invoice PDF and verify line by line that every mandatory mention is present.
- Review your sales journals: a clear sequence prefix per journal, no overlap, a bank account attached to each one.
- Hunt for sequence gaps: sort this year's invoices by number and look for holes. Every hole should have a documented explanation.
- Verify chronology: in that same sort by number, dates must be ascending. Any inversion signals backdating.
- List old drafts: filter invoices in draft state with a date more than a few days old, and deal with them (validate, or deliberately delete before numbering).
- Audit your B2B customers' VAT numbers: field filled in, valid format, and ideally checked against the VIES database.
- Lock down deletion: restrict deletion rights on validated invoices, and enforce credit notes as the only cancellation path.
- Enable period locking: once a VAT return is filed, the period should be locked to prevent any backdated entries.
- Test a real Peppol delivery to a customer (or your accountant) and confirm proper receipt in their software.
- Document the procedure: who validates invoices, who can issue a credit note, who monitors Peppol rejections, so compliance survives departures and holidays.
Do this exercise once, seriously, and you will have an honest snapshot of your situation. The problem is the following month: compliance is not a state, it is a process.
How do you automate the checks?#
Everything above can be verified by hand. But nobody re-runs this audit every week, and it is precisely between two audits that sequence gaps appear, drafts pile up, and a new customer gets created without a VAT number.
That is exactly what the UpBoard Finance agent is for. Connected to your Odoo in read-only mode, it continuously runs the checks on this list: detecting sequence holes and chronology breaks, draft invoices past the normal delay, partner records without a valid VAT number, invoices issued without the expected mentions. Instead of an annual audit, you get permanent monitoring, with alerts at the moment the anomaly is still easy to fix, not six months later in front of an auditor.
The simplest starting point: the free UpBoard scan analyzes your Odoo instance and surfaces the invoicing anomalies already present in your data, in a few minutes. No commitment, no writes to your ERP, and an immediate picture of where you really stand against the checklist above. And if you want the full overview of running Odoo in Belgium, localization, filings, e-invoicing, our Odoo Belgium page brings it all together.
Conclusion#
The 2026 Peppol mandate turned a paperwork topic into a data topic: in Belgium, your invoicing compliance now depends directly on the quality of your Odoo configuration and your partner records. The good news is that all of it is verifiable, and automatable. Run the checklist once, then let an agent run it for you, every day, which is exactly what UpBoard.ai, the layer of specialized AI agents for Odoo, does with its read-only Finance agent. Start with the free scan: fifteen minutes to find out where you actually stand.
Frequently asked questions
When does electronic invoicing become mandatory in Belgium?
Since January 1st, 2026, structured electronic invoicing has been mandatory for B2B transactions between VAT-registered businesses in Belgium. Invoices must be issued in the Peppol BIS format and sent over the Peppol network, no longer as PDFs by email. B2C operations and certain edge cases (foreign customers, exempt businesses) follow different rules that your accountant should confirm.
Is Odoo Peppol-compatible and ready for Belgian e-invoicing?
Yes, Odoo includes a Peppol access point and can issue structured electronic invoices, but technical compatibility is not enough. Your company still has to be registered as a sender on the network, and your partner records need valid VAT numbers. Without that registration, Odoo keeps sending your invoices as PDFs by email with no error message, and you are outside the legal framework.
Which legal mentions are mandatory on a Belgian invoice?
A Belgian invoice must carry your VAT number and your registered customer's, your company number (CBE/KBO) with the RPM/RPR mention and the competent court, your IBAN, the issue date, a unique sequential number and your payment terms. On top of that come the full identity of both parties, the description of goods or services and the VAT detail per rate. Odoo enforces none of these by default: their presence depends on your configuration.
What are the risks of non-compliant invoicing?
Non-compliant invoicing exposes you to tax penalties: rejection of VAT deduction, fines and reassessment in the event of an audit. Beyond penalties, an invoice that does not go out properly over Peppol may simply never be received or paid by your customer. The risk grows because anomalies (sequence gaps, records without a VAT number) pile up silently for months.
How can I check that my Odoo is e-invoicing compliant?
The simplest way is to start with the free UpBoard scan, which analyzes your Odoo instance in minutes and surfaces the anomalies already present: sequence gaps, old drafts, partner records without a valid VAT number. You can also work through this article's 12-point checklist by hand. The UpBoard Finance agent then re-runs these checks continuously, not once a year.
Do I need a specific module or an integrator for electronic invoicing?
Not necessarily. For most SMEs, electronic invoicing runs on Odoo's native Peppol features, provided you register your company on the network and clean up your partner data. An integrator becomes useful for complex setups (multiple companies, multiple journals, specific flows), but the core of compliance is a matter of configuration and data quality, not development.
Read next
- Odoo 19 native AI vs dedicated solution: the 2026 choiceOdoo 19 AI: what the native AI does well, where it falls short for steering the business, and when a dedicated layer is worth it. An honest comparison.
- How much does AI for Odoo really cost in 2026?Odoo AI cost breakdown: credits, licenses, integration, maintenance. Native vs dedicated SaaS vs custom builds, and UpBoard's transparent model.
- The 7 KPIs every SMB CEO should track each MondaySMB CEO KPIs: cash, DSO, margin, pipeline, stock, overdues, support. The 7 numbers to read every Monday morning, with concrete action thresholds.
See what your Odoo data has to tell you
A 30-minute demo on your own data, leave with your first quantified opportunities.