Free UBL & Peppol Invoice Validator BIS 3.0 & EN 16931
This free tool validates UBL 2.1 invoices and credit notes for XSD schema compliance and Peppol BIS Billing 3.0 business rules (EN 16931 standard). It is designed for developers, accountants, and finance teams who need to verify their e-invoices before submitting them through the Peppol network.
UBL / Peppol Validator for Polish Companies
Poland mandates KSeF (National e-Invoice System) for B2B from 2026. Validate your UBL / Peppol BIS 3.0 invoices for EN 16931 compliance for cross-border transactions — free, no upload.
Open UBL ValidatorPolish e-invoicing: KSeF system and Peppol
Poland's KSeF (Krajowy System e-Faktur) is a centralised national e-invoicing platform operated by the Ministry of Finance. KSeF uses a Polish-specific XML format (FA_VAT) that differs from EN 16931/UBL. Mandatory B2B use of KSeF is expected from February 2026 for large taxpayers (VAT-registered with turnover above 200M PLN) and July 2026 for all VAT-registered businesses.
For cross-border transactions and Peppol-connected trading partners, UBL / Peppol BIS 3.0 remains the standard. Polish businesses exporting to other EU countries use Peppol for B2G procurement in target markets. ValidateFin validates UBL invoices against EN 16931 and Peppol BIS 3.0, covering cross-border compliance requirements.
Polish e-invoicing compliance timeline
KSeF launched as voluntary system. Polish businesses can opt in to issue and receive invoices through the national platform.
Mandatory KSeF deadline postponed from July 2024 to 2026 due to technical issues. Voluntary use continues with progressive adoption.
KSeF mandatory for large taxpayers (VAT-registered, annual turnover above 200 million PLN). FA_VAT format required for domestic B2B.
KSeF mandatory for all Polish VAT-registered businesses including SMEs. Poland becomes fully mandatory KSeF country.
What ValidateFin checks in your UBL invoice for Poland
For Polish companies using UBL/Peppol for cross-border EU invoicing, verify your invoice passes these checks:
- UBL 2.1 schema validation against EN 16931 and Peppol BIS Billing 3.0 specification
- Polish VAT number format: PL + 10 digits (NIP — Numer Identyfikacji Podatkowej)
- EN 16931 mandatory fields: seller/buyer identifiers, invoice number, issue date, tax breakdown
- VAT consistency: Polish rates (23%, 8%, 5%, 0%) and exempt categories correctly applied
- Peppol BIS 3.0 specific rules: buyer reference, payment means, currency (PLN or EUR)
Common UBL errors for Polish cross-border invoicing
Invalid Polish NIP format
Polish NIP (Numer Identyfikacji Podatkowej) must be prefixed with PL in EN 16931 invoices: PL + 10 digits (e.g. PL1234567890). The 10-digit checksum must be valid.
Currency code mismatch
Polish domestic invoices typically use PLN. Cross-border Peppol invoices to other EU countries use EUR or the buyer's currency. Ensure cbc:DocumentCurrencyCode matches the invoice amounts.
Incorrect VAT category for Polish zero-rated exports
Polish exports are zero-rated (0% VAT, category Z). Using S category with 0% rate instead of Z category causes EN 16931 rule failures in cross-border Peppol invoices.
Frequently asked questions
What is KSeF and does it use UBL?
KSeF (Krajowy System e-Faktur) is Poland's national centralised e-invoicing platform. It uses a Polish-specific XML format called FA_VAT, not UBL. UBL/Peppol BIS 3.0 is used for cross-border transactions with other EU Peppol-connected businesses. KSeF and Peppol serve different purposes and are not interchangeable.
When is KSeF mandatory in Poland?
KSeF becomes mandatory for large taxpayers (turnover above 200M PLN) from February 2026 and for all VAT-registered Polish businesses from July 2026. The original 2024 deadline was postponed due to technical issues discovered during testing.
Can ValidateFin validate KSeF invoices?
ValidateFin validates UBL/Peppol BIS 3.0 invoices for cross-border compliance. KSeF uses a different FA_VAT format. For KSeF-specific validation, use the tools provided by the Polish Ministry of Finance. ValidateFin is useful for Polish companies sending UBL invoices to non-Polish EU buyers via Peppol.
Validate your UBL invoice for Polish cross-border transactions
Check EN 16931 and Peppol BIS 3.0 compliance instantly. No file uploaded.
About the UBL / Peppol Invoice Validator
This free tool validates UBL 2.1 invoices and credit notes for XSD schema compliance and Peppol BIS Billing 3.0 business rules (EN 16931 standard). It is designed for developers, accountants, and finance teams who need to verify their e-invoices before submitting them through the Peppol network.
The validator checks structure, mandatory fields, VAT consistency, line item totals, and dozens of business rules defined in the European e-invoicing standard. All processing is done locally — no invoice data is ever sent to a server.
UBL (Universal Business Language) 2.1 is an OASIS standard that defines XML schemas for common business documents including invoices, credit notes, and orders. Within Europe, the Peppol network uses UBL as its primary invoice format, governed by the BIS Billing 3.0 specification which implements the EN 16931 European standard. As EU member states roll out mandatory e-invoicing (France in 2026, Germany in 2025 for B2B, Belgium via Peppol from January 2026), the ability to validate UBL invoices before transmission becomes essential for compliance.
The validation covers two layers: structural validation against the UBL 2.1 XSD schema (checking element names, data types, and cardinality) and semantic validation against Peppol business rules (checking that tax calculations are consistent, that mandatory supplier and buyer identifiers are present, and that document totals are mathematically correct). A single failed business rule can cause invoice rejection on the Peppol network, leading to delayed payments and reconciliation issues.
What is UBL?
UBL (Universal Business Language) 2.1 is an OASIS open standard that defines XML schemas for common business documents such as invoices and credit notes. In Europe, UBL is the primary format used on the Peppol network for e-invoicing, governed by the BIS Billing 3.0 specification which implements the EN 16931 European e-invoicing standard.
Key Takeaways
- UBL 2.1 is the primary invoice format for the Peppol network across Europe
- Peppol BIS Billing 3.0 enforces ~150 business rules on top of the UBL XML schema
- Tax calculations must be mathematically consistent — even 0.01€ difference causes rejection
- Mandatory fields include seller/buyer VAT, invoice number, tax breakdown, and monetary totals
- ValidateFin validates both UBL schema and Peppol business rules entirely in your browser
European e-invoicing formats compared
| Format | Syntax | Primary markets | Use case |
|---|---|---|---|
| UBL 2.1 (Peppol BIS 3.0) | XML | All EU via Peppol | B2B/B2G e-invoicing network |
| Factur-X / ZUGFeRD | PDF/A-3 + XML | France, Germany, Belgium | Hybrid human+machine invoices |
| CII (Cross Industry Invoice) | XML | Germany (XRechnung) | Government invoicing (B2G) |
| FatturaPA | XML (SDI) | Italy | Mandatory B2B since 2019 |
All formats implement EN 16931. Peppol BIS 3.0 uses UBL syntax and is the most widely adopted across the EU.
Frequently Asked Questions
Which UBL invoice versions are supported?
The validator supports UBL 2.1 invoices and credit notes, with Peppol BIS Billing 3.0 business rule validation (EN 16931 standard). See our UBL/Peppol invoicing guide for details.
What is the difference between XSD validation and Peppol rules?
XSD validation checks the document structure and data types. Peppol BIS 3.0 rules add business logic checks such as VAT consistency, mandatory supplier fields, and line item totals.
Is this tool suitable for e-invoicing compliance in Europe?
Yes. The tool validates against EN 16931, the European standard for electronic invoicing, making it suitable for compliance checks in all EU member states. Read more about upcoming requirements in our e-invoicing in Europe 2026 article.
Do I need to install any software?
No installation required. The validator runs entirely in your browser with no plugins or extensions needed.
What is Peppol BIS Billing 3.0?
Peppol BIS Billing 3.0 (Business Interoperability Specification) is the standard specification for electronic invoices exchanged over the Peppol network. It implements the EN 16931 European standard and defines specific business rules around VAT, payment terms, allowances, charges, and document totals. It is used across all EU member states and many international partners.
Why does my UBL invoice pass XSD validation but fail Peppol rules?
XSD validation only checks structure and data types — it cannot verify business logic. Peppol BIS 3.0 rules include checks like: the sum of line amounts must equal the document taxable amount, each tax subtotal must have a matching VAT category, and certain fields are conditionally mandatory based on document type. An invoice can be structurally valid but still violate these business rules.
What is the EN 16931 standard?
EN 16931 is the European standard for electronic invoicing, published in 2017 and mandatory for all public sector e-invoicing in EU member states. It defines a semantic data model for invoice content. UBL 2.1 and UN/CEFACT CII are the two XML syntaxes that implement this standard. Peppol BIS 3.0 is a profile built on top of EN 16931.
Can I validate a credit note with this tool?
Yes. The validator supports both UBL 2.1 Invoice and UBL 2.1 Credit Note document types. The same Peppol BIS 3.0 and EN 16931 rules apply to both, with some specific rules activated only for credit notes (e.g. a CreditedQuantity or PayableAmount with a negative sign). For hybrid PDF invoices, see the Factur-X / ZUGFeRD Viewer.
Which VAT categories are supported?
The validator supports all standard EN 16931 VAT categories: S (standard rate), Z (zero rate), E (exempt), AE (reverse charge), K (intra-EU supply), G (export outside EU), O (outside scope), and IGIC/IPSI for Canary Islands and Ceuta/Melilla. Each category has specific mandatory field requirements checked by the Peppol rules.
Is my invoice data safe when using this tool?
Yes. The entire validation process runs locally in your browser using JavaScript. Your invoice XML file is never uploaded to any server, transmitted over the network, or stored anywhere. This makes the tool fully compliant with GDPR and safe to use with real supplier and customer data. See our GDPR compliance page for details.