Belka tax on forex profits — how to file it step by step

Last verified: · Quarterly verification
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.

The first time a Polish forex trader hears about the "Belka tax", it usually happens after a first good year of trading. They call the bookkeeper who has filed their PIT-37 from regular employment for a decade and hear: "Forex is a different story — take that to a tax advisor." That is when the real education begins. This article walks you through the mechanics of the Belka tax on forex — from history and the 19% rate, through FIFO, PIT-8C and PIT-38, to the five most common mistakes that cost Polish traders the most money.

What the Belka tax is — short history and legal basis

"Belka tax" is an informal name. The Polish PIT Act never uses the phrase — it speaks of the "tax on capital income", governed by article 30a (interest, dividends) and article 30b (gains from the sale of securities and derivative financial instruments, including forex contracts). It was introduced by the act of November 12, 2001, effective March 1, 2002, when Marek Belka was Finance Minister in Leszek Miller's government. From 2004 the tax covers realised gains from selling shares, bonds and derivatives — forex, CFDs and options. The 19% rate has not changed in more than twenty years.

For a Polish tax resident trading forex, this means one thing: every realised profit from a closed position — whether the broker sits in Warsaw, Sydney, Cyprus or the United Kingdom — feeds the same pool reported on PIT-38 by April 30 of the year following the tax year. Mark-to-market valuations of open positions do not count; only closed positions do.

The 19% rate — what "flat" means and why there is no personal allowance

The 19% is a flat rate — independent of the size of the gain and of other income sources. A trader who realised 8,000 PLN net in 2024 pays 1,520 PLN; one who earned 280,000 PLN pays 53,200 PLN. The percentage is identical, only the absolute amount differs. PIT-37 by contrast uses a progressive scale with a 30,000 PLN personal allowance. On PIT-38 there is no personal allowance and it does not merge with PIT-37 — a trader on a salaried contract files both forms. A forex loss does not lower the salary tax, and a higher salary does not change the forex rate.

When the tax obligation arises — the moment of realisation

The Belka tax on forex arises the moment the position closes — when the profit or loss is realised. Whether you then withdraw the funds or leave them on the account to reinvest is irrelevant. What matters is that the position moved from "open" to "closed" during the tax year; the valuation of an open position on December 31 creates no obligation. A second mechanism worth remembering is FIFO (First In, First Out) — when several entries sit on one pair at different prices, the lot treated as closed is the one that entered the book first. I cover FIFO mechanics in more depth in the FAQ below the article.

PIT-38 vs PIT-8C — who issues which and what to do with each

PIT-38 is yours — the return you submit to the tax office. PIT-8C is from the broker — information the broker issues to you and forwards in parallel to the revenue service. A Polish broker regulated by KNF (XTB, mBank Brokerage, TMS Brokers, BOSSA, DM BOŚ) has a statutory duty to issue PIT-8C by the end of February. Inside Twój e-PIT on podatki.gov.pl the system pulls data from XML and displays a pre-populated PIT-38; your role reduces to verifying the figures, adding any deductible costs the broker does not know, and pressing "Submit".

A foreign broker (IC Markets, Pepperstone, Saxo, Interactive Brokers) does not issue PIT-8C. You receive an annual report ("Annual Statement", "Year-End Statement"), extract the list of closed trades and convert each using the NBP average rate from the business day preceding the close. The net total after conversion is entered into fields 32-37 of PIT-38 in the "income from other sources" section. I walk through the procedure step by step in the PIT-38 filing guide for 2024, and the PIT-8C mechanics in the article on the PIT-8C statement from a broker.

Deductible costs — what you can subtract from the 19%

The Polish PIT Act does not list a catalogue of costs for traders. It operates on the general rule in article 22 paragraph 1: a cost is an expense incurred to generate income, documented in a way that allows verification. In practice KIS has confirmed: broker commissions (always broken out in the annual report), swap rollover (already embedded in the closed position result), tool subscriptions (TradingView, Bloomberg, with a VAT invoice), VPS for Expert Advisors (100-300 PLN per month), courses and books on forex (where the connection can be demonstrated) and the accounting office invoice for preparing the PIT-38. What you do not deduct separately: the spread — already embedded in the entry and exit prices.

An example. Kasia realised gross gains of 60,000 PLN at XTB in 2024. The PIT-8C accounted for commissions and swap (3,200 PLN), so the income on the form is 56,800 PLN. Separately Kasia pays 1,440 PLN for TradingView, 960 PLN for VPS and 600 PLN to an accounting office — 3,000 PLN of extra costs. After adding them the tax base drops to 53,800 PLN and the tax falls from 10,792 PLN to 10,222 PLN. A 570 PLN saving for one hour with invoices. The full catalogue sits in the article on deductible costs for forex traders.

