How to file forex taxes in Poland — step by step

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, day before PIT-38 deadline. Trader: "must file". Opens 1500 trades in Excel. After 4 hours: panic, conversion errors, doesn\'t know if correct. Here are 7 steps to file Polish forex taxes — from data download to online submission.

Step 1: Get PIT-8C from Polish broker

Polish brokers (XTB, TMS) automatically generate PIT-8C by Feb 28. Download from platform or email. Contains:

  • Sum of realized P&L in PLN
  • Loss eligible for deduction
  • Costs (commissions, fees)

If your Polish broker hasn\'t sent PIT-8C by March 5 = report. Legal obligation.

Step 2: Download CSV from foreign brokers

IC Markets, Pepperstone, Saxo Bank — download Account Statement / Transaction History for full calendar year (Jan 1 - Dec 31). CSV format preferred. Contains:

  • Open date, close date
  • Symbol (EUR/USD, GBP/JPY)
  • Volume (position size in lots)
  • Open price, close price
  • P&L in account currency (USD/EUR)
  • Commissions, swap

Step 3: Convert to PLN

Each closed trade requires P&L conversion to PLN at NBP rate of close day:

  1. Download rate tables A from nbp.pl for full year (Excel/CSV)
  2. In Excel add column "Close Date PLN Rate" — VLOOKUP to NBP table
  3. Add column "P&L in PLN" = P&L_USD × rate
  4. Verify 5 random trades manually

Step 4: Sum net P&L

In Excel:

  • Sum P&L in PLN for whole year
  • Subtract costs (broker commissions in PLN)
  • Net realized P&L in PLN = PIT-38 basis

Step 5: Enter on PIT-38

Open PIT-38 (online via podatki.gov.pl):

  • Section D: Income from sale of securities
  • Enter sum of revenue (positive P&L)
  • Enter cost of revenue (negative P&L + commissions)
  • Net = tax base
  • Tax 19% × base = tax due

Note: PIT-38 covers income tax on capital gains. It is also worth checking whether forex is subject to transaction tax (PCC) and other levies beyond PIT-38 — most traders are exempt from PCC, but the rule has exceptions.

Step 6: Check ORD-U

If capital at foreign broker > 10,000 EUR (on Dec 31) = mandatory ORD-U:

  • Deadline: April 30 (same as PIT-38)
  • Fill online or paper
  • List: broker name, account number, address, country, balance

Step 7: File online

"Twój e-PIT" system automatically pre-fills PIT-38 (based on PIT-8C from XTB). Confirm or supplement with foreign broker data. Submit. Confirmation in 24h. Deadline April 30.

Practical time and costs

Filing time per profile
Only XTB/TMS (Polish broker)30 minutes
1 foreign broker, 100 trades2-4 hours
1 foreign broker, 500+ trades4-8 hours
Multiple brokers, scalper1-2 days
Accounting office200-500 PLN, but time savings
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 Formularze PIT do druku (PIT-38) · oficjalne formularze i instrukcje www.podatki.gov.pl ↗
  2. NBP Kursy walut — tabela A · średnie kursy NBP do konwersji walut www.nbp.pl ↗
  3. Ministerstwo Finansów PL Twój e-PIT · system online składania PIT www.podatki.gov.pl ↗

Frequently asked

What if broker doesn't give PIT-8C?

Most foreign brokers (IC Markets, Pepperstone) don't give PIT-8C — Polish-specific form. Calculate yourself: download transaction CSV, convert to PLN, sum. Polish brokers (XTB, TMS) provide PIT-8C automatically by Feb 28. Some foreign brokers (Saxo Bank Poland) may also generate, check your broker.

How to calculate conversion rate?

NBP average rate A from trade day. Polish PIT requires per-transaction conversion (not monthly average). Download rate tables from nbp.pl/kursy, use rate A (average), not B (buy/sell). Practice: in Excel use VLOOKUP for rate map. For forex P&L take rate from close day (realized P&L).

Can I file PIT-38 on paper?

Yes, but since 2023 online preferred. Paper PIT-38 filed at tax office by April 30. Online (podatki.gov.pl + e-Deklaracje) faster, automatic confirmation, status tracking. Most Poles file online. Twój e-PIT — MF service, automatically pre-fills form (based on PIT-8C), confirm online.

What if I miss deadline?

April 30 is deadline. After: czynny żal (active regret) — can file late with explanation (e.g. illness), usually no penalty. Without czynny żal: penalty 1/30 minimum wage per day (~120 PLN/day in 2024). Plus statutory interest on tax (~12% annual). Practically: always file czynny żal if late, saves penalties.

Go deeper · the complete guide