← Blog

How to connect WooCommerce to KSeF, step by step (2026)

Since April 1, 2026 every active Polish VAT payer — online shops included — must issue B2B invoices as structured invoices in KSeF (Krajowy System e-Faktur, Poland's national e-invoicing system). Until the end of 2026 there is a transition period without penalties; from January 1, 2027 the tax authority enforces them. This guide shows how to connect a WooCommerce store to KSeF in about 30 minutes — no intermediary, no per-invoice fees and no external accounting system.

What you need

Step 1. Generate a KSeF token

The integration authenticates to KSeF with a token that has the InvoiceWrite and InvoiceRead permissions. You generate it in the Ministry of Finance KSeF app — first in the test environment, so you can rehearse the whole flow safely, and only then in production. Detailed walkthrough (in Polish): how to generate a KSeF token.

Step 2. Install the free FakturFlow plugin

In the WordPress admin go to Plugins → Add New and search for FakturFlow – E-Invoicing for KSeF. The plugin is free, with no invoice limits and no commission: it generates FA(3) files, validates them locally against the official XSD schema and sends them straight to the Ministry of Finance KSeF API 2.0. Invoice data never passes through any intermediate server.

Step 3. Configure the connection

Open WooCommerce → KSeF Invoices and fill in:

Click Test connection. The Status panel next to the form shows whether the token is saved, the NIP is valid, which environment is active and whether your hosting can actually reach the KSeF API (some shared hosts block outgoing traffic).

Step 4. The NIP field at checkout does the routing

FakturFlow adds a checksum-validated NIP field to both the classic and the block checkout. An order with a NIP is flagged as B2B automatically — and only those orders go to KSeF. Consumers check out exactly as before.

Step 5. Issue your first test invoice

Place a test order with a NIP, then use Generate → Validate → Send on the order screen. A few seconds later you'll see the assigned KSeF number, can download the UPO (official proof of receipt), and the invoice visualization gets the KOD I QR code your customer can use to verify the document with the Ministry. Once everything works, switch the environment to production and replace the token with a production one.

Step 6 (optional). Turn on full automation

The free version covers the complete manual flow. If you want invoices to flow on their own, the FakturFlow Pro add-on adds:

Pro is 249 zł / €59 / $69 per year for one site, with a 14-day money-back guarantee — buy a license here.

Frequently asked questions

Do consumer (B2C) invoices have to go to KSeF? No — the mandate covers invoices between businesses. FakturFlow routes only orders with a buyer NIP to KSeF.

What happens to an invoice when KSeF is down? The law provides offline modes: you issue the invoice locally and deliver it to KSeF within the statutory deadline. In Pro this happens automatically.

Do I need a separate invoicing program? No. The invoice is created directly from the WooCommerce order, and the legally original document is the one in KSeF.

Get FakturFlow — Free See FakturFlow Pro