Skip to main content
8 min read

How to calculate your adjusted cost base (ACB)

By Sammy · Updated Mar 5, 2026 ·
Illustration for How to calculate your adjusted cost base (ACB)

Part 2 of 6

This article is part of our Taxes and your portfolio series.

A friend called me last year in a mild panic. He’d sold a stock and needed to report the gain on his taxes. Simple enough. Except he’d bought that stock four different times over three years, at four different prices. “What did I even pay for this?” he asked. He had no idea. His brokerage showed him a total market value, but not the number he actually needed: his cost base.

This is one of those things that seems like it should be straightforward. You bought something, you sold it, the difference is your gain. But in practice, especially if you’ve been adding to a position over time or reinvesting dividends, the number you “paid” keeps changing. That changing number is your adjusted cost base, or ACB, and it matters more than you’d think.

None of this is financial or tax advice. Just the mechanics of how ACB works in Canada, explained the way I wish someone had explained it to me. Always confirm the details with the CRA or a tax professional, especially since rules can shift with any budget.

The simple version

Your adjusted cost base is the average cost of all the shares you own in a particular investment. Not the price you paid on any single purchase. The average across every purchase.

Here’s a quick example. Say you buy 10 shares of a stock at $50 each. You’ve spent $500 on 10 shares. Your ACB per share is $50. Easy.

A few months later, you buy 10 more shares of the same stock, but now the price is $60. You’ve spent another $600. You now own 20 shares and you’ve paid a total of $1,100. Your ACB per share is $1,100 divided by 20, which is $55.

That $55 is the number that matters. If you sell some or all of those shares, your capital gain (or loss) is calculated based on $55 per share, not $50 or $60.

Why ACB matters for taxes

In a non-registered account, you owe tax on capital gains. A capital gain is the difference between what you sold for and what you paid. But “what you paid” isn’t just the price on the day you first bought in. It’s your ACB.

If your ACB is wrong, your reported gain is wrong. You could end up overpaying tax or, worse, underpaying and hearing from the CRA. Neither is fun.

In registered accounts like a TFSA or RRSP, ACB doesn’t matter for tax purposes because gains aren’t taxed in those accounts. But in a taxable account, getting this number right is essential.

What changes your ACB

Buying more shares is the obvious one, but it’s not the only thing that adjusts your cost base.

Additional purchases. Every time you buy more of the same stock or ETF, your ACB gets recalculated as a weighted average of all your purchases.

Reinvested dividends (DRIPs). If you have a dividend reinvestment plan turned on, your dividends are used to buy more shares automatically. Each of those reinvested purchases increases your total cost and your share count, which changes your ACB. A lot of people forget this one. If you don’t account for DRIP purchases, you’ll overstate your gain when you sell.

Return of capital distributions. Some ETFs and funds pay distributions that are classified as return of capital (ROC). This isn’t income. It’s the fund returning part of your original investment. When you receive ROC, your ACB goes down. That means when you eventually sell, your gain will be larger. It’s not a bad thing necessarily, just something to be aware of. There’s a full guide on return of capital if you want the details.

Commissions. Trading commissions, if your brokerage charges them, get added to your cost when buying and subtracted from your proceeds when selling. Most online brokerages in Canada are commission-free now, so this is less of an issue than it used to be.

A worked example

Let’s walk through a slightly more realistic scenario.

You buy 100 shares of an ETF at $25 each. Total cost: $2,500. ACB per share: $25.

Six months later, you buy 50 more shares at $28. Total cost of this purchase: $1,400. You now own 150 shares with a total cost of $3,900. ACB per share: $3,900 / 150 = $26.

Then a DRIP kicks in and reinvests a $75 dividend, buying 2.5 shares at $30 (assuming your brokerage supports fractional shares, otherwise you’d get 2 shares). Cost of those shares: $75. You now own 152.5 shares with a total cost of $3,975. ACB per share: $3,975 / 152.5 = $26.07.

Later, you sell 50 shares at $32. Your proceeds are $1,600. Your cost for those 50 shares is 50 times your ACB of $26.07, which is $1,303.50. Your capital gain is $1,600 minus $1,303.50, which is $296.50.

After the sale, you still own 102.5 shares, and your ACB per share stays at $26.07. It doesn’t change when you sell. It only changes when you buy or when something like ROC adjusts it.

Common mistakes

The biggest mistake is ignoring DRIP purchases. If you’ve been reinvesting dividends for years, you might have dozens of tiny purchases that each adjusted your ACB. Miss those, and you’ll report a much higher gain than you actually owe tax on. You’d literally be overpaying.

The second mistake is using the price of your first purchase as your cost base. If you bought at $20 five years ago and the stock is now $40, it’s tempting to think your gain is $20 per share. But if you also bought at $30 and $35 along the way, your ACB is much higher than $20, and your actual gain is smaller.

The third is forgetting about return of capital. ROC distributions lower your ACB quietly over time. If you’ve held a fund for years that pays ROC, your ACB could be significantly lower than what you originally paid, meaning your taxable gain on sale will be larger than expected.

How to track it

Your brokerage might show you a “book value” or “average cost” on your account. Sometimes this matches your ACB. Sometimes it doesn’t. Brokerages aren’t required to track ACB for tax purposes, and their numbers can be off, especially after transfers between accounts or institutions.

The CRA expects you to track your own ACB. That means keeping records of every buy, every DRIP purchase, every ROC distribution, and every sell. You can do this in a spreadsheet, use a dedicated ACB tracking tool, or use software that does it automatically.

This is one of those areas where a small amount of ongoing effort saves a lot of headache at tax time. If you let it pile up for years, reconstructing your ACB from old statements is tedious.

What happens when you transfer between accounts

If you transfer shares from one brokerage to another, your ACB doesn’t change. The cost base follows the shares. But your new brokerage may not know what your ACB is, and might show an incorrect book value (often using the market price on the transfer date instead). Keep your own records so the transfer doesn’t mess up your numbers.

Transfers from a non-registered account into a TFSA or RRSP are treated as a sale at market value. You’ll trigger a capital gain (or loss) based on the difference between the market value and your ACB on the date of transfer. This catches some people off guard.

Keep it tidy from the start

ACB isn’t complicated if you stay on top of it. The math is basic. The hard part is remembering to update it every time something happens. Buy more shares? Update your ACB. DRIP reinvestment? Update. ROC distribution? Update.

If you’re investing in a non-registered account, tracking your ACB isn’t optional. It’s how the CRA expects you to calculate your gains.

Greenline calculates your ACB automatically across every holding, including DRIP purchases and return of capital adjustments. No spreadsheets required.

Spiral arrow

Your money stays where it is. Greenline just makes sense of it.

Connect all your accounts in one view:

Start now — it's free

We haven't finalized pricing yet, but early members will always get the best deal.