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:
- 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.
- A billing country on every customer. It drives the whole classification; a missing country defaults to Poland and can misclassify the sale.
- 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.