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 czytania

Tax 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):

  1. You don't get PIT-8C — you must calculate income and costs independently
  2. Convert to PLN — at NBP exchange rate from the day before the transaction
  3. Include exchange rate differences — they can increase or decrease profit
  4. 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

  1. Not filing PIT-38 with a loss — you always file, the loss will be useful in the future
  2. Forgetting about foreign broker — Polish tax office will find out anyway (CRS)
  3. Wrong currency rates — always NBP rate from the preceding day
  4. 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

👉 Organize your investments with Freenance — freenance.io

Want full control over your finances?

Try Freenance for free
Start today

Your path to financial freedomstarts here

Join thousands of investors who use Freenance to manage their personal finances.

Start for free
14 days free
No credit card
256-bit encryption