All posts From the Mozaic blog

ACB vs the book value your broker shows: why they disagree (2026)

Your broker's book value and your adjusted cost base for the CRA are two different numbers, and the gap is where capital-gains errors happen. Here is why they diverge, with worked Canadian examples.

6 min read
A quiet Quebec coastal town, standing in for the careful reconciliation an adjusted cost base requires.

Every Canadian with a non-registered investment account eventually meets two numbers that are supposed to be the same and are not. One is the book value your broker prints next to each holding. The other is the adjusted cost base, or ACB, that the Canada Revenue Agency expects you to use when you calculate a capital gain. People assume the broker's number is the tax number. It often is not, and the gap is exactly where reassessments come from.

This is not a case of brokers being careless. The ACB is a whole-taxpayer concept that no single broker has the information to compute, because the pieces of it live in accounts at other institutions, in tax slips that arrive months later, and in rules the broker's software does not apply. This guide walks through the four main reasons the numbers diverge, with worked examples, so you know when to trust the broker's figure and when to do the arithmetic yourself. The CRA's own reference is the page on adjusted cost base.

First, where ACB matters and where it does not

ACB is only a taxable-account problem. Capital gains inside a TFSA, RRSP, FHSA, or RESP are sheltered, so there is nothing to report and no cost base to maintain. Everything below applies to non-registered accounts (cash and margin) only. If all your investing happens inside registered accounts, you can stop reading and go do something more pleasant.

Reason 1: the identical-property pooling rule

The CRA does not track your shares account by account. It treats every unit of the same security as one pool, and your ACB per share is the single blended average across that entire pool, no matter how many accounts or brokers hold it.

Worked example. You buy the same ETF twice, in two different non-registered accounts:

  • Broker A: 100 units at $50, plus $10 commission → cost $5,010
  • Broker B: 100 units at $60, plus $10 commission → cost $6,010

Your true ACB pools both: $11,020 for 200 units, or $55.10 per unit.

But Broker A's statement shows a book value of about $50.10 per unit, and Broker B's shows about $60.10. Neither is $55.10, because neither broker can see the other's account. Sell 50 units at Broker A and its slip will compute your gain off $50.10, overstating your gain and, if you trust it, making you overpay. Sell at Broker B and you would understate it. Only the pooled $55.10 is correct, and only you can compute it, because only you can see both brokers at once.

Reason 2: transfers in kind reset the wrong number

Move shares from one of your brokers to another "in kind" (the shares themselves, not sold and rebought) and your ACB does not change one cent. It is the same property in your hands. But the receiving broker frequently sets the incoming book value to the market value on the transfer date, not your original cost.

If you bought at $30 and transfer when the stock is $45, the new broker may now show a book value of $45. Sell later and its slip understates your gain by $15 per share against the CRA's view. The fix is unglamorous: record your real ACB before any in-kind transfer and carry it across yourself, because the receiving institution almost never will.

Reason 3: return of capital and reinvested distributions

This is the reason that catches long-term ETF and REIT holders, and it moves the ACB in both directions.

Return of capital (ROC) is a distribution that is really a piece of your own capital handed back, common in REITs and some ETFs. It is reported on a T3 slip (box 42) and it reduces your ACB. Worked example:

  • You own 1,000 units, ACB $20,000 ($20.00 per unit).
  • Over the year the fund distributes $400 that is classified as return of capital.
  • Your ACB drops to $19,600 ($19.60 per unit).

Your broker's book value almost certainly still reads $20,000, because the T3 arrives in the new year and the broker does not adjust for it. Sell using the broker's $20,000 and you understate your gain by $400. Do it every year for a decade across several funds and the drift is real money, and the CRA has the slips to notice.

Reinvested (notional) distributions push the other way. Some ETFs reinvest a capital-gains distribution without paying cash, reported on a T3 but with no deposit to your account. These increase your ACB. Miss them and you will eventually pay tax twice on the same dollars: once as the reinvested distribution in the year, and again as an inflated capital gain when you sell because your ACB was left too low. Brokers routinely miss these too.

