All countries
Country Guide

🇵🇱 E-Invoicing in Poland

Mandatory
Recently verified: 9 March 2026

Poland is implementing mandatory B2B e-invoicing through the Krajowy System e-Faktur (KSeF), with the mandate expected to take effect in 2026. KSeF is a centralized government platform where all structured invoices must be submitted, validated, and stored. The system uses a proprietary XML schema based on the Polish FA(2) format.

The KSeF mandate will require all VAT-registered businesses in Poland to issue structured e-invoices through the platform. The system assigns a unique KSeF reference number to each invoice upon acceptance, which serves as proof of delivery. B2G e-invoicing through KSeF has been available since January 2024 on a voluntary basis.

Poland's approach differs from other EU countries in that KSeF acts as both the validation engine and the central repository — invoices are stored by the government for 10 years. Invoice Navigator validates Polish e-invoices against EN 16931 rules and provides format compatibility checks for the KSeF FA(2) schema.

Once the mandate takes effect, invoices not submitted through KSeF will not be recognized for VAT purposes. The Polish Ministry of Finance has indicated penalties for non-compliance will include fines up to 100% of the VAT amount on non-compliant invoices.

TL;DR

Poland is mandating B2B e-invoicing via the KSeF centralized platform in 2026. All invoices must be submitted in FA(2) XML format and stored by the government for 10 years.

Last updated: January 2026

Quick Facts
Format
ksef
CIUS Rules
134
Auto-Fix
78%
Portal
Compliance

Mandate Status

Phase
Status
Scope
KSeF voluntary
Live (Jan 2022)
All VAT payers (opt-in)
B2B mandatory
Live (Feb 2026)
All Polish VAT payers
B2G
Live (Feb 2026)
Included in general KSeF mandate

Technical Specifications

Validation engineKSeF (centralized government validation)
Required CIUSKSeF XML schema (FA(2) — proprietary, not EN 16931)
Government portalKSeF (ksef.mf.gov.pl)
Routing identifierNIP (tax identification number)
PeppolNo — KSeF is a closed national system
Accepted formatsksef
Invoice Navigator covers 134 KSeF FA(2) rules. Auto-remediates 78% of top rejection errors.
Practical

Common Rejection Patterns

#1PL-R-003KSeF submission requiredFix guide
#2KSEF-009Bank account not on VAT white listFix guide
#3PL-R-004KSeF session token invalidFix guide
#4PL-R-006Currency must be PLN for KSeFFix guide
#5KSEF-010KSeF XML schema validation failedFix guide
Invoice Navigator auto-remediates these at pipeline speed. See how →

Implementation Notes

KSeF is architecturally different from Peppol-based mandates. If you've built for Belgium or Germany, assume nothing transfers.

Clearance model. Every invoice must be submitted to KSeF via API, validated by the government, and assigned a unique KSeF number before it's considered issued. The buyer retrieves the invoice from KSeF — you don't deliver it directly. This means your pipeline's "send invoice" step is actually "submit to KSeF and wait for acceptance." Rejection means the invoice was never issued.

Proprietary XML schema. KSeF uses its own XML schema (FA(2)), not EN 16931 UBL or CII. If your pipeline is built on EN 16931, you need a dedicated KSeF mapper. The schema has Polish-specific fields (e.g., GTU codes for goods/services classification, MPP split payment markers) that have no EN 16931 equivalent.

Authentication complexity. KSeF requires qualified electronic signatures (kwalifikowany podpis elektroniczny), trusted profiles (profil zaufany), or authorization tokens for API access. Multi-entity setups need per-entity token management. The token refresh logic is non-trivial — tokens expire and the renewal endpoint has rate limits.

What catches integrators off-guard. KSeF stores invoices for 10 years and serves as the legal archive. Credit notes must reference the original KSeF number. Cross-border invoices also require KSeF reporting (the system covers all invoices issued by Polish VAT payers, not just domestic). Batch submission is supported but each invoice gets individual validation — a batch of 1,000 can partially fail.

Stay Current

Recent Updates

Poland: Updated threshold criteria for KSeF Phase 1Source ↗
MajorPoland KSeF Implementation Now Shows Detailed Phased RolloutSource ↗
MajorPoland KSeF mandate date confirmedSource ↗

🔔 Poland Alerts

Explore

E-Invoicing in Poland: FAQ

Ship compliant Poland invoices

Validate, fix, and route Poland e-invoices through a single API. No XML editing required.

Get API Access