KSeF Kit

Selling worldwide

You bill customers in Poland, the EU and beyond — some businesses, some consumers. KSeF doesn't apply to all of them.

This is a plain-language guide, not tax advice. The VAT treatment of cross-border sales depends on your situation — confirm the specifics with your accountant or a tax advisor.

The one rule that decides everything

KSeF is a B2B / B2G system: it's for invoices to businesses and public bodies. Consumer (B2C) sales never go to KSeF. So the first question for every sale is: is the buyer a business with a tax ID?

We read the answer from two fields Stripe puts on the invoice — the buyer's country and their tax ID (NIP, EU VAT number, or a foreign business ID). Get those right and we classify the rest.

Your sales, by buyer

Who you're billing What we file VAT treatment
Polish business (has a NIP) KSeF invoice Domestic B2B — standard PL VAT (23% / 8% / 5%)
EU business (has an EU VAT no.) KSeF invoice Cross-border B2B service — reverse charge (0% PL VAT, the buyer accounts for it)
Non-EU business (e.g. a US company) KSeF invoice Export of services — not subject to PL VAT
EU consumer (no business tax ID) Not KSeF EU B2C digital sale — settles through VAT-OSS, not KSeF
Polish or non-EU consumer (no tax ID) Not KSeF Out of KSeF scope — your usual receipt / VAT process

When a sale isn't a KSeF invoice, we don't file it and we don't raise an alarm — in the app the invoice is marked "Out of KSeF scope", with a note explaining what to do instead.

B2C sales and JPK_V7 (for your accountant)

From 1 February 2026, every sales line in JPK_V7 must carry either a KSeF number or a marker for a document outside KSeF — for a consumer invoice that marker is BFK (Brak Faktury w KSeF, "no invoice in KSeF"). We don't generate JPK and we don't file B2C invoices to KSeF; instead the CSV export (Audit log → Export CSV) lists all your sales: filed invoices with their KSeF number, and B2C invoices flagged BFK in the ksef_marker column. Your accountant imports that file and has everything JPK_V7 needs — without re-entering consumer sales by hand.

What you must set up in Stripe

So we can tell a business from a consumer (and which kind of business), make sure Stripe captures:

  1. A tax ID on every business customer. Enable tax-ID collection at checkout, or add the ID on the Customer. A Polish business → NIP; an EU business → its EU VAT number; a non-EU business → its local business ID. No tax ID means we treat the sale as a consumer sale — not a KSeF invoice.
  2. A billing country on every customer. It drives the whole classification; a missing country defaults to Poland and can misclassify the sale.
  3. Stripe Tax, if you want Stripe to compute the right VAT to charge. (See the next section — it's separate from KSeF.)

Stripe Tax vs KSeF — they do different jobs

  • Stripe Tax decides how much VAT to charge the customer (the rate, reverse-charge exemptions, destination VAT for EU consumers).
  • KSeF Kit produces and files the legal e-invoice document.

They're independent. Turning Stripe Tax on doesn't make a sale a KSeF document, and a sale still files correctly with Stripe Tax off — we read the amounts and the tax IDs either way.

Foreign-currency invoices

Selling in USD or EUR is fine. Where a KSeF invoice carries Polish VAT, we report that VAT in złoty at the NBP average rate (table A) — the rate the law requires, not Stripe's settlement rate. See Currency & NBP. Reverse-charge and export invoices carry no Polish VAT, so there's nothing to convert.

A note on EU consumers (VAT-OSS)

If you sell digital services to consumers in other EU countries, the VAT is usually due in the buyer's country and settled through VAT-OSS (the EU One Stop Shop) — not through KSeF. We recognise these sales and mark them "Out of KSeF scope", with a pointer to your OSS return, rather than filing them. We don't compute the OSS VAT or track the €10,000 threshold for you; that's a matter for your accountant or your OSS return.

How this affects your plan

Each finalized Stripe invoice to a business fires one KSeF filing. For a subscription business that's roughly one filing per business customer per billing cycle — so size your plan by your business invoice count, not your total customer count. Consumer sales never become KSeF filings, so they don't count toward your quota. See Plans & billing.