- Polish freelancers (JDG) with NIP must use KSeF from Feb 1, 2026 — including for foreign-client invoices.
- B2B invoices to EU clients: 0% VAT with reverse charge ("odwrotne obciążenie"). Buyer pays VAT in their country.
- B2B invoices to non-EU clients (US, UK): outside Polish VAT scope. Invoice with no VAT line.
- All foreign-currency amounts MUST be converted to PLN at NBP rate (day before tax obligation) for VAT bookkeeping.
- Upwork, Toptal, Fiverr — invoices to the platform, not the end client. Treat as service export to the platform's country.
If you're a Polish freelancer (JDG = jednoosobowa działalność gospodarcza) and you bill US, UK, German or French clients, KSeF compliance is more nuanced than for purely domestic work. This article walks through the three most common patterns and the tax rules behind each.
Pattern 1: Invoice to an EU business
You're a Warsaw-based developer billing a German GmbH for 5 000 EUR / month. The German client has a valid EU VAT number (UStID). Steps:
- Verify the German VAT number on VIES (Fakturium does this automatically when you type the buyer's tax ID).
- Issue the invoice in EUR with 0% VAT and the note "Reverse charge — VAT to be settled by the buyer (art. 28b Polish VAT Act)".
- Show the EUR amount AND the PLN equivalent (NBP rate from the day before invoice date).
- Send to KSeF — yes, even for a foreign buyer. The Polish Ministry still wants the data.
- Report in your monthly VAT return: line 11 (intra-EU services to taxable persons) + EC Sales List (VAT-UE).
If the buyer's VAT number doesn't validate on VIES, you must charge Polish VAT (23%) and treat them as a B2C customer. Always validate BEFORE issuing.
Pattern 2: Invoice to a non-EU business (US, UK, Canada)
Same Warsaw developer, but the client is a US Delaware LLC paying via Wise.
- No VAT to charge. The service is outside Polish VAT scope (B2B service rule).
- Invoice in USD with no VAT line, marked "Outside Polish VAT scope — art. 28b" or "Not subject to Polish VAT".
- Still show the PLN equivalent for your records (NBP USD/PLN rate, day before invoice).
- Send to KSeF — required for any invoice issued by a Polish taxpayer, regardless of buyer location.
- Report in VAT return: line 12 (services taxable outside Poland).
- No EC Sales List needed (only for EU clients).
Wise, Revolut, Payoneer and PayPal all let you receive USD/EUR/GBP directly. The PLN conversion happens in YOUR books based on NBP rates — not based on what your bank actually converted at. This is a common source of confusion.
Pattern 3: Invoicing platforms (Upwork, Toptal, Fiverr)
On Upwork, the contract is between you and the end client, but the PAYMENT and the platform fee flow through Upwork Global Inc. (US entity). Tax treatment:
- Your invoice goes TO UPWORK, not to the end client. Upwork is the legal counterparty for tax purposes.
- Upwork issues YOU a "self-billing" invoice from their side (they generate it on your behalf). You should still issue your own invoice for Polish records.
- Service location: US (Upwork's HQ). So outside Polish VAT scope, no VAT.
- Currency: USD typically. Convert to PLN at NBP rate.
- Toptal works the same way (legal entity in Delaware).
- Fiverr — depending on the seller's country, the legal entity may be Fiverr International (Israel) or Fiverr Inc. (US). Check your dashboard.
Don't issue invoices to your individual Upwork clients (e.g. "Acme Corp, San Francisco"). Your contract is with the platform. The end-client name is informational only.
Currency conversion — the exact rule
Article 31a of the Polish VAT Act says: convert foreign currency at the NBP average rate "from the LAST business day BEFORE the day the tax obligation arose". The tax obligation arises (usually):
- On the day the service was completed, OR
- On the day the invoice was issued — whichever is FIRST.
So if you complete work on Friday Nov 28 and invoice on Monday Dec 1: tax obligation = Nov 28, convert at NBP rate from Nov 27. Fakturium picks the right date automatically.
Common questions
Do I need to charge VAT to a foreign individual (B2C)?
For services to private individuals abroad, the rule depends on the service type. Digital services (software subscriptions, online courses) — use OSS to report VAT in the buyer's country. Professional services (consulting, design) — VAT goes by SELLER location, so Polish 23% applies. Talk to your accountant.
What if the foreign client refuses to give a VAT number?
Without a valid VAT number, you can't apply reverse charge. Treat them as B2C → charge Polish 23% VAT → they're free to deduct it as a business expense if their domestic rules allow.
Do I really need to send to KSeF for a US client?
Yes — if you have a Polish NIP. KSeF doesn't care who the buyer is; it cares that the SELLER is a Polish taxpayer. The XML will go through, the US client never sees it directly, but the data is recorded.
Bottom line
- EU B2B: 0% VAT, reverse charge, VIES validation, VAT-UE filing.
- Non-EU B2B: outside Polish VAT scope, no VAT line.
- Platforms: invoice the platform's legal entity, not the end client.
- Currency: always show PLN equivalent at NBP rate (day before tax obligation).
- KSeF: required for ALL invoices issued by Polish taxpayers, regardless of buyer.
We write about KSeF, Polish VAT and cross-border invoicing for foreign businesses dealing with Poland. Every article is grounded in the Polish VAT Act, KKS or Ministry of Finance interpretations. No invented citations.
Issue a KSeF invoice in one click
Fakturium handles the full flow — NIP auto-fill, KSeF submission, UPO receipt, PDF generation, email to buyer. Free plan covers 5 invoices per month, no credit card required.
Create a free account


