Poland's KSeF is not Peppol: what is different
KSeF is Poland's national e-invoicing system: invoices are sent in a Polish structured format to a central government platform, which numbers each one. Peppol is a network of access points that delivers invoices between businesses. In Poland, Peppol is used for public procurement.
The two are easy to mix up because both replace PDF invoices with structured data, and both show up in the same conversations about European e-invoicing. They solve different problems, though, and a business selling into Poland needs to know which one applies to which invoice.
KSeF and Peppol side by side
| KSeF | Peppol | |
|---|---|---|
| What it is | A national system run by Poland's Ministry of Finance | An international network of access points, governed by OpenPeppol |
| Where invoices go | Into one central platform, where the buyer collects them | From the seller's access point to the buyer's access point |
| Format | Poland's own structure, FA(3) | Peppol BIS Billing, based on the European standard EN 16931 |
| Proof of the invoice | KSeF gives every invoice issued in it a number of its own | No central number; the invoice keeps the seller's own number |
| Who uses it | Businesses established in Poland invoicing other businesses | Businesses and public bodies in many countries; in Poland, public procurement |
A central platform versus a network
Many countries now follow one of two broad models. In a clearance model, the tax authority sits in the middle: the invoice passes through a government platform, and that platform is where the buyer gets it. KSeF works this way. Every structured invoice goes into the system, which gives it a KSeF number, and the buyer retrieves it from there.
In a network model, the invoice travels directly between the two businesses through service providers that speak a common standard, and any tax reporting is generally handled as a separate step. Peppol is a widely used network of this kind, explained in how the Peppol network works, with the role of the provider in the middle covered in what a Peppol access point does.
Who must use KSeF, and from when
According to the official KSeF site, the obligation came in two steps in 2026:
- 1 February 2026: the largest taxpayers, measured by their 2024 sales, had to start issuing invoices in KSeF.
- 1 April 2026: the other taxpayers followed.
- Receiving: taking in invoices through KSeF has been mandatory since 1 February 2026.
Some transitional rules run until the end of 2026. Sellers whose invoiced sales stay under a small monthly limit may keep issuing invoices outside KSeF until then, and certain simplified documents, such as till receipts that carry the buyer's tax number, are still accepted for that period. Attachments to invoices have been possible in KSeF since 1 February 2026, after the business notifies the tax office, and an offline mode called offline24 exists for times when the connection is poor.
Who is outside the obligation
The official scope page lists the main exclusions:
- Foreign sellers without a fixed establishment in Poland, or whose Polish establishment did not take part in the sale.
- Invoices to private consumers, meaning people who do not run a business.
- Some special VAT procedures, such as the non-EU OSS and IOSS schemes, which stay outside KSeF entirely.
Foreign sellers and invoices to consumers may still go through KSeF voluntarily. A foreign business with a Polish establishment involved in the sale is generally inside the system, so it is worth checking with a Polish tax adviser before assuming either way.
Where Peppol still fits in Poland
Poland does use Peppol, for public contracts. Its platform for that is PEF, the Platforma Elektronicznego Fakturowania, live since 1 April 2019 under the EU directive on e-invoicing in public procurement. Contracting authorities must be able to receive structured invoices there, while suppliers are not obliged to send through it.
The Polish authorities describe KSeF and PEF as two separate systems, with PEF reserved for documents exchanged under a public contract. They have also described plans to let KSeF accept traffic from Peppol access points, including PEF. Until the details are published, treat a Peppol connection and a KSeF connection as two different things.
The two formats are not interchangeable
An invoice that is valid in Peppol is not a valid KSeF invoice by default, and the other way round. FA(3) is Poland's own logical structure, with its own fields and rules, while a Peppol invoice follows Peppol BIS Billing on top of EN 16931. What a Peppol file contains is laid out in what is inside a Peppol BIS Billing e-invoice. Software that serves both usually keeps one set of invoice data and produces each format from it.
Poland is part of a wider European shift. Other countries are choosing their own routes, as France's e-invoicing reform shows, and the EU's VAT in the Digital Age package sets a common direction for cross-border invoices. Once an invoice is delivered over Peppol, the buyer can also reply with a status message; message level responses explain those.
Frequently asked questions
Is KSeF part of the Peppol network?
No. KSeF is a national platform run by Poland's Ministry of Finance, with its own format and its own numbering. Peppol is an international delivery network. The Polish authorities have described plans to connect Peppol access points to KSeF, but the two remain separate systems.
Do foreign companies have to use KSeF?
Generally not, if they have no seat or fixed establishment in Poland, or if their Polish establishment was not involved in the sale. They may use it voluntarily. The rules have edge cases, so check with a Polish tax adviser.
Can I send a Peppol invoice to a Polish business?
It depends on the seller. A seller established in Poland and inside KSeF issues the invoice in KSeF in the FA(3) structure. A foreign seller with no fixed establishment in Poland is generally outside KSeF and may agree on another channel with the buyer, Peppol included. Public procurement in Poland uses Peppol through PEF.
What is a KSeF number?
It is the identifier KSeF gives each invoice issued in the system, one per invoice. It shows the invoice was issued in KSeF and lets both sides refer to the same document.
Run your business on Apple.
Create your account on the web, then set up your workspace in the app on your iPhone, iPad or Mac.
Create your account


