·
How to issue an invoice in KSeF in 2026 — 3 ways
An invoice in KSeF is a structured XML file in the FA(3) format, not a PDF. You don't have to write the XML yourself, though — just pick one of three ways, depending on how many invoices you issue and what your company works in.
Way 1: the Ministry of Finance's free tools
The Ministry provides the KSeF 2.0 Taxpayer Application (Aplikacja Podatnika KSeF 2.0) and the KSeF 2.0 mobile app free of charge. You fill in an invoice form and the application prepares the XML and sends it to KSeF. You don't need paid software to use KSeF.
Who it suits: you issue a few invoices a month. The Ministry's explanation (in Polish).
Way 2: an invoicing program
Popular invoicing and accounting programs support KSeF — usually as part of the subscription. The program issues the invoice, sends it to KSeF and downloads your purchase invoices.
Who it suits: you invoice regularly and don't have a system of your own where invoices are created.
Way 3: integrating your own system through the KSeF API
If invoices are created in your company's own system — an ERP, an online shop or custom software — it can be connected to KSeF directly through the API. The Ministry publishes the KSeF 2.0 API documentation and official libraries for C# and Java.
How it works technically
- Authentication — the system logs in to KSeF with a KSeF token or the company's certificate.
- Session — the system opens a session and hands over an encryption key (AES-256, encrypted with the Ministry's RSA public key).
- FA(3) XML — the invoice is converted into XML that conforms to the official FA(3) schema, encrypted and sent.
- Status and KSeF number — KSeF verifies the invoice; an accepted invoice gets a KSeF number, a rejected one gets an error description.
- UPO — the official confirmation of receipt (urzędowe poświadczenie odbioru) is worth storing with the invoice as proof of acceptance.
Who it suits: you don't want to retype invoices into another program, and your system also has to handle purchase invoices and — from 1 January 2027 — the KSeF number in transfers.
Which way to choose
- A few invoices a month — the free KSeF 2.0 Taxpayer Application.
- Regular invoicing without your own system — an invoicing program.
- Invoices are created in your own system — integration through the KSeF API.
This English version is a translation of the Polish original, provided for convenience. It describes Polish law, and the Polish version prevails. It is for information only and is not tax advice.