How to calculate stock market tax — PIT-38 step by step
Detailed instructions for filing PIT-38 from stock market. How to calculate capital gains tax, what to deduct and how to avoid mistakes.
13 min czytaniaTax on stock market gains in Poland
Anyone who sold shares, ETFs, bonds or other financial instruments at a profit (or loss!) must file PIT-38. The capital gains tax rate in Poland is 19% — the so-called podatek Belki.
Important: You file PIT-38 even when you incurred a loss. Not filing the declaration is an error that can cost you.
Who must file PIT-38?
You file PIT-38 if in a given tax year you:
- Sold shares, ETFs or bonds on GPW or foreign exchanges
- Closed positions on futures or options contracts
- Sold cryptocurrencies (settled separately in PIT-38)
- Redeemed investment fund units
- Realized profit on forex
Exceptions: Profits on IKE and IKZE are not subject to PIT-38 (provided statutory conditions are met).
Where to get the data? PIT-8C
Your broker by the end of February sends you PIT-8C — information about income and costs from paid disposal of securities. This is your basis.
What will you find in PIT-8C?
- Income — total amount from sales
- Tax-deductible costs — purchase price + commissions
- Profit or loss — the difference
If you use multiple brokers (e.g., XTB + mBank + foreign broker), you receive multiple PIT-8C forms and must sum them up.
How to fill out PIT-38 — step-by-step instructions
Step 1: Collect all PIT-8C forms
Log into accounts with each broker and download PIT-8C. Deadline for receipt: by the end of February.
Step 2: Sum up income and costs
| Broker | Income | Costs | Profit/Loss |
|---|---|---|---|
| XTB | 50,000 PLN | 42,000 PLN | +8,000 PLN |
| mBank | 30,000 PLN | 35,000 PLN | -5,000 PLN |
| Total | 80,000 PLN | 77,000 PLN | +3,000 PLN |
Step 3: Add costs the broker didn't include
You can deduct:
- Purchase and sale commissions (usually the broker includes them)
- Currency conversion fees (when buying foreign ETFs)
- Account maintenance costs (if related to investment account)
- Market data access fees (if necessary for investing)
Step 4: Settle losses from previous years
If in previous years (up to 5 years back) you had losses, you can deduct them:
- Maximum 50% of loss from a given year in one tax year
- Or the entire loss if it doesn't exceed 5 million PLN (from 2022)
Example: Loss in 2024 = 10,000 PLN. In 2025 you can deduct up to 5,000 PLN (50%) or all 10,000 PLN (if <5 million).
Step 5: Calculate tax
Profit: 3,000 PLN
- Previous years' loss deduction: 0 PLN
= Tax base: 3,000 PLN
× 19% = 570 PLN tax
Step 6: File PIT-38
- Deadline: by April 30 of the following year
- Where: through e-PIT at podatki.gov.pl, e-Deklaracje program or on paper
- Tip: e-PIT often has pre-filled PIT-38 based on data from brokers
Foreign exchanges — what about tax?
If you invest through a foreign broker (Interactive Brokers, Degiro, Trading 212):
- You don't get PIT-8C — you must calculate income and costs independently
- Convert to PLN — at NBP exchange rate from the day before the transaction
- Include exchange rate differences — they can increase or decrease profit
- Dividends — settled in PIT-38, but include withholding tax (WHT)
Foreign dividends and W-8BEN form
If you signed W-8BEN with a US broker, withholding tax is 15% instead of 30%. You pay the difference of 4% (19% - 15%) in Poland.
Cryptocurrencies in PIT-38
Since 2019 you settle cryptocurrencies in a separate PIT-38 section:
- Income: value of crypto sale
- Cost: value of crypto purchase
- Crypto-to-crypto exchange is not a taxable event
- Crypto-to-fiat exchange (PLN, EUR, USD) is a taxable event
- Crypto loss settled only with crypto gains (not with shares)
Most common mistakes
- Not filing PIT-38 with a loss — you always file, the loss will be useful in the future
- Forgetting about foreign broker — Polish tax office will find out anyway (CRS)
- Wrong currency rates — always NBP rate from the preceding day
- Not deducting losses from previous years — check PIT-38 from the last 5 years
How Freenance can help
Freenance organizes your investment finances:
- Portfolio tracking — see all transactions in one place
- Profit and loss overview — easily check how much you earned or lost in a given year
- Multiple accounts — connect accounts from different brokers
- Transaction history — useful when filling out PIT-38
Want full control over your finances?
Try Freenance for free