Belgium’s B2B mandate made 2026 the year Peppol went mainstream: every VAT-registered Belgian business now exchanges invoices over the network, in the fastest large-scale Peppol rollout Europe has seen, with Ireland, Slovakia and others following. Which means a growing number of finance teams are having the same first encounter with Peppol: not a smooth onboarding, but a rejection notice full of cryptic rule codes, and no idea whose fault it is.
The network moves the file; it does not fix it
The confusion usually comes down to a misunderstanding of the division of labor. The Peppol network and its providers handle addressing, transport security, and delivery. They do not repair your data: a file is typically validated before it is accepted for transmission, and if the invoice violates the rules, it bounces. The invoice content, the correct participant identifier, the VAT breakdown, and the mandatory references remain the sender’s responsibility. Paying more for a provider does not change this; the file is yours.
Why invoices bounce
A Peppol invoice must clear two stacked rulesets: the European semantic standard EN 16931 underneath, and Peppol BIS Billing 3.0 on top, which adds stricter requirements of its own. Together they amount to hundreds of Schematron business rules, and the failures cluster in predictable places: a participant ID with the wrong scheme prefix, a VAT category code that does not match the exemption reason, totals that break the rounding rules, a missing buyer reference that BIS requires even though EN 16931 alone does not.
The frustrating part for a non-technical business is the feedback. A rejection typically arrives as a rule identifier (something like BR-CO-15 or PEPPOL-EN16931-R020) attached to raw XML, meaningful to an integrator and useless to the office manager who has to fix the invoice before the payment run.
What you can check, and fix, yourself for free
Businesses have more power here than they think, because validation and repair do not depend on any provider. The same official rulesets can be run in a browser: a free Peppol BIS and EN 16931 validator checks any UBL file and lists the specific violated business rules in plain terms, turning a cryptic bounce into a fixable to-do item, before sending or after a rejection.
Knowing which rule failed is half the job; the other half is correcting the file without hand-editing XML, which is where most non-technical teams give up. That step is now self-service too: a guided UBL editor form can be auto-filled by uploading the existing invoice, whether the rejected XML or the original PDF, so instead of rebuilding from scratch, you correct the one offending field and download a compliant, revalidated file. The rejection-to-resend loop that used to mean a support ticket and a day’s delay becomes a few minutes in a browser.
The third habit concerns the receiving side. Peppol invoices arrive as UBL XML, excellent for accounting software and unreadable for humans. When a bookkeeper needs to check a supplier’s invoice against a delivery or settle a line-item dispute, a browser-based UBL viewer renders the XML into a document you can read like paper, without installing anything.
The takeaway
Rejections are a data problem, not a network problem, and the data is the part you fully control. With the next wave of mandates approaching, the smartest preparation is learning to read, check and repair your own invoices now, so that when Peppol becomes mandatory for you, the file, the hard part, is already a solved problem.
Latest Posts in "World"
- 86 Country Profiles on E-Invoicing, E-Reporting, E-Transport, SAF-T Mandates, and ViDA Initiatives
- IMF Favors Destination-Based VAT Over Unilateral Digital Taxes
- What is a tax invoice? Requirements, formats & compliance
- VATupdate.com – Your Ultimate Free Resource for ECJ/CJEU VAT Case Law
- VAT Concepts Explained: When Inventory Crosses a Border: Call-Off Stock, Consignment Stock, and Inventory in Motion














