Poland's KSeF e-invoice mandate: what applies now
Poland's national e-invoicing system, KSeF, became mandatory in 2026 in two waves, with the smallest businesses due in 2027. Below: the dates, the penalty position, the format that counts, and which checks on an invoice still help before you submit.
The timeline (domestic B2B)
| Date | What changes |
|---|---|
| 1 Feb 2026 | Taxpayers with turnover above PLN 200 million must issue B2B invoices through KSeF. All VAT taxpayers can receive them there. |
| 1 Apr 2026 | Most other VAT-registered businesses must issue through KSeF. The smallest businesses are not yet included. |
| 1 Jan 2027 | The smallest businesses (monthly invoiced sales up to PLN 10,000, single invoices up to PLN 450) join. Dedicated KSeF penalties were originally due to start on this date. |
| 1 Jan 2028 (proposed) | The Ministry of Finance announced in September 2026 that penalties for KSeF errors would be deferred to this date. It is a draft bill, not yet law; the duty to use KSeF is not deferred. |
Reported penalties reach 100% of the VAT on the invoice, or 18.7% of the amount due when there is no VAT. Sources for these dates are advisory firms and vendor notes, not the Ministry's own texts, and the rules have moved more than once: confirm with the Ministry of Finance or your accountant. This is a summary, not tax advice.
Which file counts
KSeF accepts structured XML in Poland's own FA(3) schema, submitted to the central system, which returns a KSeF reference number. A PDF, or an EN 16931 UBL or CII file, is not the invoice there unless it is converted to FA(3) and submitted. Your accounting software usually does that conversion, which is why a defect in the content (a wrong total, a missing tax reason, a mistyped IBAN) shows up late, after submission.
What this checker does not do: it does not run the full FA(3) XSD (element order, patterns) and does not talk to KSeF. Drop an FA(3) XML file in and it checks NIP check digits, the tax-rate codes, line amounts, the P_13/P_14 totals per rate, P_15 and the PLN tax on foreign-currency invoices, with its own PL-nnn rule ids. JSON, UBL, CII and Factur-X documents are checked against EN 16931 and Peppol BIS 3.0 rules, the right test for invoices you send to buyers in other EU countries.
What still helps before you submit
Many defects do not depend on the format. Open the checker with the invoice content in JSON, UBL or CII and it tests the totals and tax breakdown arithmetic, a missing tax reason on a 0% or exempt line, and VAT, IBAN and BIC typos, each with a rule ID and a fix (the rule reference). No account, nothing uploaded.
No invoice yet? The e-invoice creator turns a form into UBL or CII XML and checks it. Selling into other countries? See the German dates, the French dates and the Belgian dates, Italy, Romania, Greece, Bulgaria, the UK, the UAE, India, Saudi Arabia, or the Portugal, EU e-invoicing mandate checker. Also: Slovakia, Lithuania, Luxembourg, Malta, Norway, Hungary, Denmark, Estonia, Latvia, Slovenia, Czech Republic, Serbia.
Common questions
When did Poland's KSeF e-invoicing mandate start?
On 1 February 2026 large taxpayers (turnover above PLN 200 million) had to issue B2B invoices through KSeF; most other VAT-registered businesses followed on 1 April 2026. The smallest businesses (monthly invoiced sales up to PLN 10,000 and single invoices up to PLN 450) are due from 1 January 2027. Receiving through KSeF applied to everyone from February 2026. Exceptions exist; confirm your own date with the Ministry of Finance or your accountant. This page is a summary, not advice.
Which invoice format does KSeF use?
KSeF takes structured XML in Poland's own FA(3) schema, not UBL or CII directly. A PDF or an EN 16931 UBL file is not an invoice in KSeF unless it is converted to FA(3) and submitted. This checker reads FA(3) files for NIP check digits, rate codes and arithmetic (PL-nnn rules) but does not run the full XSD; it checks JSON, UBL, CII and Factur-X documents against EN 16931 and Peppol BIS 3.0 rules.
What are the penalties for KSeF errors in Poland?
Reported figures are up to 100% of the VAT shown on the invoice, or up to 18.7% of the amount due where there is no VAT. The Ministry of Finance announced in September 2026 that the start of these penalties would move from 1 January 2027 to 1 January 2028, but advisers describe that as a draft bill, not yet law. The duty to use KSeF itself is not deferred. Confirm the current status before relying on it.
What can a free EN 16931 checker do for a Polish business?
It cannot submit to KSeF or run the full FA(3) schema, but it reads an FA(3) file for NIP check digits, rate codes and arithmetic. It can also check the invoice content that both formats share before you key it into your KSeF software or send it across a border: totals and tax breakdown arithmetic, a missing tax reason on a 0% line, and VAT, IBAN and BIC typos, each with a rule ID and a fix. Nothing is uploaded when you use the page.
Open the E-invoice Preflight checker to validate your own invoice file.
More countries
Australia Austria Brazil Croatia Cyprus Finland Ireland Japan Malaysia Mexico Colombia Chile Peru Argentina Netherlands Nigeria Singapore Invoicenow Spain Sweden Switzerland Turkey Uruguay Paraguay Ecuador Indonesia Vietnam