Free Peppol Validator for BIS Billing 3.0 XML Invoices

Drop UBL or CII XML invoices and credit notes to test and check them against every BIS Billing 3.0, EN16931 and country-specific schematron rule in seconds. Free Peppol XML validation, no signup, no upload limit, shareable result links.

Checks: EN16931 1.3.16 and Peppol BIS Billing 3.0.20 for UBL · EN16931 1.3.16 for CII · XRechnung 3.0.2 (KoSIT schematron 2.6.0) · Factur-X 1.09.2 / ZUGFeRD 2.5.2 · XML Schema UBL 2.1, CII D16B and Factur-X · last updated 20 October 2026

No invoice? · Bring your own XSD or Schematron

Features

BIS 3.0 + EN16931

+ 🇧🇪 XML and PDF invoices

Shareable links

Send results to your team

Batch validation

Multiple files at once

No signup

Free, instant, private

What does this Peppol BIS Billing 3.0 validator check?

This Peppol invoice validator runs schematron rules on every XML invoice or credit note you upload. For UBL invoices, EN16931 (CEN) business rules check European standard compliance, then Peppol BIS Billing 3.0 rules enforce network-specific requirements like electronic address schemes and code list restrictions. Factur-X and ZUGFeRD invoices (CII) get the official rules of their profile, MINIMUM to EXTENDED, which contain the EN16931 rules of that profile; other CII invoices get the EN16931 CII binding. The format is detected automatically. Working only with UBL? The dedicated UBL invoice validator focuses on UBL 2.1 invoices and credit notes.

If any rule fails, you get the exact rule ID, a plain-language explanation, and the fix. See the full reference of all 311 validation rules for details on every BR, PEPPOL-EN16931, and country-specific rule.

How does the Peppol check work?

  1. 1Upload UBL or CII XML invoices, or a ZUGFeRD / Factur-X PDF
  2. 2Run EN16931 + BIS Billing 3.0 schematron validation
  3. 3Inspect errors and warnings
  4. 4Share result links with your team

What a valid result means

A valid result means the invoice passed the XML Schema and the official rules of the rule sets shown with it. Those rules check the structure, the content and the arithmetic of the invoice. They do not check that the data is correct, and they check the format of only a few identifiers.

Checked

  • XML Schema (XSD): UBL 2.1 Invoice or CreditNote, UN/CEFACT CII D16B, or the XSD of the Factur-X profile, with the line and column of each schema error
  • EN16931 (CEN) business rules: mandatory fields, totals (BR-CO-), VAT category logic and code lists
  • Peppol BIS Billing 3.0 rules for Peppol UBL invoices: electronic address schemes, empty elements and country rules
  • XRechnung: the KoSIT rules (BR-DE-). Factur-X / ZUGFeRD: the official rules of the profile, MINIMUM to EXTENDED

Not checked by the official rules

  • That a VAT ID, Peppol ID or Leitweg-ID exists or is registered (no live lookups)
  • The VAT ID format beyond the country prefix (BR-CO-09); only Peppol BIS checks the VAT IDs of Norwegian, Swedish and Greek sellers. Data quality hint: ADV-VAT
  • The IBAN format (spaces or a wrong check digit), except a warning on some German invoices with payment means 58 or 59 (BR-DE-19, BR-DE-20, DE-R-019, DE-R-020). Data quality hint: ADV-IBAN
  • Most Peppol ID values: a placeholder such as unknown under scheme 0204 passes. Data quality hint: ADV-ENDPOINT
  • Empty elements in plain EN16931 CII and in Factur-X MINIMUM / BASIC WL (see PEPPOL-EN16931-R008). Data quality hint: ADV-EMPTY
  • That amounts, names and addresses are true

The items with a data quality hint are flagged in their own section of the result, apart from the errors and warnings. The hints are not part of the official rules and never change the result. See all data quality hints.

To check that a VAT ID exists, look it up in VIES; to look up a Peppol ID, search the Peppol Directory. Every rule is explained in the validation rules reference.

Why Peppol Validator

Unlike paid validation services, Peppol Validator is completely free with no signup, no API key, and no rate limits. Validate single invoices or entire batches and share results via permanent links.

  • ✓Free, no signup or API key
  • ✓311+ validation rules checked
  • ✓Batch upload support
  • ✓Shareable result links
  • ✓UBL 2.1 and CII / Factur-X support
  • ✓Agent-native via MCP server

Questions

What is a Peppol validator?

A Peppol validator checks whether a UBL XML invoice complies with Peppol BIS Billing 3.0 and EN16931 business rules. It runs schematron-based checks for schema issues, missing fields, invalid identifiers, and rule violations.

What is an e-invoice?

An electronic invoice (e-invoice) is a structured digital document exchanged directly between seller and buyer systems, not a PDF or scanned image. In Europe, e-invoices follow the EN16931 standard and are typically encoded as UBL 2.1 XML. They can be validated, processed, and booked automatically without manual data entry.

