Validate an e-invoice (Peppol BIS 3 / UBL)
Complete official check of a UBL invoice or credit note: UBL 2.1 schema (XSD), European standard EN16931 and Peppol BIS Billing 3.0.21, including the Dutch rules. With an explanation for every error.
Your invoice never leaves your device: the check runs entirely in your browser. Free and unlimited. The first time, the rule files (approx. 3 MB compressed) are downloaded.
What is checked?
- XML: well-formed, no DOCTYPE/entities.
- UBL 2.1 XSD: official OASIS schemas (elements, order, data types).
- EN16931: official CEN validation rules for UBL (calculations, VAT categories, mandatory fields, code lists).
- Peppol BIS Billing 3.0.21: official OpenPEPPOL rules, including the Dutch (NL-R) and other national rules.
The result shows whether the file meets these rules. It is not tax advice and no guarantee that a recipient will accept the invoice (some recipients have extra requirements). Want to check automatically? The API performs a fast check of the structure and about 120 common rules.
Licences and sources
This validator uses: Peppol BIS Billing 3.0.21 validation artefacts © OpenPEPPOL AISBL (github.com/OpenPEPPOL/peppol-bis-invoice-3); EN16931 validation artefacts © CEN/TC 434, EUPL 1.2 (github.com/ConnectingEurope/eInvoicing-EN16931); UBL 2.1 schemas © OASIS; SaxonJS 2 © Saxonica Ltd (used under licence, provided "as is"); xmllint-wasm (libxml2, MIT); Schematron compiled with SchXslt (MIT).