FlowieExchange
Compliance · 🇵🇱 Poland Phased rollout

Poland — KSeF mandatory B2B clearance

KSeF mandatory clearance · large taxpayers Feb 2026 · all April 2026 — regulator: Ministerstwo Finansów (Ministry of Finance). Facts last refreshed: 2026-05-05.

Coverage model
Flowie operates a registered Peppol Access Point in this jurisdiction directly where we hold national accreditation, or via a vetted local partner registered with the in-country regulator where on-the-ground presence is required (KSeF, SDI intermediario, ZATCA service-provider, etc.). Either way, you call the same POST /v1/documents/send.

TL;DR

Deadlines

DateWhoWhat
2022-01-01Voluntary KSeFAvailable for early adopters.
2026-02-01Large taxpayers (sales > PLN 200M)KSeF mandatory.
2026-04-01All other VAT taxpayersKSeF mandatory.
2027-01-01Cash register integrationPOS systems must connect to KSeF for B2C documents.

Background

Poland operates the most aggressive CTC regime in the EU: clearance, not just reporting. An invoice does not legally exist until KSeF accepts it and returns a KSeF number. The seller can then deliver the invoice to the buyer (in any format), with the KSeF number as proof of validity.

Flowie's domestic Polish flow: POST /v1/documents/send → Flowie translates JSON to FA(2) → submits to KSeF → receives KSeF number and visualisation URL → returns those to the caller, then optionally delivers to the buyer (PDF or Peppol).

Format profile

Required fields

Public sector (B2G)

HubPeppol identifier schemeLookup
KSeF (covers public + private)PL-NIP-<nip>https://www.podatki.gov.pl/ksef

KSeF is the universal Polish hub — public-sector recipients use it too. There's no separate B2G platform.

B2B reporting / clearance

KSeF — Clearance: invoice validated and assigned KSeF number before legal delivery.

Lifecycle statusReported as
issuedSubmitted; KSeF number returned.
rejectedSchema or business-rule failure; original FA(2) returned.
cancelledCancellation message; original KSeF number referenced.

Opt-out: settings.autoCompliance.PL = false (only for cross-border-only sellers)

Error codes

CodeMeaningFix
KSEF-21100Schema validation failure on FA(2).Inspect error.details for the offending element.
KSEF-21102NIP not registered with KSeF.Either party not yet onboarded; verify with the buyer.
KSEF-22001Authentication token expired.Flowie auto-refreshes; manual integrations must re-issue the JWT.

Testing in sandbox

What you want to testHow
KSeF happy pathSeller NIP 1111111111, buyer NIP 2222222222; sandbox returns synthetic KSeF number.
Force KSeF rejectionsimulateCompliance: "reject_KSEF_21100".

FAQ

Can I send PDF to the buyer if KSeF accepted the FA(2)?

Yes — once KSeF returns a number, the invoice exists. You may also deliver a human-readable PDF (with the KSeF number on it) to the buyer's mailbox, or send via Peppol if they prefer.

Are foreign sellers obligated?

Only if registered for Polish VAT. A foreign EU seller invoicing into Poland uses standard EU rules; KSeF is not required.

References

Primary sources (government / regulator / standards body):

Industry analyses (vendor trackers — useful for cross-referencing):