Losses from earlier years — five years and the 50 percent trap

"A loss declared on PIT-38 is not a defeat — it is a tax asset with a five-year shelf life. A trader who skips it deliberately gives up a legal tool for lowering tax in future years." — National Chamber of Tax Advisors (Krajowa Izba Doradców Podatkowych), taxpayer education material, 2024.

Polish law allows capital losses to be carried forward for five subsequent tax years — in a single year you may absorb at most 50% of the original loss. Example: Robert closes 2024 with a 30,000 PLN net loss and files PIT-38 with zero tax plus a declared loss. In 2025 he generates 50,000 PLN of net profit — he can absorb 50% of 30,000, that is 15,000 PLN. The base drops to 35,000 PLN, the tax becomes 6,650 PLN instead of 9,500 PLN. The remaining 15,000 PLN of loss carries to 2026-2029. The crucial condition: the loss must be declared on the PIT-38 filed for the year it occurred — an unreported loss is gone permanently. I cover the mechanics of filing a loss in the article on the forex loss on PIT-38.

Polish broker vs foreign broker — two scenarios, two workloads

The broker choice does not change the rate but changes the workload. With a Polish broker the procedure reduces to logging in to Twój e-PIT after March 15, verifying the four pre-populated numbers and pressing "Submit" — usually 15 to 20 minutes. With a foreign broker the procedure is heavier: download the transaction CSV, pull A-table rates from nbp.pl, map each closed trade to the rate from the business day preceding the close, convert P&L to zloty and sum the net result. With 200-300 trades a 4-6 hour task with a working template. The absence of PIT-8C does not exempt you — the revenue service learns about your account through the Common Reporting Standard anyway. If your balance exceeded the equivalent of 10,000 euro at any point in the year, you also file an ORD-U return by the end of March; missing it typically costs 500-2,000 PLN in fines.

The five most common mistakes Polish traders make

First: ignoring a losing year. An unreported loss is gone permanently — the next profitable year you pay the full 19% with no offset. Second: bad currency conversion. Using the annual average rate or the withdrawal-date rate instead of the NBP rate from the business day preceding each closed trade triggers, at audit, a correction with interest going back five years. Third: omitting a foreign broker. The Polish revenue service learns about your IC Markets account in Cyprus through the Common Reporting Standard. An audit two or three years later means catching up on tax, statutory interest (around 14.5% annualised in 2024) and a potential penal-fiscal fine.

Fourth: double-counting the spread. Spread is already embedded in entry and exit prices; entering it as a separate cost counts the same expense twice. Fifth: failing to file a correction once an error is spotted. A PIT-38 correction is free, filed online, has no deadline beyond the five-year limitation period, and does not draw the revenue service's attention when filed voluntarily. Waiting for the office to discover the error is the worst scenario. For most traders, documentation discipline — invoices archived as they come in, broker reports downloaded each month, an Excel sheet kept up to date — solves 90% of issues. The rest is a conversation with a tax advisor. A wider Polish-market perspective on filing forex sits at ForexMechanics — Taxes and records.

What to do tomorrow — your next step

If you are reading this in February, you still have runway. If it is the back half of April, put the article down and start moving. Four imperatives in the order in which you should tick them off.

  1. Download every annual broker statement for the previous year. From Polish brokers (XTB, mBank Brokerage, TMS, BOSSA, DM BOŚ) pull the PIT-8C in PDF and XML — archive the first, import the second into Twój e-PIT. From foreign brokers pull the Annual Statement or Activity Statement covering January 1 to December 31. Do this by mid-March to leave a week of slack for corrections.
  2. Build a conversion spreadsheet for any foreign-broker activity. Open nbp.pl, download the full year of A-table rates in XML or CSV and import them into Excel. For each closed trade in the broker CSV, map the NBP rate from the business day preceding the close, convert P&L into zloty and sum the net result. Save the template — in subsequent years it cuts the work from six hours down to one.
  3. File PIT-38 through Twój e-PIT before April 30. Open podatki.gov.pl, sign in with profil zaufany or your bank, open the pre-populated return, add any deductible costs the broker does not know (TradingView, VPS, accounting office), verify the totals in sections C and D, sign and submit. With a tax owed, transfer the amount to your individual micro-account by the same deadline.
  4. Archive the full documentation pack for five years forward. In one folder labelled "PIT-38 tax year 2024" keep the submitted return, the official UPO acknowledgement, the PIT-8C PDFs from Polish brokers, the annual statements from foreign brokers, the NBP tables, the cost invoices and the conversion spreadsheet. This is what an audit will request if one lands one, two or four years after submission.

