Poland · KSeF

KSeF for Shopify: Poland's e-invoicing mandate, and who it actually reaches

Last updated 26 August 2026 · dates, thresholds and format rules checked against Ministry of Finance sources on 26 August 2026

Poland's mandate is not coming. It arrived. KSeF has been compulsory for the largest taxpayers since 1 February 2026 and for the rest since 1 April 2026. The more useful question for a Shopify merchant is not when, but whether it reaches you at all, and for most stores selling into Poland from elsewhere the honest answer is that it does not.

The short version

KSeF is a national clearance system, it is live, and it is narrower than it looks. Polish B2B invoices go to the Ministry of Finance's system first and reach the buyer from there. Consumer sales are outside it. So is a seller with no seat of business and no fixed establishment in Poland. If you are a Polish company invoicing Polish companies, KSeF is already your obligation and has been since April 2026. If you are not, KSeF is something your Polish buyers do, not something you do.

Where Zeppol fits, and where it does not

Worth saying before the detail, because it decides what the rest of this page is good for. Zeppol is not a KSeF route. Poland did not build on Peppol. It built a national system with its own XML structure and its own API, and an invoice becomes a Polish structured invoice by being accepted by that system and given a number by it. A Peppol access point cannot deliver into KSeF. Neither can we.

What Zeppol does is the part that travels: turning a Shopify order into a proper e-invoice with the buyer's company details and VAT number captured, the VAT worked out per line, and the semantics of EN 16931 underneath. That is the right foundation for Germany, Belgium and the Netherlands. For Poland it is not sufficient, and we would rather say so on our own page than have you find out after installing something. A Polish seller needs Polish invoicing software with a KSeF integration, or an accounting office that has one.

What KSeF is

KSeF stands for Krajowy System e-Faktur, the national e-invoice system operated by the Polish Ministry of Finance. The mechanism is the thing to understand, because it is not how most of Europe does this.

In a network model, which is what Peppol is, the seller hands the invoice to a service provider and it is routed to the buyer's provider. In Poland the invoice is submitted to the state system. KSeF validates it against the official schema and, if it passes, assigns it a KSeF number. The invoice is treated as issued on the day it was sent to KSeF, and the buyer is treated as having received it at the moment that number is assigned. The tax administration holds the invoice, and both sides read it from there. That pattern is usually called continuous transaction controls, or clearance.

One consequence catches people out: there is no separate act of delivery to argue about. If it is not in KSeF, it is not an invoice in the sense the law means.

The dates

The staged timetable comes from the Act of 5 August 2025 amending the VAT Act, which set the schedule after the mandate had already been postponed once.

DateWhoWhat it means
1 Feb 2026Taxpayers whose sales including VAT exceeded 200 million zloty in 2024Issuing through KSeF becomes compulsory. The production system opens on the same date.
1 Apr 2026All other taxpayersThe general obligation. This is the date most Polish businesses were working to.
1 Jan 2027The smallest taxpayers, described as digitally excluded: individual invoices up to 450 zloty and monthly sales up to 10,000 zlotyThe obligation reaches them a year later. Until the end of 2026 they may keep issuing paper or ordinary electronic invoices.

Note which year the threshold is measured on. The 200 million zloty test looks at 2024 sales, not 2025, and it is stated inclusive of VAT. Getting that wrong moves a business by two months in a direction it cannot fix retroactively.

Who is outside the mandate

This is the section that matters most to a Shopify store, and it is the section most vendor pages skip. Mandatory KSeF does not cover:

Most of these can still be sent to KSeF voluntarily if you want everything in one place. The special procedures and the SME exemption cannot.

So the practical reading for a merchant selling into Poland from a store established elsewhere: the mandate does not attach to you. It reaches you the way the Dutch market reached suppliers who were never legally obliged, through customers. A Polish business that now receives every domestic invoice as structured data through a state system develops a low tolerance for a PDF attachment that has to be typed in by hand. See the Netherlands for how that plays out without a law.

FA(3), and why the format is not portable

Poland's structured invoice is defined by a logical structure published by the Ministry of Finance in the Central Repository of Electronic Document Templates. Since 1 February 2026 the applicable version is FA(3), which replaced FA(2) on that date. From then on, every structured invoice uses FA(3) and nothing else. The programmatic interface is documented as the KSeF 2.0 API.

