Export Invoices and B2B Sales Abroad in KSeF
YES — exports go to KSeF when the issuer is a Polish VAT payer established in Poland; the issuer determines the obligation, not the buyer. Exports of goods, intra-Community supplies (WDT) and B2B exports of services (art. 28b) are covered, even at the 0% rate. Exempt: B2C sales abroad, the OSS/IOSS schemes, and entities with no establishment in Poland.
Does export go to KSeF?
Yes — the obligation is set by the issuer (a Polish VAT payer established in Poland), not the buyer. Covered are:
- Exports of services to businesses (e.g. SaaS, digital services for a foreign B2B buyer) — yes.
- Intra-Community supplies of goods (WDT) within the EU — yes.
- Exports of goods outside the EU — yes, even at the 0% VAT rate.
What is exempt from KSeF
- B2C sales (invoices to consumers) — voluntary, not mandatory.
- The OSS and IOSS schemes — outside KSeF.
- Foreign entities with no establishment or fixed place of business in Poland — they are not required to use KSeF.
- Self-billing by a foreign customer that doesn't use a Polish NIP (the default in Stripe Managed Payments) — outside KSeF. Such an invoice may be filed voluntarily only for an intra-Community supply of goods (WDT) where the customer uses its EU VAT number (§ 2 pt 5 and § 3 of the regulation, Dz.U. 2025 item 1740).
Tax number for an EU customer
For a buyer in another EU country, you enter their VAT number with the country prefix (e.g. DE, FR), never a Polish NIP. This is a frequent slip on intra-Community invoices, and it leads to rejection or incorrect accounting.
Foreign currency and złoty
You can issue the invoice in EUR or USD, for example — the net and gross amounts can stay in the foreign currency. But you always show the VAT amount in złoty, at the average NBP rate from the last business day before the tax obligation arises. Details: NBP exchange rates on an invoice.
How the foreign customer sees the invoice
A company outside Poland usually doesn't use KSeF. So:
- You send the invoice to KSeF (KSeF number + UPO).
- You hand the buyer a visualisation of the invoice with a QR code (KOD I), with the KSeF number underneath; the code lets them verify the document. See the QR code in KSeF.
Common pitfalls
- Assuming exports are "outside KSeF" — the costliest mistake; an invoice that is mandatory but issued outside the system does not legally exist.
- Entering the EU buyer's Polish NIP — instead of their VAT number with the country prefix.
- Failing to convert VAT to PLN — net and gross can stay in EUR, but the VAT amount must be in złoty.
- No visualisation with a QR code — a foreign customer needs a readable document outside the system.
Selling globally through Stripe?
If you serve foreign customers through Stripe, KSeF Kit recognises the transaction type and sends the correct structured invoice, with VAT converted to złoty. It also computes the KOD I verification link for you to place on the buyer's visualisation; we do not generate the visualisation itself. See the Stripe + KSeF integration.