EN 16931 · Peppol BIS 3.0

Find out why your e-invoice was rejected.

Find out why it bounced, fix it here, take the clean file.

Drop a Peppol or UBL invoice here

An .xml file from your accountant, your Access Point, or a supplier.

Or paste the XML

Runs in your browser

Nothing you type here is uploaded, logged, or stored. The file is built on your own machine and disappears when you close the tab.

What it checks

Two things. The mandatory fields, which is what most tools stop at. And the arithmetic — that the lines sum to the line total, that the amount with VAT is the amount without VAT plus the VAT, that the payable amount subtracts what was prepaid. Totals that disagree are one of the commonest rejections and the hardest to spot by eye, because every individual number looks reasonable.

How to read the result

Errors will get the file refused, warnings will not but are usually worth fixing, and the passed list is there so you can see what was examined rather than take it on trust. Every row carries the published rule identifier and the element it applies to, so you can search for it or hand it to whoever generated the file.

Why files fail

In practice, the same handful of things. A missing electronic address, because it is not an email address and software that predates Peppol has nowhere to put it. A missing country code on an address, which feels redundant on a domestic invoice. A missing buyer reference, which Peppol requires and EN 16931 does not. And rounding, where each line was rounded separately and the total no longer matches.

What it is not

It is not the official validator. It does not run the complete Schematron rule set, evaluate every codelist, or apply the national extensions your country may add on top. A clean result here means nothing obvious is broken — validate once with your provider before you rely on it.

Questions, answered

Is there a limit?

No. No account, no file-size cap, no daily quota.

Is my invoice uploaded?

No. There is no server behind this page — your browser parses the file and runs the rules. Closing the tab is all it takes to delete everything.

Is this the official Peppol validator?

No, and it does not claim to be. It covers the mandatory fields and the totals arithmetic; the official Schematron covers considerably more. Use this to fix the obvious problems quickly, then validate with your Access Point.

Why are the rule codes in English?

Because that is how they are published, and it is what your Access Point quoted in its rejection. Translating BR-09 would make it harder to search for, not easier.

Can it fix the problems for me?

Not here. To produce a corrected file, use the invoice-to-Peppol tool, or let weBiller generate it from an invoice you already have.

All tools

Your next invoice takes a minute.

Free while in early access. Bring your clients, your currencies, and your logo.