Peppol Validator for UBL and Peppol BIS 3.0 invoices

Upload a UBL/XML invoice to find out whether it passes the technical checks before you send it to your customer. If it fails, you get the rule, the line in the XML and a concrete fix. Validation is free to use and needs no registration.

UBL 2.1
XML structure: permitted elements, their order and data types.
EN 16931
European invoice semantics: mandatory data, VAT categories and totals (BR rules).
Peppol BIS Billing 3.0
Peppol network additions: party identifiers, references and code lists (PEPPOL rules).

What is checked

The validator calls the same validation service (ion-docval) that ePošťák uses to check documents passing through the Peppol network. The result is therefore the same as the one your recipient's access point would see.

What can be checked
UBL Invoice and CreditNote files up to 2.0 MB, including invoices with embedded attachments.
What is rejected
PDF, ZIP, XML with references to external files, stylesheets, and DOCTYPE or ENTITY declarations. A PDF is not a structured invoice; it is only a readable rendering of one.
What happens to the file
The XML is sent to the validation service, evaluated and discarded. The public validator does not store invoices or link them to any account.
What it does not cover
Whether the data is factually correct, or whether the recipient can be reached on the Peppol network. A technically valid invoice will not be delivered if the recipient is not registered.

How to fix a specific XML error

Three worked examples of validation errors with the fix. Each includes a downloadable XML, the error code and the result of re-validation. The article is in Slovak.

See the error examples (in Slovak) →

Delivery over Peppol is the next step

Even a technically valid invoice will not be delivered if the recipient is not registered on the Peppol network or its identifier does not match the address in the invoice. Look it up in the directory, or test the whole sending flow from your ERP.