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.
E-invoicing rules in Poland
Status: KSeF in force — FA(3) mandatory. See who must issue and receive e-invoices, deadlines and accepted formats.
Validate your UBL invoice for Polish cross-border transactions
Check EN 16931 and Peppol BIS 3.0 compliance instantly. No file uploaded.