Edge cases at the boundary of interpretation (prop firms, partial residency, gains above 100,000 PLN) belong to a tax advisor licensed in Poland. A one-off consultation costs 300-800 PLN and is itself fully deductible in the following year.

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 PIT-38 — formularz i instrukcja · oficjalny formularz resortu na rok podatkowy www.gov.pl ↗
  2. Sejm RP / ISAP Ustawa o PIT — tekst ujednolicony (art. 30b) · Dz.U. 1991 Nr 80 poz. 350, z późn. zm. isap.sejm.gov.pl ↗
  3. NBP Kursy walut — tabela A · średnie kursy NBP do konwersji walut na PIT-38 nbp.pl ↗
  4. Ministerstwo Finansów Twój e-PIT — usługa wstępnie wypełnionych deklaracji · serwis Krajowej Administracji Skarbowej www.podatki.gov.pl ↗
  5. Krajowa Administracja Skarbowa Krajowa Informacja Skarbowa — infolinia · +48 22 330 03 30, pon.–pt. 8:00–18:00 www.gov.pl ↗

Frequently asked

Where does the name "Belka tax" actually come from?

The name is informal, made permanent by the press and everyday speech. Marek Belka served as Finance Minister in Leszek Miller's government in 2001-2002 and pushed through the law introducing a flat 19% tax on capital income — initially on bank deposit interest and bond yields, effective March 1, 2002. The scope widened in following years: from 2004 it captured profits from selling shares, bonds and derivatives, including forex contracts. The PIT Act itself never uses the term "Belka tax" — in legal language it is simply the "tax on capital income" governed by article 30a (interest, dividends) and article 30b (gains from the sale of securities and derivatives). Forex falls under article 30b. The 19% rate has not changed in 22 years — making it one of the most stable elements of the Polish tax system.

What is the FIFO rule and why does it matter for forex?

FIFO stands for First In, First Out — the earliest entry leaves first. It applies when a single currency position has multiple entries at different prices and you close only part of the volume. Suppose you bought 1 lot of EUR/USD at 1.0850, added a second lot at 1.0890, and then closed 1 lot at 1.0950. Under FIFO the lot treated as closed is the first one (1.0850), since it entered the book first. The profit is 100 pips, not 60. Most brokers (XTB, mBank, BOSSA) report trades in this order automatically, but on MetaTrader 4 and 5 in hedging mode you can open and close individual positions on your own — there the ticket-numbering system governs the sequence. For PIT-38 purposes each closed trade counts separately anyway, so FIFO matters mainly on a net-position account (such as Interactive Brokers in standard mode), where the broker itself must decide which batch is treated as closed.

What decides whether I am a Polish tax resident?

The Polish PIT Act sets two independent criteria in article 3 paragraph 1a. First: spending more than 183 days on Polish territory in a calendar year — that alone establishes residency. Second: having a centre of personal or economic interests in Poland — that is, family, an apartment, main employment, bank accounts, a car, social security (ZUS), health insurance. Meeting either criterion is enough. A Polish tax resident reports forex profits earned anywhere in the world on PIT-38, irrespective of whether the broker sits in Warsaw, Cyprus, Sydney or Singapore. Double taxation treaties signed by Poland do not override the principle — at best they let you credit foreign tax paid abroad against the Polish liability (this rarely matters for forex, since most countries do not levy withholding tax on foreign retail traders). If you are planning to move abroad, formally losing residency requires loosening both criteria simultaneously, not merely a four-month physical absence.

Is there any legal way to lower the forex tax burden below 19%?

The 19% rate itself is fixed — a flat capital income tax with no brackets or personal allowance. What you can lower is the tax base, and that is done with three legal tools. First: full and documented deductible costs — from broker commissions through TradingView subscriptions to an invoice from an accounting office. Second: using losses from previous years (up to five years back, with a 50% cap on the original amount per year). Third: once scale becomes large (annual profits above 100-150k PLN), switching to a sole proprietorship or a limited liability company — Estonian CIT in a company yields an effective 9% rate until dividends are paid out, and the catalogue of deductible costs widens dramatically. I cover this in detail in articles on deductible costs and filing a loss. What to avoid: schemes of the "move residency to Cyprus for three months" kind — a classic trap that the Polish revenue service treats as a sham and reassesses retroactively with interest.

Go deeper · the complete guide