All countries

E-Invoicing in Poland

Mandatory
Recently verified: 23 February 2026

Poland launched KSeF (Krajowy System e-Faktur) as mandatory for all B2B transactions on February 1, 2026. KSeF is a centralized clearance system — every invoice must be submitted to and validated by the government platform before it reaches the buyer. The system uses a proprietary XML schema (not standard EN 16931 UBL/CII) and does not use the Peppol network.

Mandate Status

PhaseStatusScope
KSeF voluntaryLive (Jan 2022)All VAT payers (opt-in)
B2B mandatoryLive (Feb 2026)All Polish VAT payers
B2GLive (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 XML format
Invoice Navigator covers 134 KSeF FA(2) rules. Auto-remediates 78% of top rejection errors.

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.

Common Rejection Patterns

#CodeDescription
1KSEF-010KSeF XML schema validation failedFix guide
2PL-R-003KSeF submission requiredFix guide
3KSEF-009Bank account not on VAT white listFix guide
4PL-R-004KSeF session token invalidFix guide
5PL-R-007Split payment annotation requiredFix guide

Invoice Navigator auto-remediates these at pipeline speed. See how →

View all Poland error codes

Recent Updates

Poland: Updated threshold criteria for KSeF Phase 1

Clarified that Phase 1 mandatory e-invoicing from February 1, 2026 applies to enterprises with 2024 sales exceeding 200 million PLN, providing more specific threshold criteria than previously available.

Source: Polish KSeF
Major update

Poland KSeF Implementation Now Shows Detailed Phased Rollout

The KSeF system will be implemented in three phases: February 1, 2026 for businesses with revenue >200M PLN in 2024, April 1, 2026 for most other businesses, and January 1, 2027 for businesses with monthly revenue ≤10,000 PLN. This represents a significant change from the previously understood single implementation date.

Source: KSeF Portal
Major update

Poland KSeF mandate date confirmed

Poland confirms February 1, 2026 as the mandatory start date for the KSeF national e-invoicing system.

Source: Polish Ministry of Finance

Ship compliant Poland invoices

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

Get API Access