FA(3) is a Polish national schema. It is not UBL, it is not UN/CEFACT CII, and it is not one of the EN 16931 syntaxes that XRechnung and Peppol BIS Billing 3.0 are built from. There is real semantic overlap, because an invoice is an invoice, but you cannot take a valid XRechnung file, rename it, and submit it to KSeF. Poland is genuinely a separate integration, which is exactly why it sits outside our product scope rather than being quietly listed as a supported country.

The transition rules that are still running

Poland softened the landing in three ways that are worth knowing about, because they explain why a Polish supplier may still be sending you something that does not look like a cleared e-invoice.

Where Poland sits in the EU picture

Poland is the clearest example of the split running through European e-invoicing right now. Some countries route invoices over a shared network; others clear them through the tax authority.

CountryModelStatus
PolandNational clearance system, FA(3) schema, KSeF 2.0 API.Live since February and April 2026.
ItalyNational clearance through SdI, FatturaPA format.Live since 2019.
RomaniaNational clearance through ANAF, RO_CIUS on EN 16931.Live since 2024 for B2B, 2025 for B2C.
BelgiumPeppol, four corner network.Live since January 2026.
FranceApproved platforms plus a state directory.Receiving from September 2026.
GermanyEN 16931 formats, no central platform.Issuing obligation phases in through 2027 and 2028.
SpainPublic solution plus certified private platforms.From October 2027.

ViDA is the reason this eventually converges: EU rules pull digital reporting towards a common European standard around 2030, and Poland will have to meet that too. Until then, "we support EU e-invoicing" is a claim that has to be read country by country.

What this means for a Shopify store

Three cases, and it is worth knowing which one you are in before you shop for software.

The wider point holds across the continent: getting the invoice itself right, with real company data and VAT that survives validation, is the part that carries over between countries. EU B2B invoicing on Shopify covers what that looks like in practice. The transmission leg is what differs, and in Poland it differs a lot.

Poland is one of three live clearance systems in the EU, and none of them reach each other. The EU e-invoicing mandate table lists every member state, its status and its date.

Frequently asked questions

What is KSeF?

The Krajowy System e-Faktur, Poland's national e-invoicing system, run by the Ministry of Finance. A Polish B2B invoice is submitted to KSeF, the system gives it a KSeF number, and the buyer collects it from there. That is a clearance model, not a network like Peppol.

When did KSeF become mandatory?

From 1 February 2026 for taxpayers whose sales including VAT exceeded 200 million zloty in 2024, and from 1 April 2026 for everyone else. The smallest taxpayers, with invoices up to 450 zloty and monthly sales up to 10,000 zloty, follow on 1 January 2027. The schedule comes from the Act of 5 August 2025 amending the VAT Act.

Does KSeF apply to a store based outside Poland?

Generally not. A taxpayer with no seat of business and no fixed establishment in Poland is outside the obligation, as is a foreign taxpayer whose Polish establishment does not take part in the supply. A fixed establishment is a question of fact, so confirm your own position with a Polish adviser.

Does KSeF cover sales to consumers?

No. Invoices to a natural person not conducting business activity are outside mandatory KSeF, which puts the consumer half of a typical Shopify order book out of scope entirely.

Is KSeF part of Peppol?

No. Poland uses its own FA(3) XML structure and its own KSeF 2.0 API. Peppol access points do not deliver into KSeF, and a Peppol connection does not make you compliant in Poland.

Which format does KSeF require?

The FA(3) logical structure, published by the Ministry of Finance. FA(3) replaced FA(2) on 1 February 2026 and is the only valid structure from that date. It is a national schema, not an EN 16931 syntax, so an XRechnung or Peppol BIS file cannot be submitted to it.

When is a KSeF invoice issued and received?

It is issued on the day it is sent to KSeF, if that matches the date on the invoice, and it counts as received when KSeF assigns it its identifying number. An invoice that arrives later than the date it carries falls under the offline rules.

Are there penalties in 2026?

The Ministry of Finance said there would be no penalties for errors related to invoicing through KSeF until the end of 2026. The obligation dates themselves did not move.

This guide is general information for Shopify merchants, not legal or tax advice. Mandates, thresholds and formats change, and Poland's have moved before, so confirm your own obligations with a qualified Polish adviser and against the Ministry of Finance's own KSeF pages.

E-invoices from your Shopify B2B orders

Zeppol turns every B2B order into an EN 16931 document, checks it against the EU and the German rules, and sends it over Peppol or by email. Join the list and I'll be in touch before the deadline.