I’ve been writing code for twenty years, and the stores we build almost always talk to an ERP or invoicing software. In 2026 a third party joined that conversation: KSeF, Poland’s National e-Invoicing System, where invoices to businesses are now created. The scale is already huge:

657minvoices had gone through KSeF by 2 September 20264
2.37mbusinesses were already issuing invoices in KSeF4
74%of businesses ran into errors in the system's first month14

A caveat up front: I’m writing as someone who connects stores to business systems, not as a tax adviser. This post isn’t legal or tax advice, so go over the details of your own situation with your accountant or adviser.

Where KSeF stands in October 2026

Let’s look at the calendar. Some deadlines have passed, and the ones that matter most for smaller stores are still ahead:

  1. 1 February 2026Businesses that sold more than 200 million zł including VAT in 2024 start issuing in KSeF. From this day every business receives invoices through KSeF1,2.
  2. 1 April 2026The obligation extends to everyone else. Until the end of the year there's an exception for those whose invoiced sales are no more than 10,000 zł gross a month. The invoice that crosses that limit already goes through KSeF2.
  3. 31 December 2026The last day on which invoices from a cash register and receipts with a VAT ID of up to 450 zł can be issued outside KSeF2,4.
  4. 1 January 2027KSeF applies to every business. A receipt with a VAT ID stops counting as a simplified invoice, and bank transfers must quote the invoice's KSeF number3,5,17.
  5. End of 2027Penalties are to be postponed until then, if parliament passes the bill the government adopted on 20 October 20263.

If you run a small store and rely on the 10,000 zł limit today, you have two months. From January, every invoice for a business with a NIP goes through KSeF.

Private customers and businesses: two different invoice routes

An online store usually has two kinds of customer, and KSeF treats them differently.

  • A private individual. Issuing invoices for consumers in KSeF is optional1. The customer receives the invoice outside the system, in a way you agree with them, for example as a PDF by email1.
  • A business with a Polish NIP. Here the invoice has to be created in KSeF, whether or not the buyer agrees to it1,7. The business receives it in the system and you don’t have to send it separately1.
  • A business from abroad. You issue the invoice in KSeF and pass it to the customer through an agreed channel, with a QR code7. Sales under the IOSS and non-EU OSS schemes are outside the KSeF obligation1.

Consumers generally don’t log in to KSeF. If you issue their invoice in the system, you can hand over just a QR code with access details, and the customer downloads the invoice without logging in6. In the invoice structure such a buyer has no NIP, only a flag saying there’s no identifier6.

What about receipts with a VAT ID? Until the end of 2026, a receipt of up to 450 zł with the buyer’s NIP can still stand in for an invoice2. From 1 January 2027 it loses that status, so a business buying from you with its NIP should get an invoice from KSeF5,17.

The NIP field at checkout and what happens after the purchase

Since the store has to tell a business from a private individual, it does so at the moment of purchase, at checkout7. A buyer who wants to use their NIP must give it2. In practice that means a NIP field that works properly: it checks the number’s format, is saved with the order and reaches the software that issues the invoice.

After the purchase, the order of events matters. An invoice is issued on the day it’s sent to KSeF, and the business receives it when the system assigns it a KSeF number1. If KSeF rejects the file, for example because of a data error, the invoice simply doesn’t exist6. For a store that raises a simple question: who on your team will notice that an invoice didn’t go through?

The second change concerns printouts and PDFs. Every KSeF invoice shown outside the system carries a QR code with the KSeF number under it8. If your store emails invoices to customers, that code has to be on them.

For cash on delivery or click-and-collect, a transaction confirmation is useful too. It’s a document with two QR codes that you hand over before the invoice gets its KSeF number. It isn’t an invoice and doesn’t give a right to deduct VAT, and only commercial software can issue it, not the ministry’s free apps1.

Returns and complaints in KSeF

A customer sends a parcel back, the store refunds the money. Until now, invoices got fixed in various ways. Now there’s one route:

The only way to correct an error in an issued structured invoice will be to issue a correcting invoice in KSeF. Polish Ministry of Finance, KSeF 2.0 manual (own translation)

Correction notes issued by the buyer were removed from the law on 1 February 20266,9. You issue the correcting invoice in KSeF even when the original invoice was issued outside it1.

A typo in the NIP is especially awkward. KSeF delivers the invoice to the business with the number given, so the NIP itself can’t be corrected. You issue a correction to zero on the wrong NIP, then a new invoice on the right one6. Think about how many of these cases your customer service will handle if the NIP field at checkout doesn’t even check the number’s length.

When KSeF doesn’t respond

