Capital gains and the adjusted cost base
A capital gain is the amount by which what an investment sells for exceeds what it cost. In a non-registered account the gain is taxed when the investment is sold, not while it grows. Inside a TFSA a gain is never taxed, and inside an RRSP it is taxed only as the money is withdrawn, as ordinary income.
The rules
- Half of a gain is taxable. The inclusion rate for individuals is 50%. The proposed increase to two thirds above $250,000 was cancelled in March 2025.
- The taxable half is added to other income and taxed at the person's own marginal rate, so the tax on a gain depends on the brackets it lands in.
- The adjusted cost base (ACB) is what the investment cost: the purchase price plus commissions and other costs of buying it.
- Identical investments are averaged. Shares or fund units of the same kind, held across all of a person's non-registered accounts, form one pool with one average cost per unit. A sale uses the average, not the price of a particular purchase.
- The gain is proceeds of the sale, less the ACB of the units sold, less the costs of selling (commissions, legal fees).
- A reinvested distribution adds to the ACB of the units it buys. A return of capital from a fund or trust lowers it. The ACB cannot go below nil: any shortfall is treated as a gain in that year and the ACB resets to nil.
The formula
gain = proceeds − selling costs − (ACB × units sold ÷ units held)
taxable amount = gain × 50%
What the engine does
- Keeps one pool per person for a non-registered account, with a unit count and an ACB. A contribution buys units at the current value; a withdrawal sells the units that amount is worth, at average cost.
- Takes the account's annual return as growth in the price of the units. Nothing is taxed until a sale, so the gain is realised in the month units are sold, and the tax on it settles with the return the following April.
- Applies the 50% inclusion to the person's own bracket. A loss is handled as described in capital losses.
- Treats an ACB left blank as equal to the opening balance. That assumes no gain had accrued before the plan began, so tax on any earlier growth is left out, and the plan says so.
- Applies a separate gain rule to a home that is sold; see the principal residence exemption and selling a home.
What it deliberately does not
- It does not tax unsold growth at the end of the plan, so net worth shows investments at full value with no tax set aside for a future sale.
- It does not read T5008 slips or track purchases lot by lot. One pool, one average cost.
- It does not model currency conversion on foreign holdings or corporate actions such as splits and mergers.