🧾Taxes on Stock Sales in the Czech Republic: §10, 3-Year Test, and 100,000 CZK Limit Step by Step
Taxes on Stock Sales in the Czech Republic: §10, 3-Year Test, and 100,000 CZK Limit Step by Step
It's March 25th, you're racing against the tax return deadline, and you're staring at an export from your broker showing 47 lines of sales from last year. One purchase of Apple from 2020, three from 2023, two ETF sales, something dropped in panic in October. And now you need to extract one number for the form. Feeling the pressure rise? Welcome to the club. Good news: the rules are surprisingly logical, they just aren't talked about until necessary.
Where Stock Sale Profit Appears in the Tax Return
The profit from stock sales by a small investor in the Czech Republic falls under other income according to §10 of the Income Tax Act. It's not "employment income" or "business income" — it's simply profit from the sale of assets. The personal income tax rate is 15% (with very high annual bases, a progressive rate of 23% is added, but most retail investors don't deal with this).
The key trick of §10: you don't tax what hits your account, but the difference between the selling price and the acquisition price (plus demonstrable costs, typically purchase and sale fees). Loss-making trades within §10 can be offset against profitable ones in the same year — so if one stock made a profit and another made a loss, they are summed together. However, you cannot carry the loss forward to future years, unlike entrepreneurs.
Two Tax Escape Routes: Time Test and Limit
And now the best part — the Czech Republic has two mechanisms through which stock profit doesn't need to be taxed at all. You just need to meet one of them.
1) Three-Year Time Test
Did you hold a stock for more than 3 years between purchase and sale? The profit is tax-exempt, regardless of the amount. Sold after three years and one day with a million profit? Zero tax. This is the strongest tool for a long-term investor and precisely why "buy and hold" pays off tax-wise in Czech conditions.
Beware of one detail that changes over time: for large volumes of exempt income, a threshold (approximately around 40 million CZK) appeared from 2025, above which the exemption no longer automatically applies. It doesn't concern the average retail investor, but it must be mentioned — and that's exactly why you should verify with a tax advisor if you're playing with large amounts.
2) Annual Income Limit up to 100,000 CZK
The second exit: if your total annual income from the sale of securities (not profit, but gross sales amount!) is up to 100,000 CZK, it is entirely exempt. Watch out for the trap here — the limit is calculated from the volume of sales, not from the profit.
Example of the trap: you sell stocks for 95,000 CZK, which you bought for 90,000 CZK. Profit 5,000 CZK, sales volume 95,000 CZK → under the limit → exempt. But if you sell for 120,000 CZK stocks bought for 118,000 CZK, your profit is only 2,000 CZK, but the volume of 120,000 CZK exceeded the limit, so the exemption doesn't work and you have to deal with it in §10.
FIFO: Which Stock Was Actually Sold?
When you bought one stock gradually at different prices, the question arises: which batch did you sell? In the Czech Republic, FIFO — First In, First Out is standardly used. You sell the oldest pieces first. This has two practical consequences:
- For the time test, the age of the oldest pieces is counted → the earlier you bought, the sooner you are exempt.
- For the acquisition price, the price of the oldest pieces leaving the position is taken.
Data Block: How It Works with Specific Numbers
Imagine a portfolio of one stock, purchased in three waves:
| Purchase | Date | Pieces | Price/piece | Cost |
|---|---|---|---|---|
| A | 3/2021 | 10 | 2,000 CZK | 20,000 CZK |
| B | 6/2023 | 10 | 2,500 CZK | 25,000 CZK |
| C | 1/2024 | 10 | 3,000 CZK | 30,000 CZK |
According to FIFO, you sell batch A first (10 pcs) and then 5 pcs from batch B:
- 10 pcs from A (purchase 3/2021): held for over 3 years → exempt by time test. Profit (35,000 − 20,000 = 15,000 CZK) is not taxed at all.
- 5 pcs from B (purchase 6/2023): held for ~1.5 years → time test not met. Acquisition price 5 × 2,500 = 12,500 CZK, income 5 × 3,500 = 17,500 CZK. Taxable profit = 5,000 CZK.
Approximate tax on those 5,000 CZK profit: 15% → approximately 750 CZK. See how crucial FIFO and purchase date are — if you sold only 10 pieces (just batch A), you pay nothing.
Practical Checklist — What to Do Today
- Download the annual trade statement from your broker (report for the calendar year, not "since account opening").
- Sum up the gross volume of all securities sales for the year. Under 100,000 CZK? You're probably covered (check exceptions).
- For each sale, mark the purchase date of the oldest pieces (FIFO) and calculate if it's over 3 years → exempt.
- For the rest, calculate the base = income − acquisition price − fees. Sum up profits and losses together.
- Save the documentation (statements, purchase confirmations) — the tax office wants to see them during an audit, not take your word for it.
- Doubts = tax advisor. This article is general education, not a tax return for you.
In QMA
The problem for most investors isn't the math of the tax — it's the chaos in records. You don't know when you bought what, for how much, and whether your "3-year test" is maturing. In QMA, you keep a trading journal, where each position has a date, price, and note — so when March comes, you don't pull FIFO from memory, but look at a ready overview that shows which pieces are already past the time test and which are not. QMA tracks it continuously for you, so you don't sweat at the tax return. 👉 open in QMA
What to Take Away
- Record the date and price of each purchase right at the trade — without it, you can't reliably calculate FIFO or the time test.
- Watch two numbers: annual sales volume (100,000 CZK limit) and position age (3-year test) — each can exempt you from tax.
- Sum up profits and losses in the same year, so you don't pay more tax than necessary.
- For higher amounts and uncertainties, don't guess — verify with a tax advisor. This is framework education, not individual tax advice.
Compliance Disclaimer: This article is for informational purposes only and does not constitute tax advice. Always consult with a qualified tax advisor for specific guidance tailored to your situation.
Want to know more? Ask the QMA Research Assistant
The Research Assistant knows the whole platform and its data. If the answer is not in the QMA database, it looks it up and explains it in plain language. It is an analytical and educational tool, not investment advice.
Open the Research Assistant →Related articles
A beginner investor does not need to panic about taxes. It is enough to understand three basics: when a sale of securities is tax-exempt, how profit is calculated using FIFO, and how broker fees or currency conversions reduce returns.
7 minFormulář z portálu MOJE daně nekouše, ale bez pořádku v obchodech a dividendách se v něm ztratíte. Rámcový postup, ilustrativní příklad na konkrétních číslech a připomínka, že poslední slovo má vždy daňový poradce.
6 minPraktický návod, jaké podklady si má investor průběžně ukládat k obchodům, dividendám a kurzům, proč je to levnější dělat hned a ne na konci roku, a jak v tom pomůže obchodní deník. Obecná edukace, ne individuální daňové poradenství.
5 minProdal jsi během roku 40 opcí, vydělal a teď koukáš na výpis od brokera jako tele na nová vrata. Rámcový průvodce tím, jak se u nás na opce dívá daňový úřad — a proč tě zachrání jen pořádná evidence.
6 minSee it live: QMA scores 17,000+ stocks for you
Full access to the 5-pillar analysis, smart-money data and the whole-market screener. No commitment, cancel anytime.
QMA Brain – free weekly recap
One email a week with a descriptive recap. Unsubscribe anytime.
7 days of Elite free, no card
The account is free to open and needs no card. For that time the account has full Elite access.
Create a free accountContent created by AI in collaboration with Jaroslav Vojtášek. Not investment advice. The author may hold the stocks mentioned. Investing involves risk of loss.
Operator: Jaroslav Vojtášek, Company ID (IČO) 48783447.