If you build invoicing, POS or payment software with Polish customers, this post gives you what changes on 1 January 2027 when KSeF becomes mandatory for every business, what the government decided on 20 October 2026 about fines, and a checklist, all from official KSeF sources.
What changed on 20 October 2026
The Council of Ministers adopted the draft VAT amendment known as UD477. It moves fines for not using KSeF (or using it wrongly) from 1 January 2027 to 1 January 2028. KSeF itself stays mandatory: in 2027 the tax administration will first remind a business individually and then check its VAT if it doesn't react. The bill still has to pass the Sejm and the Senate and be signed; it is meant to enter into force on 31 December 2026. Until it is published, plan as if the current dates apply.
Timeline
| Date | What applies |
|---|---|
| 1 Feb 2026 | KSeF mandatory for issuing for businesses with 2024 sales above PLN 200 million (incl. VAT); every business must receive in KSeF |
| 1 Apr 2026 | KSeF mandatory for issuing for all other businesses, including VAT-exempt ones |
| Until 31 Dec 2026 | Up to PLN 10,000 a month of invoiced sales may still be invoiced outside KSeF; cash-register invoices and receipts with the buyer's NIP (up to PLN 450) stay outside KSeF |
| 1 Jan 2027 | KSeF for everyone; cash-register invoices end; transfers between active VAT payers must quote the KSeF number (art. 108g) |
| 1 Jan 2028 | Fines start, if bill UD477 passes (today's law: 1 Jan 2027) |
What a KSeF invoice is
- The FA(3) structure, a Polish XML schema. It is not UBL, CII or Peppol BIS.
- It counts as issued on the day it is sent to KSeF. KSeF returns a KSeF number in the official receipt (UPO); it is not in the XML and differs from your own invoice number (field P_2).
- Delivered through KSeF to Polish business buyers. Foreign buyers without a Polish establishment and consumers get it in an agreed way (for example a PDF) with a QR code and the KSeF number.
Checklist before 1 January 2027
- Drop the PLN 10,000 logic. Every B2B invoice now goes through KSeF.
- POS and shop systems: cash-register invoices and receipts with a NIP stop counting as invoices. Issue business invoices for register sales in KSeF.
- Store the KSeF number per invoice from the UPO and pass it to accounting and payments.
- Payment files: put the KSeF number (or a KSeF collective identifier for several invoices) in the transfer title, also in split-payment (MPP) messages, when both sides are active VAT payers; the payee's status comes from the official VAT white list on the payment day.
- Offline modes: offline24 lets you issue outside KSeF and send by the next business day; an offline invoice handed over outside KSeF needs two QR codes (OFFLINE and CERTYFIKAT), and the second needs a KSeF certificate obtained in advance.
- Foreign buyers: still issue in KSeF, then send a PDF with the KSeF QR code and number.
- Receiving: every Polish business has had to receive in KSeF since 1 February 2026.
Fines once they apply
Art. 106ni of the VAT Act: up to 100% of the VAT on an invoice issued outside KSeF against the rules, or up to 18.7% of the total when the invoice shows no VAT. Not tax advice.
Routing check in a multi-country app
Disclosure: I work on W System, which makes this API. W System does not submit to KSeF and does not create or validate FA(3). In a multi-country invoicing app, GET https://api.wsystem.dev/einvoice/route?id=PL7740001454 checks the buyer's VAT number in VIES, looks it up in the Peppol Directory and returns the country's mandate, so your app knows a Polish buyer needs KSeF FA(3) while a Belgian one needs Peppol BIS 3. Free for 20 calls a day per IP.
The full version with sources, FAQ and the live response is at https://wsystem.dev/poland-ksef-2027-invoicing-software.
Comments
Join the discussionNo comments yet. Be the first to comment.