Since January 1, 2026, every VAT-registered business in Belgium must exchange structured electronic invoices through the Peppol network using BIS Billing 3.0 (UBL 2.1 format). With enforcement penalties of €50–€250 per non-compliant invoice now active since April 2026, getting your ERP properly connected is no longer optional — it's urgent.
This guide is designed for IT managers, ERP administrators, and finance directors at Belgian companies navigating the technical side of Peppol integration. We cover the three main integration approaches, provide ERP-specific implementation paths for the most popular systems in Belgium, and include a battle-tested go-live checklist based on real-world deployments across Belgium's 1.1 million affected businesses.
1.1M+
Businesses affected
UBL 2.1
Required format
30+
Certified Access Points
3–5 days
Avg. integration time
Integration Overview
Connecting your ERP system to Belgium's Peppol network involves four fundamental components: your ERP (the invoice source), a connector or middleware layer (which transforms ERP data into compliant UBL 2.1), a certified Peppol Access Point (which transmits the invoice), and the Peppol network itself (the 4-corner delivery infrastructure).
The critical decision is how you bridge the gap between your ERP's internal data model and the Peppol BIS Billing 3.0 standard. Belgian invoices must include specific fields mandated by FPS Finance (SPF Finances):
If your ERP can natively produce UBL 2.1 XML with all these fields correctly populated, you need only a transport layer to reach a Peppol Access Point. If it cannot — and most legacy systems cannot out-of-the-box — you'll need either a middleware mapper or an API-based conversion service.
ERP Compatibility
Belgium's business landscape runs on a diverse ERP ecosystem. Here's the current Peppol readiness status of the most widely used systems, and the specific integration paths for each.
SAP S/4HANA & SAP Business One
Native ReadySAP S/4HANA (release 2023 FPS02+) includes the Document Compliance add-on, which natively generates Peppol BIS 3.0 UBL 2.1 invoices. Enable the Belgian localization package via transaction SPRO → Financial Accounting → Accounts Receivable → Electronic Invoicing → Belgium Peppol. SAP Business One requires the B1 E-Invoicing add-on (version 3.0+) from SAP's partner ecosystem. Map your SAP invoice types to Peppol type codes: FI → 380, CR → 381, DR → 384. The key field mapping is SAP's STCD1 (tax number 1) to the Peppol EndpointID with scheme 0208.
Microsoft Dynamics 365 Finance & BC
Native ReadyDynamics 365 Finance (version 10.0.36+) and Business Central (2024 Wave 2+) both support Peppol BIS 3.0 out of the box. In D365 Finance, navigate to Accounts Receivable → Setup → e-Invoice → Belgian Peppol Configuration. The system maps D365 invoice entities to UBL 2.1 elements automatically. For Business Central, install the 'Belgian E-Invoicing' extension from AppSource. Configure the Peppol endpoint under Company Information → E-Invoice Settings. The Belgian enterprise number maps from the Registration No. field. Credit notes require the original invoice reference in the 'Applies-to Doc. No.' field.
Odoo (16.0+ / 17.0)
Module AvailableOdoo's Belgian e-invoicing module (l10n_be_edi_peppol) has been available since version 16.0. Install via Settings → Apps → search 'Peppol Belgium.' The module adds a Peppol tab to invoice forms where you can configure the partner's Peppol participant ID. Odoo generates UBL 2.1 XML and can transmit directly to a configured Access Point via the EDI framework. For Odoo 17.0, the module is part of the default Belgian localization. Note: Odoo's built-in validator catches most BIS 3.0 errors before submission, but it doesn't validate against the full Belgian Schematron rules — use an external validator (like InvoStaq's) for complete pre-flight checks.
Exact Online
Partner IntegrationExact Online doesn't natively produce Peppol BIS 3.0 invoices. Instead, Exact partners with certified Access Points to provide a 'send via Peppol' button within the invoicing workflow. The integration works through Exact's XML export, which a middleware service converts to UBL 2.1. Configure under Module → CRM & Documents → E-Invoicing → Peppol Settings. Exact's API (REST v1) also allows external services like InvoStaq to poll for new invoices, convert them, and submit to Peppol — all without manual intervention. The Belgian enterprise number is pulled from the Chamber of Commerce Number field.
Custom / Legacy ERP Systems
API RequiredIf you're running a custom-built ERP, an older version of any major platform, or a Belgian-specific solution like WinBooks, BOB, or Yuki, you'll need an external integration. The most reliable approach is a RESTful API gateway that accepts your ERP's invoice data (JSON/XML/CSV) and returns a compliant UBL 2.1 document. InvoStaq's API accepts invoice payloads in 14 formats and handles the full conversion, validation, and Peppol delivery pipeline. Average integration time for custom ERPs is 3–5 business days with our SDK.
ERP Version Compatibility Matrix
A critical lesson from Belgium's first six months is that version matters enormously. SAP customers on S/4HANA 2022 or earlier need a patch; Dynamics 365 users on versions before 10.0.36 require an update; Odoo 15 and below need to upgrade to 16.0+. If upgrading your ERP is not feasible in the near term, an external API-based connector is the fastest path to compliance — working alongside your current system without requiring any ERP modifications.
API vs. Connector vs. Native
There are three fundamental approaches to integrating your Belgian ERP with Peppol. Each has distinct trade-offs in terms of control, speed to market, maintenance overhead, and cost. Choosing the right approach depends on your ERP, invoice volume, technical team capacity, and budget.
Approach A: Native ERP Module
Advantages
Trade-offs
Best for: Companies on up-to-date SAP S/4HANA, Dynamics 365, or Odoo 17 with straightforward invoicing needs and low customization requirements.
Approach B: API-Based Integration
Advantages
Trade-offs
Best for: Companies with in-house dev teams, custom ERPs, multi-system landscapes, or those needing advanced validation logic beyond standard BIS 3.0.
Approach C: Middleware / Managed Connector
Advantages
Trade-offs
Best for: SMEs without dedicated development teams, companies wanting fastest time-to-compliance, and businesses running Exact Online, WinBooks, BOB, or other Belgian accounting tools.
InvoStaq's Hybrid Approach
InvoStaq supports all three approaches through a single platform. Our Dynamics 365 native plugin embeds directly into D365 Finance and Business Central. Our REST API accepts invoice payloads from any system. And our managed connectors provide zero-code setup for Exact Online, Odoo, WinBooks, and 15+ other Belgian platforms. All routes converge on the same validation engine, the same Access Point, and the same monitoring dashboard — so you get consistent compliance regardless of how your invoices enter the pipeline.
Implementation Steps
Regardless of which integration approach you choose, the implementation follows a consistent sequence. Here's the step-by-step process that InvoStaq has refined across hundreds of Belgian deployments.
Your Belgian enterprise number (KBO/BCE) becomes your Peppol participant identifier with the scheme 0208. For example, if your enterprise number is 0123.456.789, your Peppol ID is 0208:BE0123456789. Your Access Point registers this in the Peppol SMP (Service Metadata Publisher), which lets any Peppol participant worldwide discover and send invoices to you. This registration typically takes 1–2 business days.
This is the most technically intensive step. You must map every field in your ERP's invoice output to the corresponding UBL 2.1 element. Key mappings include: Customer/Vendor IDs → AccountingCustomerParty/AccountingSupplierParty, Line items → InvoiceLine with ItemClassificationCode, Tax codes → TaxCategory with Belgian VAT rate percentages, Payment terms → PaymentTerms/PaymentMeans. Document all mappings in a specification so they can be maintained as standards evolve.
For API integrations, register for API credentials (OAuth 2.0 client credentials grant), build your HTTP client with proper retry logic (exponential backoff with 3 retries), and implement the invoice submission endpoint. For managed connectors, install the connector module in your ERP and configure the authentication token. For native modules, enable the Belgian e-invoicing feature flag and configure the Peppol endpoint URL.
Before any invoice reaches Peppol, validate it against three layers: (1) UBL 2.1 XML schema validation — ensures correct structure, (2) Peppol BIS 3.0 business rules — 200+ Schematron rules checking field presence, value ranges, and cross-field consistency, (3) Belgian-specific rules — enterprise number format, VAT number checksum, Belgian tax rate codes. InvoStaq's validation API returns detailed error reports with field-level fix suggestions, reducing rejection rates by 94%.
Receiving Peppol invoices is as important as sending them. Configure your system to: (1) Accept inbound UBL 2.1 documents via your Access Point's webhook or polling endpoint, (2) Parse the XML into your ERP's purchase invoice / AP module, (3) Perform 3-way matching against purchase orders and goods receipts, (4) Route exceptions to AP staff for review. InvoStaq's inbound processor can push parsed invoices directly into your ERP via API, or generate a human-readable PDF for manual review workflows.
Belgian Peppol invoices require specific handling for credit notes (type code 381) and corrected invoices (type code 384). Both must reference the original invoice via the BillingReference element, including the original invoice number and issue date. Your ERP integration must capture this reference at the point of credit note creation — not as an afterthought. Configure your ERP's credit note workflow to require the original invoice number as a mandatory field before submission.
Production e-invoicing demands operational monitoring. Set up dashboards tracking: delivery success rate (target: >99.5%), average validation time (<500ms), rejection reasons by category, inbound processing queue depth, and Access Point availability. Configure alerts for: >2% rejection rate in any 1-hour window, any Access Point timeout exceeding 30 seconds, and any invoice stuck in 'pending' status for more than 4 hours. InvoStaq's dashboard provides all these metrics out-of-the-box with Slack/Teams/email alerting.
Typical Timeline
For companies using supported ERPs with InvoStaq's managed connector, the full implementation — from kick-off to first production invoice — typically takes 3–5 business days. For API-based custom integrations, expect 2–4 weeks depending on your ERP's data export capabilities and internal approval processes. The longest delays are consistently non-technical: internal security reviews, change management approvals, and coordinating test windows with trading partners.
Testing & Go-Live
Peppol provides a dedicated test environment — separate from production — that mirrors the real network. Every Belgian integration should go through rigorous testing before the first live invoice is sent. Here's the testing protocol that InvoStaq recommends based on patterns from hundreds of Belgian go-lives.
Test Environment Setup
Peppol's test network (sometimes called "Peppol Testbed") uses separate SMP/SML infrastructure from production. Your Access Point provides test credentials and a test endpoint URL. Configure your ERP connector to point to the test environment by updating the endpoint configuration — not by using a separate installation. This ensures that when you switch to production, only the endpoint URL changes, not the integration logic.
Go-Live Checklist
Pre-Test Validation
Test Environment Execution
Production Cutover
Post-Go-Live Monitoring
Common Go-Live Pitfalls in Belgium
Based on InvoStaq's experience supporting Belgian go-lives, the three most common production issues are: (1) Tax rounding discrepancies — BIS 3.0 requires line-level tax calculations to reconcile with document-level totals within €0.01. ERPs that round at the document level instead of per-line will generate invoices that fail Schematron rule BR-CO-15. (2) Missing payment means — every invoice must specify at least one PaymentMeans element. ERPs that default to "unspecified" payment terms generate invalid invoices. (3) Duplicate invoice numbers — Peppol Access Points reject invoices with the same InvoiceNumber + IssueDate + SupplierID combination. ERP systems that recycle invoice numbers across fiscal years will hit this constraint.
Penalties & Enforcement
Since April 2026, Belgium's FPS Finance actively enforces the Peppol mandate. Penalties range from €50 to €250 per non-compliant invoice, with repeat offenders facing escalating fines. VAT deductions may also be refused for invoices not transmitted via Peppol. The message is clear: the grace period is over. If your ERP integration isn't live, every invoice you send through legacy channels is a potential fine.
The good news: with the right integration approach, getting compliant is faster and less expensive than the penalties for non-compliance. A typical InvoStaq deployment for a Belgian SME costs less than the fine for 10 non-compliant invoices — and pays for itself within the first month through reduced processing costs and faster payment cycles.
Connect Your ERP to Peppol Today
InvoStaq integrates with 50+ ERP systems. Native D365 plugin, REST API, or managed connector — choose your path and go live within days. Full BIS 3.0 validation, Belgian Schematron rules, and real-time monitoring included.