A store sells at night and on bank holidays, so it needs a plan for when KSeF or the connection to it is down. The law provides several modes2,9:

  • Offline24. You can use it at any time and for any reason. You send the invoice to KSeF no later than the next business day after issuing it.
  • KSeF unavailability announced by the ministry. You send the invoice no later than the next business day after it ends.
  • Failure announced by the ministry. You have 7 business days from its end.
  • Total failure announced in the media. You issue paper or electronic invoices and don’t send them to KSeF afterwards.

An invoice issued offline and given to the customer before it’s sent to KSeF carries two QR codes. The second, signed with a type 2 KSeF certificate, is labelled “CERTYFIKAT”8. Without that certificate your software can’t prepare an offline invoice correctly.

So how did it go in reality? According to the ministry, by mid-September KSeF hadn’t had a failure that would trigger these modes4. The trouble happened around it. On 2 February thousands of people couldn’t log in because Profil Zaufany, the government login service, was down11. On the night of 16 to 17 October, downloading invoices through the API, the connection that invoicing software and ERPs use, failed for a few hours, though sending kept working15.

What has gone wrong since February

A month after launch, Grant Thornton asked businesses about their first experiences. 74% had run into errors, and roughly one in five said the errors disrupted their work14. What did they complain about most?

Most common KSeF problems in the first month (Grant Thornton, March 2026)

No notifications about new invoices24%
No preview before issuing20%
Stability and overloads18%
Support14%
No pro forma invoice9%
Logging in5%
Share of businesses naming each problem14.

Traffic grew fast. In February about 39.9 million invoices went through KSeF, and in April, the first month of stage two, about 106.1 million13. By September the tax administration’s helpline had queued 318,997 calls about KSeF4. Most were about permissions, logging in and problems on the businesses’ own side, such as their internet connection4.

See the common thread? Most of the trouble sits where a business meets KSeF: who has permissions, how the software logs in and who checks that the invoice arrived.

KSeF penalties: when they really start

This is where most of the confusion lies, so let’s separate what applies now from what’s planned.

The act provides for a penalty of up to 100% of the VAT on an invoice issued outside KSeF, and, where the invoice shows no VAT, up to 18.7% of its gross amount9. Sending offline invoices late can be penalised too9. Under the current rules these penalties apply from 1 January 20272. For 2026 the ministry has said there will be no sanctions12.

On 16 September the ministry announced that penalties would be pushed back10, and on 20 October the government adopted a bill postponing them to the end of 2027. The new rules are meant to take effect on 31 December 2026, but parliament still has to pass them3. The ministry also stresses that postponing penalties doesn’t lift the obligation to use KSeF3.

What isn’t moving? The smallest businesses, the KSeF number in bank transfers, the end of cash-register invoices and of receipts with a VAT ID as invoices: all of that still lands on 1 January 202717. The penalty-free time is best spent on getting the integration right.

Store, invoicing software, ERP and KSeF: who talks to whom

An online store rarely sends invoices to KSeF itself. Usually it works like this: the order from the store goes to the ERP or invoicing software, which issues the invoice and sends it to KSeF. Each of those connections has to carry the full set of data: NIP, address, line items, VAT rates, payment method.

The ministry gives developers three environments: production, test and pre-production16. On the last two you can send invoices with no legal effect, so the integration can be checked before the first real invoice reaches the system. If your software sends invoices in a batch, one faulty file gets the whole batch rejected16.

The other issue is how the software logs in to KSeF. Tokens were due to work only until the end of 2026. The ministry has proposed keeping them for longer, but in September the timing was still being agreed4. So ask your invoicing software provider what you log in with today and what you’ll use after 31 December.

That gives you a list of things to check before the end of the year:

  1. Check the NIP field at checkout. It should validate the number's format and save it with the order that feeds the invoice.
  2. Trace the invoice's route. Work out which system issues the invoice, which one sends it to KSeF and where the KSeF number is stored.
  3. Decide who sees rejected invoices. A rejected invoice doesn't exist, so someone has to hear about it the same day.
  4. Add the QR code to the emailed PDF. Every KSeF invoice shown to a customer has to carry it.
  5. Prepare corrections for returns. A return in the store should end with a correcting invoice in KSeF, including a correction to zero for a wrong NIP.
  6. Plan for offline mode. Check that you have a type 2 KSeF certificate and who will send pending invoices on the next business day.

How we help

We connect stores to the systems the rest of the business runs on. For a fashion brand we built a returns panel that links several Magento 2 stores with Comarch XL and couriers. Handling one return now takes 2 to 3 hours instead of 3 to 4 days (see the case study).

With KSeF we start the same way: we check how an order travels from the store to the ERP and invoicing software and where data gets lost. Then we help connect it so that invoices for businesses are created without retyping anything. You settle the tax requirements with your accountant, and we make sure the systems meet them. You can read more about how we work with ERPs on the ERP and CRM page.

If you remember one thing from this post, make it this: from 1 January 2027 every invoice to a business is created in KSeF, so the route from the basket to KSeF has to work without manual fixes.