Peppol & UBL Invoice Validator

Validate your Peppol BIS 3.0 and UBL 2.1 invoices against EN 16931 and Peppol schematron rules. Free, instant results, no registration required.

Upload a Peppol / UBL XML invoice

Drag and drop an XML file or click to select

Automate your invoice validation?

With our Peppol API, every invoice is validated automatically before transmission.

What does the Peppol Validator check?

This free validator checks your Peppol BIS 3.0 and UBL 2.1 invoices against the full set of EN 16931 and Peppol schematron rules. It verifies XML syntax, required fields, business rules, tax calculations, and Peppol-specific requirements like endpoint identifiers and profile IDs.

The validator also supports CII (Cross Industry Invoice) format used by Factur-X and ZUGFeRD. The format is automatically detected from your XML file.

Supported validation rules

EN 16931 CEN rules

The European standard for e-invoicing. Checks required fields, code lists, business rules, and semantic constraints defined by the CEN technical committee.

Peppol BIS 3.0 rules

Peppol-specific restrictions on top of EN 16931. CustomizationID, ProfileID, endpoint identifiers, and Peppol-specific code list validations.

Syntax validation

Verifies well-formed XML, correct UBL 2.1 or CII namespaces, valid element structure, and proper attribute usage.

Calculation checks

Validates that line totals, tax amounts, tax-inclusive amounts, and payable amounts are mathematically consistent across the invoice.

How it works

1

Upload your XML file

Drag and drop a UBL 2.1 or CII XML invoice into the drop zone, or click to select a file from your computer.

2

Automatic validation

Your invoice is validated against EN 16931 and Peppol BIS Billing 3.0 schematron rules. The format (UBL or CII) is detected automatically.

3

Detailed validation report

See the validation status, detected format, invoice details, and a full list of errors and warnings with rule IDs and locations.

Privacy and data handling

Your XML file is sent to our validation server for processing against the full Peppol schematron ruleset. Files are processed in memory and never stored on disk. No invoice data is logged or retained after validation. No account or registration is required.

Frequently asked questions

What does the Peppol Validator check?

The validator checks your invoice against three layers of rules: XML syntax validation (well-formed UBL 2.1 or CII XML), EN 16931 business rules (the European e-invoicing standard), and Peppol BIS Billing 3.0 schematron rules (Peppol-specific requirements like endpoint IDs and business process identifiers).

What is EN 16931 and why does it matter?

EN 16931 is the European standard for electronic invoicing. It defines the semantic data model and business rules that all e-invoices in the EU must follow. Since January 2026, Belgian B2B invoices must comply with EN 16931 via Peppol. Non-compliant invoices will be rejected by Peppol Access Points.

What formats are supported?

The validator supports UBL 2.1 (Universal Business Language) and CII (Cross Industry Invoice) XML formats. It automatically detects the format. Peppol BIS Billing 3.0 uses UBL 2.1 as its syntax, which is the most common format in the Peppol network.

What is the difference between Peppol BIS 3.0 and EN 16931 validation?

EN 16931 defines the core business rules for European e-invoices. Peppol BIS Billing 3.0 adds additional rules on top of EN 16931, such as requiring a CustomizationID, ProfileID, and electronic endpoint addresses. A valid Peppol invoice must pass both EN 16931 and BIS 3.0 rules.

Are my invoice files kept private?

Your XML file is sent to our server for validation against the full Peppol schematron ruleset. Files are processed in memory and not stored. No invoice data is logged or retained after validation completes.

What are the most common Peppol validation errors?

The most frequent errors are: missing CustomizationID or ProfileID, missing electronic endpoint (EndpointID) on buyer or seller, incorrect tax calculation totals, missing BuyerReference, and invalid country codes or currency codes. The validator shows the exact rule ID and location for each error.

Can I validate invoices for the Belgian e-invoicing mandate?

Yes. Belgium requires B2B e-invoicing via Peppol since January 2026. This validator checks compliance with the exact same Peppol BIS Billing 3.0 rules that Belgian Peppol Access Points enforce. If your invoice passes validation here, it will be accepted on the Peppol network.

What Peppol schematron rules are checked?

The validator runs the official Peppol BIS Billing 3.0 schematron rules published by OpenPeppol. This includes PEPPOL-EN16931 rules (Peppol-specific restrictions on the EN 16931 model) and PEPPOL-COMMON rules (shared rules for identifiers, codes, and calculations).

Can I use this for CII / Factur-X invoices?

Yes. The validator auto-detects CII (Cross Industry Invoice) format used by Factur-X and ZUGFeRD. It validates against the applicable EN 16931 rules. For Factur-X specific profile validation, you can also use our dedicated Factur-X Validator tool.

Is there an API for automated Peppol validation?

For automated validation at scale, e-invoice.be offers a Peppol API that includes built-in validation. Every invoice sent through the API is automatically validated before transmission. Visit the API documentation page for details on integration.

Related tools

Send and receive e-invoices via Peppol? Create a free account or explore the Peppol API.

Free Peppol & UBL Validator | EN 16931 & BIS 3.0 Check