How to Calculate Adjusted Cost Base in Canada

myCostBase
12 min read

Adjusted cost base (ACB) is the number the CRA uses to determine how much of your capital gain or loss is taxable when you sell an investment. Calculating it correctly is your legal responsibility — your broker’s book value is not the same thing, and tax filing software does not calculate it for you. This guide walks through the complete calculation, with worked examples for both stocks and ETFs.

What adjusted cost base means

Adjusted cost base is the average cost per share of an investment, calculated across all taxable accounts you hold for that security, and adjusted over time for events that change your cost. When you sell, your capital gain is:

Proceeds of disposition − Adjusted cost base − Selling commissions = Capital gain or loss

The “adjusted” part refers to changes that happen after purchase: return of capital distributions that reduce your cost, DRIP reinvestments that add to it, stock splits that change the per-share amount, and transfers between brokerages that must carry the original cost forward.

For a plain-language introduction to what ACB means and why it matters, see What Is Adjusted Cost Base in Canada?

The adjusted cost base formula

After each new purchase, recalculate ACB per share using:

1
New ACB per share = (Existing total ACB + New shares × Price per share + Commission) ÷ Total shares held

When you sell:

1
2
Capital gain = (Sale price per share × Shares sold) − Commission
             − (ACB per share × Shares sold)

After the sale, your ACB per share stays the same — only the total number of shares changes. The per-share ACB does not change until your next purchase or an adjustment event.

Example 1: Simple stock purchase and sale

Purchase:

  • Buy 100 shares of RY.TO at $130.00 per share
  • Commission: $9.95

Total cost = (100 × $130.00) + $9.95 = $13,009.95 ACB per share = $13,009.95 ÷ 100 = $130.10

Sale (all shares):

  • Sell 100 shares at $145.00 per share
  • Commission: $9.95

Proceeds = (100 × $145.00) − $9.95 = $14,490.05 Capital gain = $14,490.05 − $13,009.95 = $1,480.10

Example 2: Multiple purchases — weighted average for stocks

This is the most common situation for long-term investors who add to positions over time.

Transaction history for CNR.TO:

DateActionSharesPriceCommissionRunning ACB totalACB per share
Jan 2022Buy50$168.00$9.95$8,409.95$168.20
Aug 2022Buy30$152.00$9.95$13,979.95$174.75
Mar 2023Buy20$175.00$9.95$17,489.95$174.90

After three purchases: Total shares = 100, Total ACB = $17,489.95, ACB per share = $174.90

Partial sale — June 2024:

  • Sell 40 shares at $180.00
  • Commission: $9.95

Proceeds = (40 × $180.00) − $9.95 = $7,190.05 ACB deducted = 40 × $174.90 = $6,996.00 Capital gain = $7,190.05 − $6,996.00 = $194.05

After the sale: 60 shares remain. ACB per share stays at $174.90. Total ACB = 60 × $174.90 = $10,494.00.

The per-share ACB does not change when you sell a partial position. Only the share count decreases.

Adjusted cost base for individual stocks vs. ETFs

For individual stocks (e.g., Canadian bank stocks, Canadian railway stocks, U.S. individual equities), the ACB calculation is primarily driven by purchases, sales, commissions, and any stock splits. The mechanics are straightforward once pooling across accounts is handled correctly.

For ETFs and mutual funds, the ACB calculation is more complex because several additional annual adjustments must be applied:

  • Return of capital (ROC) distributions reduce ACB each year they are paid (T3 or T5 Box shows ROC amounts)
  • Reinvested capital gains distributions (phantom income) increase ACB — you pay tax on income you didn’t receive as cash, so CRA lets you add it to your cost
  • DRIP reinvestments add new shares at the distribution date price, increasing both share count and total ACB

Investors in broad Canadian ETFs (XEQT, VEQT, XBAL, VBAL, etc.) often deal with small annual ROC amounts from the underlying bond allocations. U.S.-listed ETFs (VTI, QQQ, etc.) frequently have reinvested capital gains distributions that increase ACB.

For stocks, missing a stock split changes the share count and ACB per share but not the total ACB. A 2-for-1 split doubles your shares and halves the ACB per share.

Example 3: ETF with return of capital adjustment

Scenario: You hold 200 units of a Canadian bond ETF.

Purchase: 200 units at $20.00 = $4,000.00 ACB. ACB per unit = $20.00.

Year 1 distribution: ETF pays $0.30 per unit in return of capital.

ROC adjustment = 200 × $0.30 = $60.00 New total ACB = $4,000.00 − $60.00 = $3,940.00 New ACB per unit = $3,940.00 ÷ 200 = $19.70

Year 2 distribution: ETF pays $0.25 per unit in return of capital.