How do I validate EN16931 invoices?

Upload your UBL XML invoice above and run validation against EN16931 and Peppol BIS schematron rules. Errors and warnings are shown inline with rule references. For CII / Factur-X invoices, and ZUGFeRD / Factur-X PDFs, use our Factur-X validator. Factur-X / CII validator

What is UBL 2.1 and how does it relate to Peppol?

UBL (Universal Business Language) 2.1 is the OASIS XML standard that defines the data format for invoices and credit notes. Peppol BIS Billing 3.0 (often written BIS3) is a profile built on top of UBL 2.1 that restricts and extends it with specific business rules for the Peppol network. EN16931 sits in between as the European semantic standard. When you validate here, we check both the Peppol BIS layer and the EN16931 layer.

What causes Peppol validation errors?

Common causes include missing mandatory fields (like seller/buyer identifiers or tax breakdowns), incorrect InvoiceTypeCode (BT-3), a specification identifier (BT-24, cbc:CustomizationID) that is not the exact Peppol BIS Billing 3.0 customization ID (PEPPOL-EN16931-R004), empty XML elements (PEPPOL-EN16931-R008), and calculation mismatches on line or document totals (BR-CO rules). See all 311 validation errors explained

Can I validate Peppol credit notes?

Yes. Upload a UBL CreditNote XML file and it will be validated against the same Peppol BIS 3.0 and EN16931 rules. Peppol supports two approaches: a dedicated CreditNote document (code 381, positive amounts) or a negative Invoice (code 380, negative amounts). Both are valid. Credit note validation guide

How do I test a Peppol invoice before I send it?

Drop the UBL or CII XML file into the validator above. The Peppol check runs the official EN16931 and Peppol BIS Billing 3.0 schematron rules and lists every error and warning with its rule ID. Fix the errors and validate again until the result is clean. You do not need a test account, an Access Point or a Peppol ID to run the test.

Can I validate multiple UBL files at once?

Yes. Drop as many XML files as you need and review all validation results in one session. Each session gets a shareable URL.

Which countries mandate Peppol e-invoicing?

Belgium mandates B2B e-invoicing via Peppol since January 2026, with penalties enforced from April 2026. Germany requires all businesses to receive structured e-invoices since January 2025, with sending obligations phased through 2028. France starts its B2B mandate in September 2026 for large enterprises. Spain's Crea y Crece Law mandates B2B e-invoicing with a phased rollout. The Netherlands mandates B2G e-invoicing and has very high voluntary B2B adoption. Italy has required e-invoicing via SDI since 2019. Norway was a Peppol pioneer with mandatory B2G since 2012. See all mandates by country

What is the EN16931 standard?

EN16931 is the European standard for the semantic data model of an electronic invoice, published by CEN. It defines what information an invoice must contain (like BT-1 Invoice Number, BT-3 Invoice Type Code, BG-7 Buyer information) without prescribing a specific format. Peppol BIS 3.0 implements EN16931 using UBL 2.1 XML as the syntax.

What are mandatory fields on a Peppol invoice?

Key mandatory fields include: Invoice number (BT-1), Issue date (BT-2), Invoice type code (BT-3), Currency code (BT-5), Seller name and identifier (BG-4), Buyer name (BG-7), line items with descriptions and amounts, and VAT breakdown with category codes. Missing any of these triggers BR-series validation errors.

Which tools are considered the best for Peppol invoice validation and delivery?

Validation and delivery are two separate jobs. For validation, the best free tools all run the official EN16931 and Peppol BIS 3.0 schematrons unchanged (Peppol Validator also runs the official KoSIT XRechnung 3.0 schematron for XRechnung files): Peppol Validator (this site), the OpenPeppol Practical validator (peppol.helger.com), the ecosio validator, and the Norwegian Anskaffelser EHF validator. They differ mostly in UI, supported syntaxes (UBL only vs UBL plus CII / Factur-X / XRechnung), and result-sharing features. For delivery, you need a certified Peppol Access Point such as Storecove, Tradeshift, Pagero, B2BRouter, or your ERP vendor's broker. The right combination for most teams is one validator wired into CI plus one Access Point for production exchange.

How does Peppol Validator compare to OpenPeppol, ecosio, EHF, and other Peppol checkers?

All run the same official schematron rule sets, so a valid invoice is valid everywhere. Peppol Validator differs in three ways: it accepts batch uploads with shareable result URLs, it supports UBL plus CII / Factur-X / XRechnung in one interface, and it exposes a REST API and MCP server for AI agents. The OpenPeppol Practical (Helger) validator is the canonical reference and supports the widest set of national CIUS profiles. The ecosio validator focuses on tight feedback for B2B onboarding flows. The Anskaffelser EHF validator is tailored to Norwegian EHF documents. None of these requires signup for basic use. ecosio validator vs Peppol Validator, compared

Learn more

Country guides