What is capital gains tax?
Capital gains tax (colloquially the "Belka tax" (podatek Belki)) is a 19% flat-rate tax on income from financial investments. Gains from the sale of securities (shares, ETFs, bonds), derivatives (CFDs, options, futures) and crypto (virtual currencies) are taxed under art. 30b of the PIT Act, and dividends and interest under art. 30a.
Note: the term "Belka tax" (podatek Belki) is used both for the tax on capital gains (Art. 30b) and for the tax on bank interest (Art. 30a). This guide covers both.
Capital gains tax applies to anyone who sold shares, ETFs, bonds, crypto or derivatives at a profit. It does not matter whether you invest on the Polish stock exchange (GPW) or on foreign platforms. The tax obligation arises on sale (paid disposal) — merely holding assets does not generate tax. With crypto, tax arises only on exchange for money, goods or services; exchanging one crypto for another is neutral. Importantly: Poland has no preferential rate for long-term investments. Whether you held shares for 1 day or 10 years, the rate is always 19%.
Who has to pay capital gains tax?
The obligation to file PIT-38 applies to:
- Polish tax residents who sold securities (shares, ETFs, bonds)
- Investors on foreign platforms (Interactive Brokers, Revolut, Trading 212, DEGIRO)
- People who sold crypto for money, goods or services — or only bought it (the expenses are reported in PIT-38 so that they carry over to the following years)
- People who closed positions in CFDs, options or futures
- People who received foreign dividends (section G of PIT-38)
Who does NOT have to file PIT-38?
- Investors who invest exclusively through IKE or IKZE (these transactions are not reported in PIT-38)
- People who sold nothing in the given year and did not buy crypto (merely holding is not taxed)
- People who received only Polish dividends from which the withholding agent (płatnik) collected the tax
What is taxed?
How to calculate the tax?
Tax = (Revenue from the sale − Tax-deductible costs) × 19%. Costs are the purchase price of the securities sold and the broker commissions — on both the purchase and the sale. Poland requires the FIFO method (First In, First Out) — on a sale, the securities bought earliest are matched first (art. 30b ust. 7).
Calculation example
You bought 100 shares at 50 PLN (5,000 PLN + 20 PLN commission). You sold them at 70 PLN (7,000 PLN, commission 20 PLN). Revenue: 7,000 PLN. Costs: 5,000 + 20 + 20 = 5,040 PLN. Income: 7,000 − 5,040 = 1,960 PLN. Tax: 1,960 × 19% = 372 PLN (after rounding).
Practical tax calculation — 4 scenarios
Scenario 1: Polish shares (XTB)
You bought 200 KGHM shares at 120 PLN in March 2025 (24,000 PLN + 29 PLN commission). You sold them in October at 155 PLN (31,000 PLN, commission 29 PLN). Revenue: 31,000 PLN. Costs: 24,000 + 29 + 29 = 24,058 PLN. Income: 6,942 PLN. Tax: 6,942 × 19% = 1,319 PLN. XTB will send you PIT-8C with revenue of 31,000 PLN and costs of 24,058 PLN, and in your e-PIT they will appear in fields C.20 and C.21 (revenue from PIT-8C) — you only need to check them.
Scenario 2: Foreign shares (Interactive Brokers)
You bought 50 Microsoft (MSFT) shares at $420 in January 2025. You convert the amounts at the NBP average rate from the last business day before the day the revenue is earned or the cost is incurred (art. 11a ust. 1) — in practice before the settlement date of the transaction, which in the USA falls one business day after the trade (T+1). Let's assume a rate of 4.0520: cost 50 × 420 × 4.0520 = 85,092 PLN + 5 PLN commission = 85,097 PLN. You sold in July at $480, rate 3.9780: revenue 50 × 480 × 3.9780 = 95,472 PLN, and the 5 PLN commission is a cost. Income: 95,472 − 85,097 − 5 = 10,370 PLN. Tax: 10,370 × 19% = 1,970 PLN. IBKR does not send PIT-8C — you import the report into the calculator, and the amounts go into fields C.22 and C.23 (other revenue).
Scenario 3: Crypto (Binance)
In February you bought 0.5 BTC for 90,000 PLN. In May you sold 0.3 BTC for 63,000 PLN. Revenue: 63,000 PLN. Costs: 90,000 PLN — with crypto you deduct all purchase expenses incurred in the given year, not the cost of the part sold (art. 22 ust. 14–16). Income: 0 PLN; the excess of costs of 27,000 PLN carries over to the next year. If instead of selling you had exchanged BTC for ETH, it would not be a taxable event (art. 17 ust. 1f). NOTE: crypto has a separate part E/F in PIT-38 (not C/D) — this is a DIFFERENT mechanism from a loss on shares!
Scenario 4: Loss with a deduction
In 2024 you sold shares at a loss of 15,000 PLN and reported it in PIT-38. In 2025 you have income of 25,000 PLN. The loss does not exceed 5 million PLN, so you can deduct it in full in a single year (art. 9 ust. 3 pkt 2). Base: 25,000 − 15,000 = 10,000 PLN. Tax: 10,000 × 19% = 1,900 PLN instead of 4,750 PLN. Saving: 2,850 PLN. PIT-38 must also be filed for the loss year (art. 45 ust. 1a pkt 1) — that is where you report the loss you later deduct.
Tax and your broker — what you need to know
How you settle depends on whether you use a Polish or a foreign broker:
Polish brokers
Polish brokerage houses (XTB, mBank eMakler, Pekao, Millennium) send PIT-8C with the revenue and costs from transactions by the end of February. In e-PIT they go into fields C.20 and C.21. You can check them manually or import the transactions into the calculator.
Foreign brokers
Foreign brokers (Interactive Brokers, Revolut, Trading 212, DEGIRO, eToro) do NOT send PIT-8C. You export a transaction report (CSV, Flex Query, PDF) and import it into the calculator. The system will apply FIFO, convert currencies at NBP rates and prepare the amounts for PIT-38 (fields C.22 and C.23) and — when the income comes from abroad — the PIT/ZG attachments.
When and how to pay — PIT-38
You settle capital gains tax once a year in the PIT-38 tax return. Deadline: 30 April of the year following the tax year — the tax must also be paid by that date. You can file the return via e-Urząd Skarbowy (Twój e-PIT), through a proxy, or on paper at the tax office.
How to legally reduce your tax?
IKE (Individual Retirement Account) — income from IKE is tax-exempt (art. 21 ust. 1 pkt 58) if you withdraw the funds on the terms of the IKE and IKZE Act, among others after reaching age 60. IKZE (Individual Retirement Savings Account) — you deduct your contributions from income. Loss from previous years — you can deduct a loss from capital income (kapitały pieniężne) from the previous 5 years from your income (art. 9 ust. 3). Broker commissions — commissions on purchases and sales are costs and reduce income.
When do you NOT have to pay tax?
IKE (Individual Retirement Account): income from IKE is tax-exempt if you withdraw the funds on the terms of the IKE and IKZE Act — among others after reaching age 60 (art. 21 ust. 1 pkt 58). IKE contribution limit in 2026: 28,260 PLN. IKZE (Individual Retirement Savings Account): you deduct contributions from income in the year you make them, and a withdrawal after reaching age 65 is taxed at a 10% flat rate instead of 19%. Important: in Poland there is NO tax-free allowance for capital gains tax — even 1 PLN of profit is subject to 19% tax. In the United Kingdom the CGT exemption is 3,000 GBP a year, and in Germany the flat-rate allowance (Sparer-Pauschbetrag) is 1,000 EUR.
FIFO — the mandatory method in Poland
Art. 30b of the PIT Act requires the FIFO method (First In, First Out). This means that when you sell shares, those bought earliest are matched first. You cannot choose LIFO or a weighted average. Our calculator automatically applies FIFO to all transactions.
Learn more about the FIFO method →Comparison with other countries
Poland has one of the simpler, but also less favourable, capital gains tax structures in Europe. As of 2026:
| Country | Rate | Tax-free allowance |
|---|---|---|
| Poland | 19% | None |
| USA | 0% / 15% / 20% | 0% up to an income threshold |
| United Kingdom | 18% / 24% | 3,000 GBP |
| Germany | 25% + solidarity surcharge | 1,000 EUR |
| Netherlands | 36% of deemed return (box 3) | Tax-free wealth allowance |
The most common mistakes in settling stock-market tax
Forgetting PIT/ZG
income from the sale of securities or crypto earned abroad requires PIT/ZG — a separate one for each country (dividends do not require it)
Wrong NBP rate
you use the average rate from the last business day before the day the revenue is earned (art. 11a) — in practice before the settlement date of the transaction, not before the trade date
A method other than FIFO
in Poland FIFO is MANDATORY for securities (art. 30b ust. 7)
Leaving out commissions
commissions on purchase and sale are costs and REDUCE income — do not leave them out
Not filing PIT-38 in a loss year
the return must be filed even when you have a loss — that is where you report the loss to be deducted in the following years
Mixing crypto with shares
crypto (part E/F) and shares (part C/D) are settled SEPARATELY
Calculate your tax automatically
Instead of calculating by hand — import your broker reports into the PIT-38 calculator. The system will automatically apply FIFO, convert currencies at NBP rates and prepare a ready summary for your tax return.
Import from 20+ brokers. Automatic FIFO and NBP rates.