ROC adjustment = 200 × $0.25 = $50.00 New total ACB = $3,940.00 − $50.00 = $3,890.00 New ACB per unit = $3,890.00 ÷ 200 = $19.45

Sale after Year 2: Sell all 200 units at $21.50 per unit. Commission: $9.95.

Proceeds = (200 × $21.50) − $9.95 = $4,290.05 ACB = 200 × $19.45 = $3,890.00 Capital gain = $4,290.05 − $3,890.00 = $400.05

Without the ROC adjustments, you would have reported: $4,290.05 − $4,000.00 = $290.05 in capital gains — $110 less than the correct amount.

For more detail on how ROC works and where to find the per-unit amounts, see ETF Return of Capital and Adjusted Cost Base.

Example 4: Pooling across two brokerages

CRA treats all shares of the same security held in taxable accounts by the same investor as a single pool. If you hold 200 shares at Wealthsimple and 100 shares at Questrade, your ACB is calculated across all 300 shares.

Transaction history for XEQT:

AccountDateActionSharesPriceCommissionContribution to pool
WealthsimpleApr 2021Buy200$25.00$0$5,000.00
QuestradeNov 2021Buy100$28.50$4.95$2,854.95

Total pool after both purchases:

  • Total shares: 300
  • Total ACB: $7,854.95
  • ACB per share: $7,854.95 ÷ 300 = $26.18

When you sell 50 shares from your Wealthsimple account:

  • ACB deducted = 50 × $26.18 = $1,309.00
  • NOT 50 × $25.00 = $1,250.00 (the Wealthsimple-only cost)

For a full walkthrough of multi-brokerage ACB pooling, see Pooled ACB Across Multiple Brokerages.

Calculating ACB for USD stocks

Canadian tax law requires all capital gains to be reported in Canadian dollars. For USD-denominated securities, you must convert the purchase price to CAD using the Bank of Canada exchange rate on the trade date of each transaction.

Purchase:

  • Buy 50 shares of AAPL at USD $175.00 on a day when 1 USD = 1.3542 CAD
  • Commission: USD $1.00

CAD purchase price per share = $175.00 × 1.3542 = $236.99 CAD CAD commission = $1.00 × 1.3542 = $1.35 CAD Total ACB = (50 × $236.99) + $1.35 = $11,851.35 CAD ACB per share = $11,851.35 ÷ 50 = $237.03 CAD

Sale:

  • Sell 50 shares at USD $195.00 on a day when 1 USD = 1.3210 CAD
  • Commission: USD $1.00

CAD proceeds = (50 × $195.00 × 1.3210) − ($1.00 × 1.3210) = $12,849.75 − $1.32 = $12,848.43 CAD ACB = 50 × $237.03 = $11,851.50 CAD (rounding to nearest cent) Capital gain = $12,848.43 − $11,851.50 = $996.93 CAD

Note that even if the stock price rose in USD terms, the capital gain in CAD terms depends on both the price change and the exchange rate change. A weakening Canadian dollar amplifies gains; a strengthening Canadian dollar reduces them.

You must use the Bank of Canada daily rate — not an annual average, not your broker’s convenience conversion, and not the rate on settlement date. The trade date rate is the CRA standard. See How to Use Bank of Canada FX Rates for Canadian Capital Gains for the exact lookup procedure.

Transactions that change your adjusted cost base

EventEffect on ACB
New purchase (buy)Increases total ACB, recalculates ACB per share upward or downward
DRIP reinvestmentIncreases total ACB and share count; treated like a new buy at distribution price
Return of capital (ROC)Decreases total ACB, lowers ACB per share
Phantom income / reinvested gainsIncreases total ACB (you paid tax; CRA lets you add it to cost)
Stock split (2-for-1)Doubles shares, halves ACB per share; total ACB unchanged
Stock consolidationReduces shares, increases ACB per share; total ACB unchanged
Transfer between taxable accountsACB carries through at original cost — no reset
Transfer from registered account (e.g., RRSP to non-registered)Treated as a new purchase at fair market value on transfer date
Superficial loss denialDenied loss is added to the ACB of repurchased shares

CRA adjusted cost base calculation: what the rules require

CRA’s requirement is the weighted average pooling method. Every time you buy additional shares, the new cost is averaged into the existing pool. You do not track lots separately (FIFO, LIFO, or specific-share identification are not permitted for Canadian investors in taxable accounts for identical property).

The relevant CRA guidance is in the Income Tax Act, specifically section 47 (identical properties) and section 53 (adjustments to cost base). CRA’s Capital Gains guide (T4037) also covers the mechanics in plain language.

For a capital gains claim to be defensible on audit:

  • Keep records of every purchase date, price, and commission
  • Document every ROC adjustment with the T3 or ETF provider data used
  • Record the Bank of Canada FX rate for every USD transaction
  • Maintain a running ACB ledger from first purchase through final disposition

