Most Canadian investors tracking adjusted cost base start with a spreadsheet. The CRA requires the weighted average pooling method — every share of the same security you hold across all non-registered accounts belongs to a single cost pool, and every new purchase recalculates the average cost per share for that pool.
This Excel template includes four sheets: Instructions (how to use the template and CRA rules), Transactions (the main data entry log with sample rows), ACB Summary (current ACB per share by security), and Capital Gains (gain/loss per sale using your ACB — not T5008 Box 20). The template opens in Google Sheets or Microsoft Excel without modification.
The Transactions sheet includes a dropdown for the Action column (Buy, Sell, DRIP, ROC Reduction, Phantom Income, Split, Transfer In, Transfer Out) and sample rows for a buy, a DRIP reinvestment, a return-of-capital adjustment, and a partial sale. The Capital Gains sheet includes pre-built formulas for calculating proceeds and gain/loss from the data you enter.
After each new purchase, update the pooled ACB using the formula shown in the template: (existing total ACB + new shares × price + commission) ÷ total shares held. The result is your new ACB per share. When you sell, use the Capital Gains sheet formula to calculate the gain based on your ACB — not T5008 Box 20.
When this template is no longer sufficient: Spreadsheets become unreliable when you hold the same security at two or more brokerages (requiring cross-account pooling), when an ETF distributes return-of-capital amounts that reduce your ACB annually, or when you have USD positions requiring per-trade Bank of Canada rate lookups. Those situations need dedicated ACB software to stay accurate. For a detailed comparison of when each approach is appropriate, see Adjusted Cost Base Spreadsheet for Canadian Investors. Before filing, use the Canadian Adjusted Cost Base Checklist to verify your records cover T5008 reconciliation, ETF ROC, multi-broker pooling, and every other required adjustment.