Reason 4: the superficial loss rule

Sell something at a loss to harvest it, and the loss can be denied. Under the superficial loss rule, if you or an affiliated person (your spouse, a corporation you control, or your own RRSP or TFSA) buys the identical property in the window from 30 days before to 30 days after the sale, and still holds it at the end of that window, the loss is disallowed. It is not gone forever; it is added to the ACB of the repurchased shares. But your broker will happily report the loss as if it were deductible, because it cannot see the repurchase in your spouse's account or your TFSA. Applying this rule is on you.

The USD wrinkle

If the security trades in US dollars, your ACB must still be kept in Canadian dollars, converted at the exchange rate on the date of each purchase, and the sale proceeds converted at the rate on the sale date. A broker reporting book value in US dollars is not giving you an ACB at all. The currency move between your buy and your sell is itself part of the taxable gain or loss, a point the companion guide on how USD accounts affect your Canadian net worth develops.

What the T5008 does and does not tell you

At tax time your broker issues a T5008 for dispositions. Its cost or book value box is frequently blank, and when it is filled it carries the broker's book value, with all the limitations above. The CRA itself cautions that the amount on a T5008 may not be your ACB. Treat the T5008 as a record that a sale happened and for how much, not as the final word on your cost.

How Mozaic helps

Mozaic does not file your taxes or compute your ACB for you; that number depends on tax slips and rules that belong with an accountant or a dedicated ACB tool. What the Mozaic investment tracker does is remove the hardest part of getting it right: seeing every non-registered holding and transaction across all your brokers in one dated Canadian-dollar ledger (read-only, via SnapTrade and Plaid). Because the identical-property pool spans accounts your brokers cannot see into each other, having every buy, sell, and transfer for the same security lined up in one place is the raw material a correct pooled ACB is built from, instead of three separate statements that each average only their own slice.

The connection is read-only, so Mozaic cannot trade or move shares; it reads what settled. It will not adjust for a return-of-capital box on a T3 or apply the superficial loss rule for you, and it does not pretend to. It gives you the consolidated transaction history those calculations start from. For the return side of the same accounts, the guide on calculating your real return across brokers covers the other number people get wrong.

The bottom line

Your broker's book value and your adjusted cost base are different numbers because the ACB pools identical property across every account you own, adjusts for return of capital and reinvested distributions reported on slips the broker never sees, absorbs disallowed superficial losses, and is always kept in Canadian dollars. No single broker has the inputs to compute it, which is why the number on the statement, and the one on the T5008, is a starting point and not the answer. Keep the pooled math yourself, or hand a complete cross-broker transaction history to whoever does.

If you would like every non-registered transaction across your brokers in one Canadian-dollar ledger to build that pooled cost base from, the 14-day free trial needs no card.

Frequently asked

Not reliably. Book value is what one broker records for the shares held inside that one account. Adjusted cost base is a CRA concept that pools every identical share you own across all your non-registered accounts and adjusts for events the broker often cannot see, such as return of capital, reinvested distributions, and superficial losses. When you hold the same security at two brokers, neither broker's book value equals your true ACB.
No. Adjusted cost base only matters for non-registered (taxable) accounts, because that is where capital gains are taxed. Gains inside a TFSA, RRSP, FHSA, or RESP are sheltered, so there is no capital gain to report and no ACB to maintain. ACB tracking is purely a taxable-account chore.
The CRA treats every unit of the same security as one pool for computing adjusted cost base, regardless of which account or broker holds it. If you own 100 shares of a stock at one broker and 100 more at another, your ACB per share is the single blended average across all 200. Each broker only averages its own 100, so each shows a number that is not your real ACB.
Many brokers set the book value of transferred-in shares to their market value on the transfer date rather than carrying over your original cost. That is convenient for the broker and wrong for your taxes. Your adjusted cost base does not change when you move shares in kind between your own accounts, so you have to carry the real ACB across yourself, because the receiving broker usually will not.