Common ACB calculation mistakes

Mistake 1: Calculating ACB per brokerage instead of across all taxable accounts. Every brokerage sees only its own side. If you hold the same ETF at Wealthsimple and Questrade and calculate a separate ACB at each, both figures are wrong for CRA purposes. The single pooled ACB is the legal requirement.

Mistake 2: Using T5008 Box 20 as your ACB. T5008 Box 20 is your broker’s cost or book value — an account-local figure that may not reflect transfers, ETF adjustments, or pooling. It is a useful starting point for reconciliation, but it is not your legal ACB. For more on this distinction, see T5008 Box 20 and Adjusted Cost Base.

Mistake 3: Missing return of capital adjustments. ETFs that distribute ROC reduce your ACB annually. Investors who track ACB in a spreadsheet but only record buy and sell transactions miss these adjustments entirely. Over five to ten years of ROC, the cumulative error can reach thousands of dollars.

Mistake 4: Using an annual average FX rate for USD stocks. CRA requires the Bank of Canada daily rate on the trade date. Using an annual average introduces error in each direction depending on how the exchange rate moved during the year.

Mistake 5: Not carrying ACB through transfers. When you move shares from one taxable brokerage to another, the receiving broker may book the transfer at current market value. For ACB purposes, your original cost carries through unchanged. Using the broker’s reset book value overstates ACB for long-held positions, which understates your eventual capital gain — a CRA reassessment risk.

Mistake 6: Forgetting DRIP shares. Every dividend reinvestment adds new shares at cost. Over years of monthly DRIP participation, the cumulative cost addition can be material. Omitting DRIP from ACB records overstates the taxable capital gain at sale.

How to track adjusted cost base

Option 1: Spreadsheet. A spreadsheet works for simple situations — one brokerage, one or two securities, no ETF distributions or DRIP. You need columns for date, ticker, action, shares, price, commission, and a running ACB calculation. The adjusted cost base spreadsheet template has the column structure and the weighted average formula pre-built. The template also includes example rows for a buy, a DRIP reinvestment, and a partial sale.

Spreadsheets become unreliable when you add cross-brokerage pooling, annual ROC adjustments from multiple ETF providers, and USD FX conversions at each transaction date.

Option 2: Dedicated ACB software. myCostBase maintains a pooled ACB ledger across all taxable accounts, applies ETF distribution adjustments, handles Bank of Canada FX conversion automatically, and produces the reconciled capital gains detail you need for Schedule 3 at tax time. You can start with manual entry on the free plan. For a complete guide to what an ACB tracker needs to maintain and how multi-brokerage pooling works, see ACB Tracker for Canadian Investors.

For a side-by-side comparison of when spreadsheets are enough and when software becomes necessary, see the adjusted cost base spreadsheet guide. Before filing, work through the Canadian Adjusted Cost Base Checklist to confirm every ACB record, T5008 slip, and distribution adjustment is complete.

Frequently asked questions

How often do I need to recalculate ACB? Recalculate after every event that affects cost: each purchase, each DRIP reinvestment, each ROC adjustment (annually, when T3 slips arrive), and each split or consolidation. You do not need to recalculate after a sale — the per-share ACB is unchanged; only the share count decreases.

What if I don’t have the original purchase records? CRA expects you to be able to support your capital gains calculations on audit. If records are missing, contact your broker — most maintain historical transaction records for at least seven years, though older records may be unavailable. Some investors reconstruct from brokerage statements, T5008 slips from prior years, and annual DRIP confirmation letters. Where reconstruction is necessary, document your methodology and sources.

Does ACB matter for shares held in a TFSA or RRSP? No. Shares held in registered accounts (RRSP, TFSA, FHSA, RESP) are not subject to capital gains tax when sold. ACB tracking only applies to non-registered (taxable) accounts. If you transfer shares from a registered to a non-registered account (a rare situation), the transfer is treated as a disposition from the registered account and a new acquisition in the non-registered account at fair market value.

Can I use the FIFO method instead of weighted average? No. Canadian tax law requires the weighted average pooling method for identical properties held in taxable accounts. You cannot designate specific lots for disposition or use FIFO/LIFO. Each time you buy, the new cost is pooled into the existing average.


This article is for general educational purposes only and is not tax, legal, or financial advice. Adjusted cost base calculations depend on your complete transaction history and personal circumstances. Consult a qualified tax professional for advice specific to your situation.

Start free. No credit card required.

myCostBase calculates your adjusted cost base automatically — pooled across brokerages, adjusted for ETF distributions, converted at Bank of Canada rates.
Create free account →

Free plan includes unlimited manual entry.