EN 16931 validatorFree. No account.

Paste a UBL invoice and find out which business rule it fails. Runs the same 44 checks the product runs, against EN 16931, Peppol BIS Billing 3.0 and CIUS-RO.

Nothing you paste here is stored. The XML is validated in memory and dropped — it is not written to a database, a log or a file. An invoice carries your customer's name and what they owe you, and that is not ours to keep.

What it checks

The rules that actually reject documents

BR-CO-17VAT computed from the taxable base, not extracted from the gross. Differs by a cent on most invoices, and that cent is the rejection.
The leftover belongs in BT-114 as payment rounding, not inside the VAT figure.
BR-CL-04Every amount carries a currencyID. Missing it passes the XSD and fails Schematron — the single most common surprise.
BR-01 … BR-07Specification identifier, invoice number, issue date, type code, currency, seller and buyer present at all.
BR-CO-14Invoice total VAT equals the sum of the VAT category amounts. Catches rounding done per line instead of per category.
BR-DECEmpty elements. <cbc:ID></cbc:ID> is present but worthless, and a naive check misses it.
ProfileReads your CustomizationID and tells you whether you declared plain EN 16931, Peppol BIS 3.0 or a national CIUS — because CIUS-RO rejects documents a generic validator accepts.

If it passes here

This is a semantic check, not a schema one

It reads the business rules — the ones that reject a document that is perfectly well-formed XML. It does not run the full XSD or the complete Schematron set, and a national portal may still refuse a file for a rule only it applies. What it does is catch the handful of mistakes behind most rejections, in a second, without an account.

Issue invoices that pass See the 14 jurisdictions