Skip to content
codecollab.pl
§ Blog ksef integration

KSeF and your online store - what your WooCommerce has to handle

A business invoice only exists today once the state system accepts it - not when you email a PDF

Krystian Kacik 6 min read
Contents

A business invoice only exists today once the state system accepts it - not when you email a PDF. That is KSeF, Poland’s National e-Invoicing System, in one sentence. For an online store it means one concrete task: sales data has to flow automatically from the store into the system that issues invoices and talks to KSeF. If someone on your team is still retyping orders into an invoicing program by hand, this text is written for you.

I will lay it out in plain language: what changed, what applies to your store and what does not, and what a sensible integration looks like. One caveat up front - I handle the technical side, so always confirm the tax details with your accountant.

What KSeF is and since when it applies

KSeF is a central, state-run system that business-to-business invoices pass through. Instead of sending a PDF to your trade customer, you issue a structured invoice - it goes into KSeF and only formally exists once the system accepts it. The PDF can still travel by email, but it is a preview now, not an invoice.

This is not an announcement about the future. The obligation is already live: from 1 February 2026 it covered the largest taxpayers (over 200 million PLN in sales for 2024), and from 1 April 2026 the remaining VAT payers. So today KSeF applies broadly - if you issue invoices to companies, it applies to you too.

KSeF and an online store - B2B yes, B2C as before

Online stores live mostly on consumer sales, and there little changes: B2C runs on the existing rules. KSeF covers invoices between businesses.

Except that almost every store issues those. All it takes is a “VAT ID” or “I am buying as a company” field in checkout - and every such order ends in a B2B invoice that has to pass through KSeF. If selling to companies is a separate, growing channel for you, I covered it in more depth in the piece on WooCommerce B2B. Edge cases - invoices for private individuals, for example - confirm with your accountant, because that is her territory.

KSeF integration - the store does not have to talk to the system itself

The most important good news: WooCommerce does not need its own connection to KSeF. The system talks to your invoicing program, accounting software or ERP - and the store’s job is to hand over sales data automatically. In practice I see three typical chains:

  • WooCommerce → invoicing program → KSeF - iFirma, Fakturownia or wFirma handle KSeF on their side; once an order is paid the store sends the data, the program issues the invoice and passes it on. The simplest route for most stores.
  • WooCommerce → Baselinker → invoicing → KSeF - the natural choice when you also sell on marketplaces; Baselinker collects orders from every channel in one place and invoicing runs from there.
  • WooCommerce → ERP → KSeF - Subiekt, Optima and similar systems; the typical setup at larger scale, with your own warehouse and wholesale sales.

There is no single correct chain - the right one is the one that uses the tools you already have and does not add a new system purely for the sake of adding it.

KSeF and WooCommerce - what to get right in the store

Since the invoices are issued by the system next door, the store’s role comes down to one thing: hand over complete data with no human in the loop. In practice I check three things:

  1. A validated VAT ID field in checkout - a typo in the number means a corrective invoice; the store should verify it while the order is being placed
  2. A complete buyer record - company name, address, VAT ID; everything the invoicing program needs has to be collected in the order, not chased by email afterwards
  3. Automatic issuing once paid - the invoice is created by itself after the payment posts, rather than waiting for someone to sit down and retype it

What helps: once the chain is connected, place a test order “as a company” and walk the whole route: payment, invoice, submission to KSeF, visibility for your accountant. Only an end-to-end test like that tells you the integration really works.

The most common problem: everything works, nothing connects

The picture I see most often in stores: the store works, the accounting works, and between them sits a person with a keyboard. Orders retyped by hand into the invoicing program, invoices attached to orders after hours, and a scramble to catch up at the end of the month. Every manual retype means errors and delays - and KSeF raised the stakes, because a B2B invoice has to be correct and submitted to the system, not “we will get to it sometime”. This is exactly the integration you automate - how it looks technically from the inside I wrote up in the piece on integrating WooCommerce with an ERP and e-invoicing.

What closing the chain looks like

With me a rollout like this is a project within store optimization: a review of what you already have (store, invoicing program, accountant and her tools), a choice of the shortest chain and connecting the whole thing together with tests. Fixed-bid settlement, meaning one price for the lot - roughly 5,000-10,000 PLN net, with a specific quote in writing before we start. I begin with a free diagnosis: send me a link to the store and tell me who issues the invoices today, and I will tell you where that chain is broken.

Frequently asked questions

Since when is KSeF mandatory? From 1 February 2026 for the largest taxpayers (over 200 million PLN in sales for 2024), and from 1 April 2026 for the remaining VAT payers. It is already live - there is nothing left to wait for.

Does an online store have to issue invoices through KSeF? If it issues invoices to companies - yes, every B2B invoice passes through KSeF. Consumer sales run on the existing rules.

Does B2C sales go through KSeF too? No, selling to consumers works as before. KSeF carries invoices issued to companies; confirm edge cases with your accountant.

Does WooCommerce have a ready-made KSeF integration? WooCommerce itself does not talk to KSeF, and it does not need to. You connect it to an invoicing program, Baselinker or an ERP - and that system sends the invoices to KSeF.

Does Baselinker handle KSeF? Baselinker acts as an order hub: it gathers sales from the store and the marketplaces, and invoices reach KSeF through the invoicing tool connected to it. That is one typical chain, not the only one.


Sitting on this yourself and unsure where to start? I speed up and repair existing sites and stores - Core Web Vitals, outages, the features that are missing. Tell me what is happening and you will get a concrete quote with a date.

§ Quote in 24h

Your store is slowing down or looks dated, and you do not know where to start?

Describe the scope in two sentences or send a link to your store. I tell you what to fix first, and you get a fixed bid in writing within 24 hours - no "from X" pricing.

Send your scope - quote in 24h