This post looks closely at one of the tax and compliance processes we coordinate at the Start a company stop: KSeF.
If you have a Polish company that issues VAT invoices to other businesses — wholesale, B2B services or marketplace sales, which means almost every Sp. z o.o. — you are within KSeF's scope. This primer is written for people who run the business, not for lawyers: what KSeF is, what it asks of your e-commerce setup, and the three integration mistakes we see most often.
Short answer: KSeF is the mandatory e-invoicing system in which every B2B invoice is issued as structured XML in the Ministry of Finance's central system and receives a reference number. It has been mandatory for large companies since 1 February 2026 and for all other VAT payers since 1 April 2026; the smallest businesses start on 1 January 2027. For sales to consumers (B2C) it is optional. For e-commerce, the real job is that your order system sends the invoice to KSeF automatically and issues a correcting invoice on returns.
What KSeF actually is
KSeF (Krajowy System e-Faktur, the National e-Invoice System) is the central e-invoicing platform run by Poland's Ministry of Finance. Every B2B sales invoice is issued there as structured XML (the FA(3) schema), receives a KSeF reference number and counts as delivered at that moment, even if the buyer has not downloaded it yet.
Three properties matter for commerce:
- It changes invoice delivery. The invoice is the KSeF reference number; a PDF or paper copy is no longer the original document.
- Structured data, not a document. The buyer's accounting system reads the XML directly.
- The timeline is fixed. Since 1 February 2026 for companies whose gross sales in 2024 exceeded PLN 200 million; since 1 April 2026 for all other VAT payers (active or exempt); from 1 January 2027 for the smallest businesses whose invoices total no more than PLN 10,000 a month and PLN 450 per invoice. Receiving invoices through the system has applied to everyone since 1 February 2026. Administrative fines start in 2027, but fiscal penal law already applies in 2026.
Where it connects to your e-commerce setup
In an e-commerce business, KSeF integration touches four points.
1. Order → invoice generation
When a Polish customer's order is paid, your system has to:
- Tell whether the buyer is a business (NIP verified) or a consumer.
- For business orders: generate the FA(3) XML, sign it, send it to the KSeF API and receive the reference number.
- For consumer orders KSeF is optional; if you have a physical point of sale, fiscal cash-register (kasa fiskalna) rules apply separately.
2. Authentication
The KSeF API accepts one of:
- A qualified electronic signature (kwalifikowany podpis elektroniczny), from accredited providers.
- The trusted profile (profil zaufany), for one-off use.
- An API token generated for the company, the most practical route for automated invoicing.
For e-commerce the right route is the API token: tied to the company's KSeF account, limited to invoice issuance.
3. Keeping the reference number
Every invoice receives a unique KSeF number that must be stored. It:
- Is kept in the order and invoice records.
- Is shown to the buyer (confirmation e-mail, customer panel).
- Is referenced by later correcting invoices. From 2027 it will also have to appear in the payment reference of business-to-business transfers.
4. Corrections and returns
A KSeF invoice cannot be edited afterwards. A correction requires a faktura korygująca: a separate XML referencing the original KSeF number. Your return flow must issue that correcting invoice instead of changing the original.
Three integration mistakes
We see these three often enough to give each its own heading.
Mistake 1: treating KSeF as the accountant's job
If invoices are issued by the accountant after the fact, the job is lost from the start. The buyer expects the invoice at the moment of payment, not seven days later. Connect the KSeF flow to the order system from day one.
Mistake 2: generating invoices with a store app
Shopify and similar platforms have "invoice-generating" apps. Most only produce a document: not KSeF-compliant XML, not signed, not sent. Verify that your invoicing flow actually calls the KSeF API and stores the reference number. The PDF in the buyer's inbox is not proof of compliance.
Mistake 3: forgetting the correction flow
The return flow is where teams get caught. A customer returns a product, the system creates a refund record; does it issue the correcting invoice that references the original KSeF number? If not, your VAT records no longer match the central system. That is the most frequent audit finding.
What we set up for clients
In a setup coordinated by Senavia, the KSeF package includes:
- An API token defined together with the accountant partner, limited to invoice issuance.
- Order notification → FA(3) XML generation → KSeF submission → reference number stored.
- The KSeF reference shown on the customer-facing invoice view.
- Return notification → correcting invoice issued and stored automatically.
- A monthly reconciliation between store order count, KSeF invoice count and the accounting export.
The technical implementation is ours; the tax side and the returns sit with the certified accountant partner. Not glamorous work, but exactly the difference between "we're compliant" and "we have a clean audit".
Related reading: Accounting in Poland: company and JDG duties · Taxes in Poland 2026: company, VAT, income
Sources
- Krajowy System e-Faktur (KSeF) — Polish Ministry of Finance
- Krajowy System e-Faktur — Ministry of Finance / National Revenue Administration (KAS)
- VAT Act (ustawa o podatku od towarów i usług) — ISAP, Sejm
- Profil zaufany (trusted profile) — gov.pl
Last checked: 26 September 2026. This article is general information; your own case needs assessment by a licensed partner.
If you have or are forming a Polish company, let's plan KSeF access and the integration together: Tell us your situation or see the Technology page.
This article is for information only and is not legal or tax advice. The KSeF timeline and rules may change (as of September 2026). For your own case the last word rests with the certified accountant partner; we are happy to introduce you to ours.
Author
Savaş Dere · Founder, CEO
Close to twenty years in software and e-commerce: web and application development, automation, digital products. At Senavia he runs process design, the technology infrastructure and integrations; a founder who has been through company formation and settling in Poland himself.
Meet the team