Peppol invoice validator for UBL invoices
Check a Peppol BIS Billing 3.0 invoice or credit note before it goes to your access point, or read one you have received. Clear report, no upload, no account.
Drop an e-invoice here
XML (XRechnung, Peppol BIS, UBL, CII) or PDF with embedded XML (ZUGFeRD, Factur-X)
No file at hand? Try a sample:
- Nothing is uploaded — the file is read in this browser tab
- Official EN 16931 (CEN) and XRechnung (KoSIT) rules
- Every error explained in plain language, with the fix
How to check a Peppol invoice
- 1Drop the UBL XML file onto the field above, or click to choose it.
- 2The format is detected automatically; Peppol BIS Billing 3.0 is recognised from its customisation and profile IDs.
- 3Read the report: schema errors, EN 16931 findings and the Peppol readiness checks, each with location and explanation.
- 4Fix the source data in your invoicing software, export again and re-check. The binding Peppol validation happens at your access point when you send.
Belgium: Peppol is the default since 2026
Since 1 January 2026, VAT-registered businesses in Belgium must exchange structured electronic invoices with each other for domestic B2B transactions. Peppol BIS Billing 3.0 is the default format; other structured formats are possible only if both parties agree. The government granted a tolerance period during the first three months of 2026 for businesses that had taken timely steps to comply. Since then the regular sanctions apply: €1,500 for a first infringement, €3,000 for a second and €5,000 for each further one.
Peppol is also used for B2B and public procurement in many other countries, including the Netherlands, Norway, Sweden and Denmark, and as a delivery channel for public-sector invoices in Germany. Belgium plans to add e-reporting from 2028, but this was not yet law as of October 2026. See the guide to Peppol e-invoicing in Belgium.
What this validator checks
- UBL 2.1 schema – the file is well-formed and structurally valid UBL
- EN 16931 core rules – the complete rule set published by CEN/TC 434 (validation artefacts 1.3.16), including calculation, VAT and code list rules
- Peppol readiness checks, implemented by us: seller and buyer endpoint IDs present with a scheme identifier (for example 0208 for a Belgian enterprise number), Peppol BIS Billing 3.0 customisation and profile IDs, and a buyer reference or order reference
What it does not include, and why
The official Peppol BIS Billing 3.0 rule set (the PEPPOL-EN16931-R* rules and the country-specific rules) is not included. OpenPeppol publishes it without an open licence, so we cannot redistribute it in a tool that runs in your browser. Our readiness checks cover a few of the same concerns, but they are our own implementation and not a substitute.
In practice: your Peppol access point validates every document against the official rules when you send it. Use this tool to catch EN 16931 errors and obvious Peppol gaps early; rely on your access point for the binding Peppol validation.
Reading the report
Each finding shows the rule ID (official IDs for the schema and EN 16931 rules, clearly marked IDs for our own readiness checks), the message, the XPath location and the highlighted XML. For about 60 common rules there is a plain-language explanation with a suggested fix. The rule set versions are listed at the top.
We are not an access point
To send or receive invoices on the Peppol network you need a certified access point, usually provided by your accounting software or a service provider. This tool cannot connect to Peppol, look up participants or deliver documents.
Privacy: the file is read and checked inside your browser. It is never uploaded and there is no server-side processing. The only network requests are for this page and the official rule files, which are the same for everybody. Nothing is stored; closing the tab discards the data. No account is required.
Frequently asked questions
Is this an official Peppol validator?
No. It checks the UBL schema and the full EN 16931 rules, plus a few Peppol readiness checks of our own. The official OpenPeppol rules are not included, because they are not published under an open licence.
My invoice passes here but is rejected by my access point. Why?
Most likely because of an official Peppol rule that this tool does not include. The access point’s error message names the rule; correct the data and send again.
Can I send my invoice through Peppol from here?
No. Sending and receiving require an access point. This tool only reads and checks files on your computer.
What is the endpoint ID?
The Peppol address of the seller or buyer, given with a scheme identifier. In Belgium the enterprise number with scheme 0208 is common. Without a valid endpoint ID, the document cannot be routed.
Does it work for credit notes?
Yes. UBL invoices and credit notes in Peppol BIS Billing 3.0 are both supported.
What happens in Belgium if I do not send structured invoices?
Since the tolerance period ended, fines of €1,500, €3,000 and €5,000 apply for successive infringements, according to the Belgian e-invoicing FAQ.
Sources
- einvoice.belgium.be – tolerance during the first three months of 2026 (checked 2026-10-28)
- einvoice.belgium.be – FAQ on e-invoicing (sanctions) (checked 2026-10-28)
- OpenPeppol – Peppol BIS Billing 3.0 (checked 2026-10-28)
- CEN/TC 434 – EN 16931 validation artefacts (checked 2026-10-28)
Last reviewed 28 October 2026