Forex taxes in Poland — complete PIT-38 guide
A Polish trader who made money on forex in a given year has one concrete obligation come April: file a PIT-38 return and pay the 19 percent Belka tax on realised capital income. It sounds simple, but the devil sits in the details. A Polish broker (XTB, mBank) reports differently than a foreign one (Interactive Brokers, IG, Saxo). Prior-year losses can be carried forward, but not freely. Swap is treated differently from price PnL. This guide walks through the entire procedure step by step, with references to specific statutes. This material does not constitute tax advice; every individual situation requires consultation with a professional.
Where does the 19 percent come from, and why is it called the Belka tax?
Poland's flat tax on capital income was introduced in 2002 by the government of Leszek Miller. Its patron was the then-finance minister Marek Belka, and the name stuck. The 19 percent rate is set out in Article 30b paragraph 1 of the Personal Income Tax Act of 26 July 1991 (Journal of Laws 1991 No. 80 item 350, consolidated text Journal of Laws 2024). It covers gains on securities, derivative financial instruments, and borrowed instruments, which means it also covers CFDs on currency pairs and metals — the bread and butter of retail forex.
The second key point: the tax is paid on income, not on revenue. Income is the difference between revenue (the sum of all realised gains on positions closed in the year) and deductible costs, including the sum of realised losses in the same year. Twenty winning trades and eighteen losing ones are netted, not just the winners.
„Income tax on the disposal of securities or derivative financial instruments […] amounts to 19 percent of the income earned." — Personal Income Tax Act, Article 30b paragraph 1, Journal of Laws 1991 No. 80 item 350, consolidated text 2024
A Polish broker — does PIT-8C end the conversation?
KNF-licensed brokers serving Polish residents (mainly XTB and bank brokerages) must issue a PIT-8C statement by the end of February for the previous year. The document goes to the client and, in parallel, to the tax office — the revenue service sees the same numbers you do. PIT-8C already contains revenue, costs, and net income or loss, so on the PIT-38 you simply transcribe the values into the correct boxes. Convenient, with two catches.
First: PIT-8C does not exempt anyone from filing PIT-38. Some traders assume that if the broker „settled" the year, nothing more is required from them. It is — the declaration is the taxpayer's responsibility, the broker merely provides information. Second: if you also trade through a foreign broker (or hold accounts in PLN and USD at different banks), PIT-8C will only cover the Polish slice. The rest you have to add yourself.
A foreign broker — self-report, NBP rate from the day before
Interactive Brokers, Saxo, IG, OANDA and every other broker based outside Poland are not required to issue PIT-8C. That does not mean the income is invisible to tax — it means you do all the work yourself. The procedure has been stable for years:
- Download the annual transaction report from the platform (Activity Statement on IBKR, Trade Confirmations on Saxo) listing every position closed during the tax year.
- Convert each transaction to zloty using the NBP average rate (Table A) from the day before the position was closed — as mandated by Article 11a of the PIT Act.
- Sum trade gains and losses separately from interest, dividends, and commissions.
- The PLN result goes onto PIT-38 in the foreign-income section, with double-taxation relief if Poland has a treaty with the broker's home country.
The most common mistake is converting at the opening rate or the closing-day rate instead of the day-before rate. The second mistake is using a bank buy/sell rate rather than the NBP average. The third, and the most dangerous, is assuming that if no PIT-8C arrived, nothing has to be reported. Since 2017 Poland exchanges financial-account information automatically with most OECD countries under the CRS standard — the tax office sees your IBKR or Saxo balance without asking your permission first. For the broader documentation and record-keeping side of trading-as-a-business, see the taxes and records chapter on ForexMechanics.
Swap and interest — capital income too?
This is where many traders trip up. The result from the open-close price difference is capital income — straight to PIT-38, 19 percent Belka. But swap points (overnight rollover, positive or negative) and interest on the cash balance held with the broker have an interest character. In practice most Polish brokers book swap together with the trade result and show it on PIT-8C as part of capital income — in that case there is nothing to argue about. With a foreign broker it is worth splitting the two categories in your spreadsheet and, if the amount is material, consulting an advisor, because formally interest on a deposit is taxed separately (PIT-38 section D, or 19 percent withheld at source, depending on the account structure). What is a forex swap explains the mechanics of swap points.
Prior-year loss — five years, but only half a year
If you closed a year in the red, you have five subsequent years to deduct that loss from capital income — with a meaningful limit. In any single year you can deduct a maximum of 50 percent of the loss from a given originating year (Article 9 paragraph 3 of the PIT Act). A 40,000 PLN loss from 2023 entitles you in 2026 to a maximum deduction of 20,000 PLN — the remainder can be deducted in any of the remaining years up to 2028 inclusive, again capped at 20,000 PLN per year.
The second condition, often forgotten by beginners: a capital-income loss can only be deducted from capital income. It will not reduce salary income, rental income, or business income. If a year netted to zero and the following one was loss-making, that following year goes onto PIT-38 with an amount carried forward. After five years, the unused remainder simply expires. Forex loss tax covers the topic in detail.
A hypothetical tax year — from statements to wire transfer
This is illustrative — your actual figures depend on the dates, NBP rates, commissions, and whether part of the income comes from interest. Do not treat it as a template to drop your own numbers into without verification.
What most often goes wrong
From what I see on Polish trading forums and in reader questions, four mistakes do the most damage. The first: ignoring the foreign account because „nobody will see it". They will — the bank that reports cross-border transfers under CRS is itself a source of information for the tax office. The second: mixing forex, crypto, and equity gains into a single line. These are three separate regimes, equities and forex go on PIT-38, crypto goes on PIT-38 as virtual currency (since 2019), and each part is reported separately. The third: deducting a loss „in full" in the first available year — the 50 percent annual cap applies without exception. The fourth: forgetting documentation. The tax office has five years to audit, so keep transaction reports, statements, and NBP rate tables in both digital and paper form.
What to do tomorrow
- Download from every platform you traded on in 2025 a full annual statement of closed transactions, in CSV or PDF. Save both files in a folder labelled with the tax year and the broker name, so you do not have to guess later which file came from where.
- Check on PIT-8C broker forex whether your broker actually issues this document and when it usually arrives. If by mid-March nothing has come from a Polish broker, send a formal email request — issuance is their statutory obligation, not a courtesy.
- For every trade closed on a foreign account, identify the close date, look up the NBP Table A average rate from the day before (the rate archive on nbp.pl), and convert the result to PLN. Do this in a spreadsheet with separate columns for date, rate, currency PnL, and PLN PnL — the tax office may ask for this sheet.
- If you carry unused losses from prior years, open the article on losses and calculate how much you can deduct this year at most (up to 50 percent of the loss from each originating year separately). Enter those amounts into PIT-38 in the correct boxes, do not try to deduct the whole loss at once.
- File PIT-38 through the Twój e-PIT service on podatki.gov.pl no later than 30 April and, on the same day, wire the amount due to your individual tax micro-account. A late payment triggers statutory interest; failing to file at all is a fiscal misdemeanour with a defined fine. It is also worth checking whether forex trading is subject to transaction tax or other levies beyond PIT-38 — for a complete picture of your obligations.
Sources & bibliography
-
Ministerstwo Finansów (gov.pl) Twój e-PIT — serwis do złożenia PIT-38 · Oficjalna usługa MF/KAS do złożenia rocznej deklaracji PIT-38 online, w tym dla dochodów kapitałowych z forex. www.podatki.gov.pl ↗
-
Narodowy Bank Polski Tabela A — średnie kursy walut obcych · Codzienna tabela kursów średnich NBP używana do przeliczenia transakcji w walucie obcej na PLN zgodnie z art. 11a ustawy o PIT. nbp.pl ↗
-
Krajowa Administracja Skarbowa (gov.pl) Strona KAS — kontakt i obowiązki podatników · Oficjalna strona KAS z informacjami o obowiązkach podatkowych, terminach i procedurach kontroli skarbowej. www.gov.pl ↗
-
Komisja Nadzoru Finansowego Podmioty nadzorowane — rejestr firm inwestycyjnych · Wyszukiwarka brokerów z licencją KNF, pozwala zweryfikować, czy dany broker ma obowiązek wystawić PIT-8C. www.knf.gov.pl ↗
-
Ministerstwo Finansów (gov.pl) Strona główna Ministerstwa Finansów · Główny portal MF z komunikatami, objaśnieniami podatkowymi i kanałami kontaktu dla podatników. www.gov.pl ↗