Capital gains tax for forex trader (Poland) — what and when

Risk warning · YMYL This article is for educational purposes only and is not investment advice. Trading on the Forex market involves a high risk of capital loss — ESMA reports 74–89% of retail accounts lose money.

March, trader sits in front of PIT-38, 1500 forex transactions from IC Markets, NBP rate calendar. "This takes whole weekend". Plus 2-3 hours of stress. Here\'s how to file forex on PIT-38 efficiently (Polish system, similar logic in other EU countries).

PIT-38 basics (Poland)

PIT-38 · 2024
Rate19% flat
Filing deadlineApril 30 next year
Capital typesForex, stocks, crypto, ETF, options
Mixed with PIT-37/36No — separate form
Loss carryforwardUp to 5 years back/forward
NFZ health contribution+9% (limits) — see also whether forex gains affect unemployed status and health insurance

Polish broker (XTB) — easy

XTB and other Polish brokers automatically generate PIT-8C by end of February. Form contains:

  • Sum of realized P&L in PLN for previous year
  • Loss eligible for deduction
  • Costs (commissions, spread — yes, deductible!)

Enter data in PIT-38, file online via podatki.gov.pl. Takes 30 minutes.

Foreign broker — harder

Step by step:

  1. Download CSV transactions from broker for full year
  2. Each trade: open date, close date, P&L in USD/EUR
  3. Convert P&L to PLN at NBP rate (average A) of close day
  4. Sum net P&L in PLN
  5. Subtract costs (broker commissions in PLN)
  6. Enter on PIT-38 as "income from sale of securities"

Practice: for 100+ trades yearly use Excel + VLOOKUP for NBP rates. For 500+ — accounting office or dedicated tool.

Loss deduction

2023 loss = 10,000 PLN. 2024 profit = 30,000 PLN. Without deduction: tax 30k × 19% = 5,700 PLN. With deduction: (30k − 10k) × 19% = 3,800 PLN. Saving 1,900 PLN.

Requirement: loss must be declared in PIT-38 for 2023. If not declared, can\'t deduct. Hence: always declare losses, even if "don\'t want to file form" — that\'s future 19% savings.

ORD-U — for foreign accounts > 10k EUR

Polish resident with account > 10,000 EUR abroad must file ORD-U:

  • Deadline: April 30 (same as PIT-38)
  • What you list: bank/broker name, account number, address, country, balance
  • Independent from PIT-38
  • No ORD-U = penalty up to 1,000 PLN

Practical tools

  • podatki.gov.pl — official MF site, online PIT filing
  • e-Deklaracje — MF system for filings
  • nbp.pl/kursy — historical rates
  • Tradeskill, MyTaxAdvisor — dedicated trader tools
  • Accounting office — 200-500 PLN/year for outsource

Practical tax planning

  1. Always declare losses — 5 years to deduct
  2. Keep statements — 5-year retention
  3. Polish broker for ease — XTB or TMS for 95% of needs
  4. Foreign only for advanced — when spread savings > accounting office
  5. Accountant consultation for > 50k profit yearly
  6. Also check whether forex is subject to transaction tax and other levies beyond PIT-38 — a complete picture of a trader's tax obligations in Poland
Jarosław Wasiński
About the author

Jarosław Wasiński

Editor-in-chief at MyBank.pl · Financial and market analyst

Independent analyst and practitioner with 20+ years in finance. Founder and editor-in-chief of MyBank.pl, running since 2004. Fundamental analysis of FX and macro markets since 2007.

Sources & bibliography

  1. Ministerstwo Finansów PL PIT — formularze do druku · oficjalne formularze PIT (w tym PIT-38) www.podatki.gov.pl ↗
  2. Sejm RP — ISAP Ustawa o PIT (Dz.U. 1991 Nr 80 poz. 350) — art. 30b capital gains · Internetowy System Aktów Prawnych — tekst ujednolicony isap.sejm.gov.pl ↗
  3. NBP Kursy walut historyczne · kursy NBP do konwersji www.nbp.pl ↗

Frequently asked

What is forex tax rate?

19% flat on capital gains (PIT-38). Fixed rate, regardless of your other income. Doesn't mix with PIT-37 (employment) or PIT-36 (business). Forex is "capital", so separate form. Plus: health contribution NFZ since 2022 = +9% (or limit). Effective rate: 19-28% depending on health-related income.

Can I deduct losses?

Yes. Forex losses can be carried forward up to 5 years. Example: 2024 loss 10k PLN, 2025 profit 30k PLN. PIT-38 for 2025: 30k profit − 10k loss from 2024 = 20k tax base. Saved 19% × 10k = 1,900 PLN. Losses can offset other "capital" gains (stocks, crypto) — one bucket. Plus: carryforward only if loss was declared in PIT-38 for loss year.

How to file foreign broker?

Yourself. Download transaction statements from IC Markets/Pepperstone (usually CSV). Each trade: date + pair + entry + exit + USD profit/loss. Convert to PLN at NBP rate of trade day (average rate A). Sum net P&L in PLN. Enter on PIT-38. May be 100-1000 trades yearly — lots of work. Alternative: accounting office (200-500 PLN/year) or dedicated tool (Tradeskill, MyTaxAdvisor).

What is ORD-U?

Additional form for foreign accounts over 10,000 EUR. File yearly, by April 30, describe foreign accounts (IC Markets broker, Swiss bank). Independent from PIT-38. No ORD-U = penalty up to 1,000 PLN. Plus: some countries (USA — FATCA) require additional forms. Polish resident with $50k at IC Markets must: PIT-38 + ORD-U.

Go deeper · the complete guide