What box 20 actually reports
Box 20 on the T5008 is labelled "Cost or book value of securities." It is the broker's best guess at what you paid for the shares you sold that year. The key word is guess.
Brokers file the T5008 with the CRA for every non-registered disposition. The proceeds in box 21 are almost always correct — that's the actual sale price. Box 20 is the problem child.
Six reasons box 20 is wrong
Box 20 fails for structural reasons that no broker can fully solve:
| Reason | What happens | Effect on your gain |
|---|---|---|
| Blank / zero | Broker chose not to populate it — common at discount brokerages | If you copy this, your entire proceeds become a gain |
| Book value, not ACB | Internal accounting figure that ignores tax adjustments | Overstates or understates gain unpredictably |
| Account-limited | Only sees shares held at that broker, not pooled across all accounts | ACB is wrong if you hold the same stock elsewhere |
| Missing ROC adjustments | Return of capital reduces ACB yearly — most brokers don't track it | Understates your true gain (you owe more than shown) |
| No FX conversion | USD trades need BoC rate conversion on each applicable transaction date | Wrong CAD cost base for every US stock |
| Ignores corporate actions | Spin-offs, mergers, and stock splits reallocate ACB — rarely reflected | Cost base is wrong from the event date forward |
Most Canadians hold stocks at more than one broker. Canada's single-pool rule means your ACB for a security is pooled across every non-registered account. No single broker can see the full picture.
Real-world examples of box 20 failures
These are the patterns we see most often:
- DRIP investors: You've reinvested dividends for 8 years. Each reinvestment is a purchase that raises ACB, but box 20 often shows only the original purchase price — understating your cost base by thousands.
- ETF holders with return of capital: Funds like ZWC or XEI pay ROC distributions that reduce your ACB annually. Box 20 almost never reflects these reductions — so it overstates your cost base, understating your gain.
- Transferred-in shares: You moved stock from Wealthsimple to Questrade. The new broker has no history of your original purchases — box 20 is blank or uses the transfer-in market value.
- US stocks: You bought AAPL at US$150 when the exchange rate was 1.28, but box 20 shows $150 with no conversion — or uses the wrong rate.
What the CRA actually expects from you
The CRA does not expect you to copy box 20 onto Schedule 3. They expect:
- Correct proceeds — usually matching box 21
- Correct adjusted cost base — your own calculation, pooled across all accounts, with all adjustments applied
- Outlays and expenses — commissions paid on the sale
When your ACB differs from box 20, you override it. The CRA may ask for supporting records later — you should be able to produce a history of purchases, DRIPs, corporate actions, and T3 slip ROC that build up to your reported figure.
How to fix it before you file
The reconciliation process:
- Gather every T5008 — you may get one from each broker, plus separate ones for options and fixed income.
- Match each slip to your records — confirm the security, quantity, and trade date align with your own trade history.
- Replace box 20 with your pooled ACB — this is the adjusted cost base that accounts for all purchases, DRIPs, ROC, FX, corporate actions, and sales across every account.
- Flag mismatches — a blank box 20 is simply replaced. A wrong box 20 should be documented in case the CRA queries the discrepancy.
- Report on Schedule 3 — the corrected figures flow to Schedule 3, section 3 (publicly traded securities).
How the CRA uses T5008 data in matching
The CRA receives your T5008 electronically and runs automated matching against your Schedule 3. They flag:
- Missing dispositions — a T5008 was filed but no corresponding Schedule 3 entry exists.
- Proceeds mismatches — your reported proceeds differ materially from box 21.
- Suspiciously low gains — your cost base is much higher than what any reporting institution supplied.
They do NOT flag you simply for overriding box 20 with a different cost base — they expect this to happen. What triggers review is an unexplained discrepancy without supporting documentation.