KSeF and your online store: if you sell from Poland, or run a Polish company with an e-commerce shop, this is a deadline you cannot ignore. KSeF (Krajowy System e-Faktur, the Polish National e-Invoicing System) is a central government platform through which VAT invoices are issued and received. It became mandatory on 1 February 2026 for the largest taxpayers and on 1 April 2026 for other businesses covered by the law. A transition period for small businesses runs until 31 December 2026, and from 1 January 2027 the obligation applies to everyone. If your store relies on that transition period, you have only a few weeks left.
In our work on online stores and integrations, we see that the real challenge is not KSeF itself but the way invoices are produced in the store. An invoice generated as a PDF by a plugin, manually fixed in accounting software, corrections sent by email: all of this now has to be put in order, because KSeF requires a structured XML file and communication with the Ministry of Finance system.
This guide explains what KSeF means for an online store, how B2B and B2C sales differ, how store integration works, how to handle corrections and returns, and how to plan the work from November to January. One important note up front: this is general information, as of November 2026. Always check the current rules on the official site ksef.podatki.gov.pl and discuss your specific situation with your accountant or tax adviser.
What KSeF is and which deadlines apply to online stores
For readers outside Poland: KSeF is the Polish equivalent of the national e-invoicing platforms appearing across Europe. Instead of an invoice being a document you email to a customer, it is an XML file submitted to KSeF, which assigns it a unique number and makes it available to the buyer. Only an invoice with a KSeF number counts as issued.
The KSeF rollout timeline
- From 1 February 2026: mandatory for the largest taxpayers.
- From 1 April 2026: mandatory for other businesses covered by the law.
- Until 31 December 2026: a transition period for small businesses. According to available information, they may issue invoices outside KSeF as long as the total of VAT invoices does not exceed PLN 10,000 per month. Once that limit is exceeded, invoices in that month must go through KSeF.
- From 1 January 2027: the full obligation for all businesses covered by the rules.
The law provides for financial penalties. According to published sources, they may reach up to 100% of the VAT amount or 18.7% of the invoice value, but the details and the dates from which penalties apply should be verified in the current legislation or with your accountant, as this is an area that has seen amendments.
For an online store the key point is this: if you currently use the transition period, from January 2027 every VAT invoice issued to a business must go through KSeF. There is no longer room for issuing invoices the old way, even occasionally.
KSeF for an online store: B2B versus B2C sales
Most stores sell both to consumers and to businesses, and that distinction matters a lot. Invoices for businesses (B2B) must be issued in KSeF. Invoices for consumers (B2C), according to current information, may be issued in KSeF voluntarily, and a consumer can receive the invoice in another form, for example a PDF visualisation.
In practice your store needs to recognise when a company is placing the order. Usually this is done with a „I need a company invoice” option and a NIP field (NIP is the Polish tax identification number) in the checkout. If the customer enters a NIP, the invoice should go to KSeF. That turns NIP validation at checkout from a nice extra into something that protects you from errors.
- Check that the checkout clearly separates private and business purchases.
- Add NIP format validation and consider fetching company details automatically.
- Decide whether you also want to send B2C invoices through KSeF to keep a single process.
- Define what happens when a customer asks for a company invoice after the order was placed.
Some stores choose to send all invoices to KSeF, including consumer ones, because it simplifies the process and archiving. Others limit KSeF to B2B. Both approaches are possible, and the choice is best made together with your accountant.
How a KSeF invoice works: FA(3) XML, the API, the KSeF number and QR codes
A KSeF invoice is an XML file that follows the FA(3) schema, a logical template that defines which fields an invoice must contain and in what format. It is not a PDF or an image. Whatever system issues the invoice has to generate a valid XML file and send it to KSeF through the Ministry of Finance API, or through an application provided by the Ministry or your accounting software.
Once accepted, KSeF assigns the invoice an identification number. That number is proof the invoice was issued. If the file contains errors, such as an invalid NIP or a missing required field, the invoice is rejected and has to be corrected and resent. This means the system on the store side must be able to receive the KSeF response and record the result.
Invoice visualisation and QR codes
Customers can still receive a readable invoice, for example a PDF attached to an email or available in their account. A visualisation of a KSeF invoice should include a QR code that allows the invoice to be verified in the system. Check that your plugin or software generates this code and that the customer PDF matches the version stored in KSeF.
Integrating an online store with KSeF: three possible routes
There is no single way to connect a store to KSeF. The right choice depends on your platform, your sales volume and where your invoices are created today. In practice we see three main approaches.
1. A platform plugin or app
For WooCommerce, PrestaShop and Shopify there are invoicing plugins, modules and apps, some of which support sending to KSeF directly or through an external invoicing service. This is the quickest route for smaller stores. Before choosing, check whether the provider supports the FA(3) schema, corrections and offline modes, and whether it keeps the solution updated when the rules change. If you are wondering which platform suits your scale, see our comparison of WooCommerce, PrestaShop or Shopify.
2. Integration with accounting software or an ERP
If invoices are issued by your accounting software or ERP and the store only passes orders to it, KSeF is usually handled by that system. The key is then to make sure order data reaches it complete and correct: NIP, address, VAT rates, discounts and shipping costs. Many stores already have such an integration for inventory, which we describe in our article on integrating an online store with inventory and accounting systems.
3. A custom API integration
For unusual processes, high invoice volumes or stores built on custom software, a dedicated integration with the KSeF API often makes sense. It gives you full control over the process, but requires handling authentication, XML generation, a sending queue, responses and errors, and maintenance whenever the schema changes. We build such projects as part of our applications and integrations service.
Corrective invoices, returns and invoices for receipts
An online store is not just sales. It is also returns, complaints and order changes. In KSeF a corrective invoice is also a structured document that refers to the KSeF number of the original invoice. You can no longer „fix the PDF” and send it again. Every change requires a correction in the system.
For returns, check whether your store’s return process automatically creates a correction in KSeF or whether it needs manual work from accounting. With a few returns a month this is minor. With dozens after a big sale it becomes a real workload. A well designed process links the return in the store admin, the refund and the invoice correction.
Invoices issued for receipts
A common case in Polish e-commerce: a customer buys as a private person, receives a fiscal receipt, and then asks for a company invoice. Such an invoice for a business should also go through KSeF. The rules for issuing invoices to receipts with a NIP are detailed, so agree the procedure for your customer service team with your accountant and write it down as a short instruction.
- Map every situation in which an invoice is created or changed today.
- For each one, define who handles it and in which system.
- Check which of them now require a correction in KSeF.
Emergency modes, offline invoicing and KSeF downtime
The rules provide for situations where invoices can be issued without a live connection to KSeF, for example during a Ministry system outage or problems on the taxpayer side, with an obligation to submit them later. The exact rules, deadlines and markings for such invoices are set out in the legislation and Ministry materials, so we do not quote them here from memory. Check them directly on ksef.podatki.gov.pl or with your accountant.
From a technical point of view, your store solution must be able to cope with API downtime: store the invoice in a queue, retry sending and notify the team if something fails. An integration that simply „forgets” an invoice after an error is a risk that will only surface during a tax inspection. Ask your plugin or software provider exactly how this works.
Testing in the Ministry test environment, roles and permissions
The Ministry of Finance provides KSeF test environments where you can issue invoices with no legal effect. This is the best way to see how your store, plugin or integration behaves: whether the XML is valid, whether corrections are sent, and what the response looks like on error. Run tests on real cases from your store, including discounts, free shipping and orders with several VAT rates.
Permissions in KSeF
Access to KSeF is permission based. The business owner can grant permissions to employees, an accounting firm or external systems, for example as a token or certificate for an integration. Plan who can issue invoices, who can only view them and who manages permissions. Do not share a single login with everyone, and document where the integration credentials are stored, because this is part of your company’s security.
Preparation timeline: November to January
If you are using the transition period, the plan below will help you be ready by 1 January 2027. Remember that December is peak sales season, so the most important work is best finished in November.
- By mid November: talk to your accountant, decide where invoices will be issued (store, accounting software or ERP), and map all invoice and correction scenarios.
- Second half of November: choose or update the plugin or software, or commission an integration, set up permissions in KSeF, and update the checkout (NIP field and validation).
- Early December: tests in the Ministry test environment for typical and unusual orders, corrections and returns, plus instructions for the team.
- December: consider switching to KSeF in production early rather than on the last day, and watch for errors.
- January 2027: the full obligation applies, monitor rejected invoices and review with accounting after the first month.
If your store is in the middle of a platform change, include KSeF in the migration plan from the start. We cover this in our article on migrating an online store to a new platform.
Common mistakes when implementing KSeF in an online store
KSeF projects in online stores rarely fail because of the technology itself. They fail because of gaps in the process. These are the most common ones.
- Leaving it to the last minute. December is the holiday season, and January is the busiest month for accountants.
- No support for corrections. The plugin sends invoices, but corrections have to be done manually outside the system.
- Incomplete order data. No NIP validation, wrong VAT rates, discounts split differently from the accounting records.
- No monitoring of rejections. An invoice did not pass KSeF and nobody knows.
- One shared login. No proper permissions or separate access for integrations.
- No testing. The first KSeF invoice is issued straight in production.
How much does it cost to adapt a store to KSeF, and what about foreign sales?
We do not quote specific amounts, because the cost depends on where you start. The cheapest scenario is updating existing accounting software or a plugin that already supports KSeF, plus a few hours of configuration and testing. A more expensive one is when invoices are created in several places, the store has non-standard processes, or a dedicated API integration is needed. On top of that comes maintenance: schemas and rules change, so the integration needs updates. That is one reason to have a partner for ongoing maintenance and development of your store.
Selling abroad
If you sell internationally, KSeF concerns invoices issued by a Polish taxpayer, but transactions with foreign buyers, both in other EU countries and outside the EU, have their own specifics, for example regarding how the invoice is delivered to the buyer. Other countries are also introducing their own e-invoicing systems. If you sell cross-border, discuss the process with your accountant or tax adviser before configuring the store. And if you are a foreign company selling to Poland without a Polish VAT establishment, check with an adviser whether and how KSeF applies to you.
Summary: KSeF for your online store, what to do now
KSeF for an online store is no longer a future topic but a task for the coming weeks. From 1 January 2027 every VAT invoice issued to a business must go through KSeF, so now is the time to decide where invoices are created, how corrections and returns are handled, choose a solution and test it in the Ministry test environment. Remember that this is general information: check the current rules on the Ministry of Finance website and consult your accountant.
We help online store owners organise their invoicing process, choose the right plugin or build an integration with KSeF and accounting software. If you would like to know how much work your store needs, describe it in our free quote form and we will get back to you with a concrete proposal.



