You sold a stock for a profit. Congratulations. Now how much of that profit does FBR get?
Capital Gains Tax (CGT) on stock market transactions is one of the most misunderstood topics among PSX retail investors. Some think they do not owe anything. Some think their broker handles it. Some have no idea it exists.
Here is everything you need to know, in plain language.
What is Capital Gains Tax on Stocks?
When you sell a stock for more than you bought it for, the profit is called a "capital gain." In Pakistan, this gain is taxable. The tax rate depends on:
- When you acquired the stock (acquisition date determines which regime applies)
- Whether you are a tax filer (Active Taxpayer List status)
Current CGT Rates
The government has simplified CGT over the years. Here is what currently applies:
Stocks Acquired On or After July 1, 2024 (Current Regime)
If you bought your stocks after July 1, 2024 - which is most new purchases - the rate is simple:
| Filer Status | CGT Rate |
|---|---|
| ATL Filer | 15% flat |
| Non-Filer | Higher rate (varies by budget) |
No holding period benefit. It does not matter if you hold for 1 day or 10 years - the rate is the same 15% for filers. The government removed the graduated holding period incentive starting from this acquisition window.
Stocks Acquired Between July 1, 2022 and June 30, 2024 (Legacy)
If you bought stocks during this window and still hold them, the older progressive rates apply based on holding period:
| Holding Period | CGT Rate (Filer) |
|---|---|
| Less than 1 year | 15% |
| 1 year to 2 years | 12.5% |
| 2 years to 3 years | 10% |
| 3 years to 4 years | 7.5% |
| 4 years to 5 years | 5% |
| 5 years to 6 years | 2.5% |
| More than 6 years | 0% |
This is the regime many investors still remember. But it only applies to stocks you acquired during that specific window.
Stocks Acquired Between July 1, 2013 and June 30, 2022
Flat 12.5% for filers, regardless of holding period.
Stocks Acquired Before July 1, 2013
Exempt from CGT.
Non-Filers
Non-filers face significantly higher rates across all acquisition windows. Filing your tax return and getting on the Active Taxpayers List is the single easiest way to reduce your stock market tax burden.
Important note: Tax rates change with each federal budget. Always verify current rates from the FBR website or your tax advisor before making decisions based on this information.
How Holding Period is Calculated
Your holding period starts from the date of purchase and ends on the date of sale. It is calculated per lot, not per stock.
This matters because if you bought the same stock at different times:
- 200 shares bought on January 1, 2024
- 100 shares bought on July 1, 2024
- You sell 150 shares on January 15, 2025
Which shares are you selling? Pakistan follows the FIFO (First In, First Out) method. The first 150 shares sold are considered to be from your oldest lot (January 2024 purchase). Your holding period for those shares is approximately 12.5 months.
Practical Example
Let us walk through a real calculation:
Purchase: 500 shares of Stock XYZ at Rs. 100 each on October 1, 2024 Sale: 500 shares at Rs. 140 each on April 1, 2026
- Cost basis: 500 x Rs. 100 = Rs. 50,000
- Sale proceeds: 500 x Rs. 140 = Rs. 70,000
- Capital gain: Rs. 20,000
- Acquisition date: After July 1, 2024 - flat rate applies
- CGT rate (filer): 15%
- Tax owed: Rs. 20,000 x 15% = Rs. 3,000
Notice that even though you held for 18 months, the rate is still 15%. Under the current regime, holding longer does not reduce your CGT.
What About Losses?
If you sell a stock at a loss, you have a "capital loss." In Pakistan:
- Capital losses can be set off against capital gains in the same tax year
- If your total losses exceed total gains, the net loss can be carried forward to future tax years (up to 3 years for listed securities)
This means if you:
- Gained Rs. 50,000 on Stock A
- Lost Rs. 30,000 on Stock B
- Your net taxable gain is Rs. 20,000 (not Rs. 50,000)
Strategic implication: If you have unrealized losses in your portfolio near tax year-end, selling those positions to "harvest" the losses can reduce your CGT liability. This is called tax-loss harvesting.
How is CGT Collected?
Unlike salary income where tax is deducted at source by your employer, CGT on stocks works differently:
- Your broker deducts CGT at the time of selling through NCCPL (National Clearing Company of Pakistan Limited)
- This is a provisional/advance tax deduction
- You still need to declare these gains in your annual tax return
- At filing time, you reconcile what was already deducted against what you actually owe
Common misconception: "My broker already deducted tax, so I do not need to file." This is incorrect. The broker deduction is advance tax. You still need to report it.
What Reduces Your Taxable Gain?
Your capital gain is not simply "sale price minus buy price." You can deduct:
- Brokerage fees paid on both buy and sell sides
- CDC charges
- SECP fees
- FED/PST on brokerage commission
These transaction costs reduce your net gain, which reduces your tax. This is why tracking your actual transaction costs matters.
Example:
- Buy price: Rs. 100,000 + Rs. 200 fees = Rs. 100,200 (actual cost)
- Sale price: Rs. 130,000 - Rs. 250 fees = Rs. 129,750 (actual proceeds)
- Taxable gain: Rs. 129,750 - Rs. 100,200 = Rs. 29,550 (not Rs. 30,000)
Small difference per trade, but it adds up over dozens of transactions per year.
Dividends Are Taxed Separately
This catches some new investors off guard. Dividend income is taxed separately from capital gains:
- Filers: 15% withholding tax on dividends (deducted at source)
- Non-filers: 30% withholding tax on dividends
This is deducted before the dividend reaches your bank account. You receive the net amount. This tax is final - you do not need to pay additional tax on dividends (though you must report them).
Common Mistakes
Mistake 1: Ignoring CGT Entirely
"The amounts are small, FBR will not notice." Perhaps, but this creates problems if you ever want to justify your assets or if you are audited. And the amounts are not always small - a well-performing portfolio can generate substantial taxable gains.
Mistake 2: Not Tracking Cost Basis
If you do not know exactly what you paid for a stock (including fees), you cannot calculate your gain accurately. Many investors approximate and end up overpaying tax.
Mistake 3: Forgetting About FIFO
Selling shares from a stock you have bought at multiple prices requires FIFO treatment. Your broker handles this automatically for deduction purposes, but you should understand it for your own records.
Mistake 4: Assuming Holding Longer Reduces Tax
This was true under the old regime (stocks acquired before July 2024), where holding for 6+ years meant 0% CGT. Many investors still believe this applies. For any stock you buy today, the rate is a flat 15% regardless of holding period. Do not hold a losing position just for tax reasons - it no longer helps.
How Zarify Helps with Tax
While Zarify is not a tax filing tool, it helps you stay prepared:
- Per-trade cost tracking - Brokerage fees are recorded with each transaction, giving you accurate cost basis
- Holding period visibility - You can see how long you have held each position and when it was acquired, which determines your CGT regime
- Gain/loss per holding - Know exactly your unrealized gain on each stock before deciding to sell
- FIFO-based accounting - Your cost basis and gains are calculated using FIFO, matching how CGT is assessed
- Sell CGT percentage setting - Configure your tax rate in settings so that estimated CGT is factored into your portfolio calculations
The Bottom Line
CGT on PSX stocks is not complicated, but it does require you to keep good records. Know your acquisition dates, track your actual costs, and file as a filer. Under the current flat 15% regime, there is no holding period benefit for new purchases - but being on the Active Taxpayers List still makes a significant difference in your rate.
And if you are making investment decisions, always factor in the after-tax return. A 20% gain that is taxed at 15% is really a 17% gain. That might still be your best option, but you should know the real number.
Zarify tracks your cost basis, holding periods, and transaction fees so you always know where you stand on CGT. Free for all PSX investors.