← Back to Blog

How to track adjusted cost base for DRIP shares in Canada

Most DRIP investors assume adjusted cost base only matters when they eventually sell. In a non-registered account, that is too late. Every reinvestment is a new purchase in the eyes of the CRA, and every purchase changes your ACB.

That is what catches investors off guard. DRIP feels automatic, so people assume the recordkeeping must also happen automatically. It often does not. Your broker may show a cost basis number, but for synthetic DRIPs and partial reinvestment events, that number may be incomplete or wrong. The responsibility is still yours.

The good news is the tracking system does not need to be complicated. You do not need a massive spreadsheet. You need a simple process, updated every reinvestment cycle, from the first DRIP event onward.

When ACB matters and when it does not

Adjusted cost base matters for DRIP holdings in a non-registered account. That is where capital gains and losses are calculated when you sell.

Inside a TFSA, ACB tracking is not relevant because there are no capital gains tax calculations on qualifying growth and withdrawals. Inside an RRSP, capital gains tracking also is not the issue because withdrawals are taxed as income later rather than based on security-level cost basis.

The mistake many Canadian investors make is building their DRIP habit inside a TFSA first, then carrying that same mental model into a taxable account. The investing behavior looks identical. The tax treatment does not.

How ACB works for DRIP shares

ACB is your average cost per share across the full position. Every time your dividend buys additional shares, the average must be recalculated.

New ACB per share = (previous total cost + new purchase cost) divided by total shares after reinvestment

In practice, that means each DRIP event does two things at once: it increases your share count and it increases the total dollars you have invested in that holding.

A simple worked example

Suppose you start with 200 shares at $45.00 per share in a non-registered account. Your total cost is $9,000, so your ACB is $45.00 per share.

Next quarter, your dividend produces $100.00 and the stock is reinvested at $47.20. If fractional shares are supported, the DRIP buys about 2.118 shares.

ItemValue
Starting shares200
Starting ACB per share$45.00
Starting total cost$9,000.00
Dividend used for reinvestment$100.00
Reinvestment price$47.20
New shares added2.118
New total shares202.118
New total cost$9,100.00
New ACB per share$45.02

The change looks tiny after one quarter. That is exactly why people ignore it. But after years of quarterly or monthly reinvestments, the gap between your true ACB and your guessed ACB can become large enough to distort your capital gains calculation meaningfully.

Whole-share versus fractional DRIP changes the math

Not every DRIP uses the full dividend amount to buy shares. Many Canadian broker DRIPs are synthetic and only buy whole shares. If your dividend is $100.00 and the share price is $47.20, you receive 2 shares for $94.40 and the remaining $5.60 is paid to you in cash.

That leftover cash does not increase ACB because it was not used to buy shares. Only the amount actually deployed into the purchase is added to the total cost base.

Common ACB mistake

If your broker only buys whole shares, do not use the full cash dividend as the added cost basis. Use only the amount that actually purchased shares.

This is one reason platform-reported cost basis can be unreliable. If you want a better sense of how whole-share rules affect the compounding side of the equation, compare the mechanics in the DRIP Engine Simulator.

The practical four-column tracking system

You do not need accounting software for a straightforward DRIP position. A clean spreadsheet with four running fields is usually enough:

DateShares addedPurchase amountRunning ACB per share
2024-01-152.118$100.00$45.02
2024-04-152.204$99.97$45.01
2024-07-152.089$99.94$45.03
2024-10-152.163$100.01$45.02

Keep one tab per holding. ACB is tracked per security, not per account. Pull the reinvestment price and share quantity from your broker statement or transaction history each time the DRIP posts.

What happens when you sell part of the position

A partial sale uses your current ACB per share to determine the gain on the shares sold. The remaining shares keep the same ACB per share after the sale.

  • • ACB per share: $45.03
  • • Sale price: $55.00
  • • Gain per share: $9.97
  • • Shares sold: 50
  • • Capital gain: $498.50
  • • Taxable capital gain at a 50% inclusion rate: $249.25

After the sale, you keep tracking future DRIP reinvestments on the reduced share count using that same per-share ACB as the new baseline.

Why this matters before you sell, not just when you sell

If your DRIP is active for years, you are creating dozens of future ACB events. Knowing that pace early is useful. It tells you whether your tracking habit needs to be monthly, quarterly, or simply more disciplined than it has been so far.

The DRIP Engine Simulator helps with the projection side of that. It shows how many shares your reinvestment engine is likely to generate and how quickly additional cost-basis events can accumulate as the position grows.

The takeaway

Adjusted cost base tracking for DRIP shares is not optional in a non-registered account. Every reinvestment is a purchase. Every purchase changes ACB. The math is manageable, but only if you start recording it before years of activity pile up.

The three key rules are simple: track ACB only where it matters, use the actual purchase amount if your DRIP buys whole shares only, and do not assume your broker's cost basis display is accurate enough to rely on without checking.

This content is for informational purposes only and does not constitute licensed financial advice. Tax rules and contribution limits are accurate as of 2026 and may change. Consult a qualified financial advisor before making investment decisions.

Free Weekly Digest

The Prospyr Dividend Brief

Get a free weekly Canadian dividend income tip — no spam, unsubscribe any time.