Free Peppol invoice validators compared: what each one checks

There is no single best free Peppol validator, but there is a clear rule: for the official verdict you need the current Peppol BIS Billing 3.0 schematron plus the UBL 2.1 XSD schema; the KoSIT Validator has a Peppol configuration for release 3.0.21 and ecosio's free validator checks schema and schematron, although we could not verify which release it runs live. The European Commission's free validator checks EN 16931 only, not the Peppol or XRechnung rules. Our own check at arling.sk is free, runs in your browser and explains every finding in a sentence, but it does not check the XSD schema or the UBL-CR rules, and on 25 September 2026 its Peppol rules were written from release 3.0.20, not the mandatory 3.0.21. Below is a side by side table of seven free tools, what "valid" means under Peppol, and our own test in which three broken invoices passed our checker without a single finding. We also say where each tool sends your file, because some keep it on a server for a while and some never see it. We read every page on 25 or 26 September 2026 and did not test the output of the other tools.

Seven free validators side by side

ValidatorWhere your file goesXSD schemaRules it runs
European Commission eInvoice Validatoruploaded to the Commission service, also via REST and SOAP APInot verifiedEN 16931 release 1.3.16 for UBL invoice, CII invoice and UBL credit note; no Peppol, no XRechnung
ecosio, Peppol and XML validatoruploaded, processed non-persistently and deleted after the resultyesPeppol BIS 3.0, Peppol PINT, UBL, CII, XRechnung; live rule release not verified by us
KoSIT Validatorstays on your computer, Java 11 or later, Apache 2.0yesXRechnung configuration, and a separate Peppol BIS configuration for release 3.0.21
ValidateFin UBL validatorstays in your browseryesEN 16931 and Peppol BIS 3.0, around 200 rules by its own count
Peppol Validator, peppolvalidator.comuploaded, files and results kept for a limited time for shareable linksnot verified311+ rules by its own count, UBL and CII
efaktura.toolsstays in your browser by its own descriptionnot verifiedUBL 2.1, EN16931, Peppol BIS 3 by its own description; we could not see details without a browser
ARLing e-invoice checkstays in your browserno332 rule codes from EN 16931, Peppol BIS Billing 3.0 (written from release 3.0.20) and XRechnung 3.0, plus own checks such as IBAN

If the invoice data is confidential, the column that matters most is the second one: tools that run in the browser or on your own computer never receive the file.

What "valid" means for a Peppol invoice

Peppol's own rule is short: "A message is considered compliant to this BIS if no fatal errors are detected when validating with the current validation artefacts.". Warnings do not make an invoice non-compliant, a receiver must not reject a compliant invoice and may reject a non-compliant one. Validation has two layers: the XML schema checks which elements occur where, how often and in which order, and the schematron checks meaning, conditional requirements and calculations.

The word "current" is where free tools differ. Release 3.0.21 was published on 20 May 2026 and is mandatory from 17 August 2026; among other changes it removed rule BR-CO-25 and approved the profile urn:peppol:bis:billing_with_response. In release 3.0.21 the EN 16931 schematron for UBL has 979 checks, 281 of them fatal, and 676 of its warnings are UBL-CR rules about elements the core invoice does not use.

What we measured ourselves (25 September 2026)

We changed one thing at a time in the English sample invoice of our own checker and ran eleven variants. Eight were caught, three passed without a finding, and the release gap showed up as well.

Variant of the sample invoiceOur resultWhat the official rules say
Total with VAT one cent too highBR-CO-15 and BR-CO-16both fatal
Currency code EURO instead of EURBR-CL-04, BR-CO-15, eleven times PEPPOL-EN16931-R051among others the fatal PEPPOL-EN16931-R051
Typo in the IBANown check ARL-IBANnot checked by the Peppol schematrons for a Slovak invoice
IssueDate and DueDate in the wrong orderno findingXML schema error
Extra ProfileExecutionID elementno findingwarning UBL-CR-003
CustomizationID shortened to urn:cen.eu:en16931:2017no finding, Peppol rules skippedfatal PEPPOL-EN16931-R004
Profile urn:peppol:bis:billing_with_responseerror PEPPOL-EN16931-R007approved in release 3.0.21

The last four rows are our weaknesses, and we would rather you read them here than find them out at your buyer's access point. The IBAN row is the other side: the official Peppol schematrons check an IBAN checksum only in two German rules, and they do not check that a Slovak 0245 identifier is followed by a ten digit tax number, while our own checks do.

We also ran ten XRechnung files through the KoSIT Validator 1.6.3 and through our checker. KoSIT reported an XML schema error for an invoice without an invoice number, where we reported rule BR-02, and a BR-DE-27 warning for a missing phone number that we did not report; we reported a typo in the IBAN as an error and a Leitweg-ID without check digits as a warning, which KoSIT accepted.

When you do not need us

If you only need the final yes or no before sending, use a validator that runs the current release with the XSD schema, for example the KoSIT Validator with the Peppol BIS configuration for release 3.0.21 on your own computer, or ecosio in the browser after checking which release it states. If you need the European standard alone, for example for a CII invoice, the Commission's validator is the reference, but it does not run Peppol or XRechnung rules. Your access point provider delivers the invoice into Peppol; we do not deliver into the Peppol network at all.

Our checker is useful when you want a plain sentence and the path to the element for every finding, IBAN and Slovak tax number checks, and a preview of the invoice as a readable document, all free and without your file leaving the browser. The only paid part is downloading an invoice you build in our form: 2.90 € excluding VAT for one invoice or 9.90 € excluding VAT for 30 days.

Frequently asked questions

Is an invoice with warnings but no fatal errors compliant?

Yes. Peppol BIS Billing 3.0 treats a message as compliant when no fatal errors are found with the current validation artefacts, even if warnings are reported, and a receiver must not reject a compliant message.

Does the European Commission validator check Peppol rules?

No. On 25 and 26 September 2026 it offered only UBL Invoice XML, CII Invoice XML and UBL Credit Note XML against EN 16931 release 1.3.16; there was no validation type for Peppol BIS Billing 3.0 or XRechnung.

Does ARLing send my invoice into the Peppol network?

No. The XML is created and checked in your browser and is never sent to our server; delivery into the Peppol network is done by your access point provider and is not part of our offer.

Conclusion

Check your UBL invoice for free, read every finding in plain language and build the XML if you need to, in our e-invoice checker and generator; for the final verdict before sending, run the file through a validator with the current Peppol release and the XSD schema as well.

Sources. The facts in this note are numbered after our internal fact list and were checked on the publication date. If a source has changed since, write to support@arling.sk and we will correct this page.