How should an online store prepare for KSeF integration?

Implementing KSeF in an e-commerce business requires separating B2B and B2C transactions directly in the shopping cart. While consumer invoices and VAT OSS sales remain optional, business invoices must be sent to the national system. Learn how to monitor the PLN 10,000 transitional limit and generate required QR codes.

8 min read 111 views
How should an online store prepare for KSeF integration?

For an online store, the tax decision happens at checkout, not in accounting. The customer either enters a NIP (Polish tax identification number) or does not. That single field now determines whether the document must be issued through KSeF (Krajowy System e-Faktur, Poland's national e-invoicing system) or can be emailed as a PDF the way it always was.

The timing matters. The obligation applies from 1 February 2026 to the largest taxpayers and from 1 April 2026 to everyone else, per the Ministry of Finance. The transitional rules that most smaller shops currently rely on expire on 31 December 2026.

What follows: which store documents go into KSeF, how the 10,000 PLN cap actually works in retail, what changes for NIP receipts, and what needs fixing in the shop itself.

The obligation is B2B. Consumer sales stay outside

The Ministry of Finance answers this plainly: issuing B2C invoices in KSeF is voluntary, both before and after 1 February 2026 (ksef.podatki.gov.pl).

The exclusion sits in Article 106ga(2) of the Polish VAT Act. The same provision removes transactions settled under special schemes, including VAT OSS and IOSS, from the KSeF obligation. That matters for every shop dispatching goods to consumers elsewhere in the EU.

The practical consequence: a store selling only to consumers issues no KSeF invoices at all. That is not the same as being unaffected. Supplier invoices, hosting, agency fees and logistics all arrive through KSeF, and receiving invoices in the system has been live since 1 February 2026 regardless of whether you issue there.

If a customer supplies a NIP, the transaction is B2B and the invoice must, as a rule, be created in KSeF. If not, the document follows the consumer path.

Three checkout changes follow from that:

  1. Validate the NIP at entry. A typo means KSeF rejects the invoice, not a friendly conversation a week later. Verify the checksum and pull registry data from GUS (Poland's statistical office register) instead of trusting a form field.

  2. Make the customer choose explicitly. The interface should separate "buying as a business" from "buying privately". A sole trader buying for private use is a consumer in that transaction.

  3. Lock the data after issuance. Once a B2B invoice is in KSeF, fixing the buyer's details means a correction invoice in KSeF, not an edited PDF.

Marketplace and dropshipping models do not change the logic. Selling to a business through Allegro or Amazon is still B2B and still requires a KSeF invoice unless an exclusion or transitional rule applies.

The 10,000 PLN cap does not count what most people assume

This is the most misread rule in e-commerce. Until 31 December 2026 you may issue invoices outside KSeF if their combined gross value in a given month stays under 10,000 PLN. What counts toward that sum is the important part.

In its official FAQ on the threshold, the Ministry of Finance confirms that only invoices carrying a mandatory KSeF obligation are counted. Excluded from the sum are:

  • consumer (B2C) invoices,

  • sales documented solely by a till receipt,

  • invoices issued from a cash register,

  • NIP receipts up to 450 PLN treated as simplified invoices.

An example. A hobby-goods shop turns over 180,000 PLN a month. Of that, 172,000 PLN is till receipts and consumer invoices, and 8,000 PLN is business invoices. Only the 8,000 PLN counts. The shop can keep issuing those outside KSeF through the end of 2026.

Two caveats worth internalising:

  • Crossing the cap is permanent. Once a month's total exceeds it, the obligation starts with the invoice that broke the limit and applies to every invoice after it. Falling back under the cap next month changes nothing.

  • Issue date governs, not sale date. An invoice for an April sale, issued on 7 May, lands in the May calculation.

In seasonal e-commerce this is a live risk. One 12,000 PLN B2B order in November ends the transitional period for good.

NIP receipts up to 450 PLN: convenient, with an expiry date

A till receipt carrying the buyer's NIP, up to 450 PLN gross, functions as a simplified invoice under Article 106e(5)(3) of the VAT Act. Under a transitional provision, such documents, along with invoices issued from cash registers, stay outside the KSeF obligation until 31 December 2026, as confirmed in the Ministry's KSeF 2.0 FAQ.

From 1 January 2027 that exclusion disappears. For a shop with a pickup point or showroom, this is a concrete process change: small business sales stop ending with a receipt and start requiring a KSeF invoice, even at 60 PLN.

Delivering an invoice to a buyer with no KSeF access

Consumers have no KSeF account and cannot retrieve anything from it. Neither can a foreign buyer with no establishment in Poland.

Article 106gb(4) of the VAT Act handles this: in the listed cases, the invoice must be made available to the buyer outside KSeF, in a manner agreed with them. In practice that is a PDF in the order confirmation email or a printout in the parcel.

There is one technical condition. An invoice used or shared outside KSeF must carry a verification QR code. For an online-mode invoice that already has a KSeF number, there is one QR code with the KSeF number printed beneath it. For an invoice issued in offline24 or emergency mode and handed to the buyer before it reaches the system, there are two codes. The Ministry sets this out on its page about verification codes.

So if your shop emails a B2B invoice after issuing it in KSeF, the plain PDF is no longer enough. It has to carry the QR code.

Four things to fix on the store side

  1. Checkout. Split the business and consumer paths, validate the NIP, pull data from GUS.

  2. Invoice timing. Many shops generate an invoice automatically on order confirmation. Under KSeF the issue date is the date of submission to the system, so the automation needs a defined path for rejections and retries.

  3. JPK_V7 markers. The new JPK_V7M(3) structure distinguishes documents with a KSeF number, documents issued offline, documents outside KSeF, and NIP receipts. A retail shop will use all four.

  4. Store legal documents. The terms of service should describe how invoices are now delivered, and the privacy policy should account for data flowing to KSeF, controlled by the Head of the National Revenue Administration.

Implementation checklist

  • Work out your real monthly total of invoices subject to mandatory KSeF, excluding B2C and receipts.

  • Set an alert at 8,000 PLN per month so crossing the cap is never a surprise.

  • Add NIP validation and GUS lookup at checkout.

  • Plan the retirement of cash-register invoicing before 1 January 2027.

  • Confirm that the PDF sent to the customer carries the QR code and the KSeF number.

  • Check that OSS sales are flagged separately from domestic sales in your system.

  • Update the store's terms of service and privacy policy.

Conclusion

For an online store, KSeF is not one switch but a branch: B2B into the system, B2C outside it, NIP receipts separate for a little longer, OSS separate entirely. The real risk is not the XML transmission. It is misclassifying the document before it ever gets that far.

Biurko is built around KSeF rather than bolted onto an accounting suite. It handles buyers identified by NIP, by EU VAT number, by foreign identifier and with no identifier at all, enforces the 450 PLN ceiling on simplified invoices, and translates KSeF error codes into readable language. Create a free account at biurko.io and test it against your own invoices. The free tier is permanent, not a trial.

FAQ

Does an online store have to issue B2C invoices in KSeF? No. The Ministry of Finance confirms that issuing consumer invoices in KSeF is voluntary, both before and after 1 February 2026. You may put them in the system if you want everything in one place, but there is no obligation.

Do B2C sales count toward the 10,000 PLN cap? No. Only invoices that must legally go through KSeF are counted. Consumer invoices, till-receipt sales and NIP receipts up to 450 PLN treated as simplified invoices are all excluded from the total.

How long can I issue invoices from a cash register? Until 31 December 2026. From 1 January 2027 the exclusion ends and a NIP receipt up to 450 PLN stops functioning as a simplified invoice. Business sales will then require a KSeF invoice regardless of amount.

Do OSS invoices go into KSeF? No. Transactions settled under special schemes, including VAT OSS and IOSS, are excluded from the KSeF obligation under Article 106ga(2) of the VAT Act. They are reported through the OSS return and documented under the previous rules.

How do I deliver a KSeF invoice to a customer? In whatever way you have agreed with them, usually a PDF by email or a printout. The document must carry a QR code allowing access to the invoice in KSeF and verification of its data. For an online-mode invoice, that is one code with the KSeF number.


Internal links (replace before publishing):

  • "10,000 PLN cap" → /en/blog/ksef-10000-pln-threshold

  • "offline24 mode" → /en/blog/ksef-offline24-mode

  • "QR code" → /en/blog/ksef-qr-codes

  • "KSeF certificate" → /en/blog/ksef-certificate-vs-token

Tags

#KSeF
Share

Previous article

Does KSeF apply to small service businesses and beauty salons?

Next article

How can an accounting office manage multiple clients in KSeF?

Stay in the Loop

Get notified when we publish new articles — no newsletter, unsubscribe anytime.

We respect your privacy. Unsubscribe at any time.

Cookies

Essential ones keep the service running. The rest only with your consent. Cookie Policy