All posts From the Mozaic blog

How to track multiple brokerage accounts in one place — a Canadian's guide

A Canadian-tax-aware walkthrough of how to actually consolidate Wealthsimple, Questrade, IBKR, and the big-six brokerages into one read-only net-worth picture.

11 min read
Montréal's downtown skyline glows at dusk, lights reflected across the St. Lawrence River.

You have a TFSA at Wealthsimple, an RRSP at Questrade, a non-registered margin account at Interactive Brokers, maybe a Group RRSP at Canada Life from a former employer, and an FHSA you opened at your bank because it had the simplest signup flow. You can log into each one separately. What you can't do — from inside any of those apps — is see the whole picture.

This is the most common power-user problem in Canadian personal finance, and it has a real answer that doesn't involve a spreadsheet you update on Sunday nights. The answer also isn't "switch everything to one broker," because there are good reasons each of those accounts is where it is. This is a calm walkthrough of how aggregation actually works in Canada, what it can and can't do, and the workflow that gets you to a single, accurate net-worth view across every broker you use.

Why the big-six bank apps don't solve this

The first thing most people try is the app from their main bank, on the theory that RBC or TD must have built a tool for this. They haven't, and they aren't going to.

The bank apps show you the accounts you hold at that bank — your chequing, your savings, your credit card, and the brokerage account at the bank's own direct-investing arm. RBC Online sees RBC Direct Investing. TD WebBroker sees TD Direct Investing. They don't talk to each other and they don't read Wealthsimple, Questrade, or Interactive Brokers, because none of those brokers have given the banks API access and the banks have no commercial incentive to consolidate accounts that aren't theirs.

This is by design. A bank consolidating a competitor's balances into its app would be subsidising the competitor's customer retention. The result is that "see all your investments in one place" is a job for an independent third party, not for any of the institutions holding the money.

What aggregation actually does

Aggregation, in the technical sense Canadians actually use it, means a third-party service holds a read-only authorization token for each of your brokers. The service connects to the broker on your behalf — usually overnight, sometimes more often — pulls your current holdings, balances, transaction history, and book values, and renders the combined picture in one dashboard.

The important word in that paragraph is read-only. The token granted to the aggregator cannot place a trade, initiate a transfer, change a beneficiary, or move cash. It can ask the broker "what does this customer hold?" and that's the entire scope of the permission. If the aggregator's database were compromised tomorrow, the attacker would learn what you own — bad — but they would not be able to do anything with the connected accounts. This is a fundamentally different risk surface from a stolen broker password.

Aggregation also doesn't change anything on the broker side. Your Wealthsimple TFSA still has its book values calculated by Wealthsimple. Your Questrade RRSP still issues its own contribution receipt. Your IBKR margin account still produces its own T5008 at year-end. The aggregator is a viewing layer, and revoking the connection is a one-click operation that leaves your underlying accounts untouched.

What aggregation doesn't do (transfer-in-kind is the other thing)

It's worth being explicit about what aggregation is not, because the words "consolidate accounts" get used to mean both things and they are very different in practice.

Aggregation is a viewing layer. Your shares stay where they are.

A transfer-in-kind (TIK) is an actual change of custodian: you instruct Broker A to send your specific positions to Broker B, keeping the positions but changing the institution that custodies them. The TIK form is processed by both brokers, settles through CDS Clearing, takes six to eight weeks at the typical pace, and may incur a transfer-out fee (typically $135–$200, often reimbursed by the receiving broker).

The reason this matters: if your goal is "I only want to log into one place," aggregation solves it. If your goal is "I have too many brokers and want to actually close some accounts," that's a transfer-in-kind decision, and it has tax implications for non-registered accounts (your adjusted cost base follows the shares, but you'll need to verify the receiving broker recorded the right book values — they often arrive at $0 ACB and have to be corrected manually).

For most Canadians with multi-broker setups, aggregation is the right answer. Transfer-in-kind is the right answer when you actually want fewer brokers, not just fewer dashboards.

The Canadian aggregator landscape, briefly

The aggregator market in Canada has converged on two read-only standards plus a long tail of screen-scrapers that work less reliably.

  • Plaid is the dominant pipe for Canadian banks and a handful of brokers. Plaid reads from Wealthsimple, RBC, TD, Scotia, BMO, CIBC, National, Tangerine, Simplii, and most credit unions for chequing/savings/credit-card balances. Investment data through Plaid in Canada is real but uneven — Wealthsimple shows up well, the big-six direct-investing brokerages are partial, and book-value fields are sometimes missing because the underlying API doesn't expose them.
  • SnapTrade is the read-only API standard purpose-built for brokerages. It connects to Wealthsimple, Questrade, Interactive Brokers, Robinhood, Fidelity, Schwab, Tastytrade, E*TRADE, and a long and growing list of others. SnapTrade exposes holdings, positions, transactions, balances, and (where the broker provides them) book values. This is the cleanest path to the multi-broker picture for Canadians.
  • Screen-scraping aggregators — Yodlee being the most common — log into your broker's web interface using your credentials and parse the HTML. They cover institutions that don't have API access, but the trade-off is that you give the aggregator your login (not just a read-only token), and the broker's terms of service usually prohibit this. Wealthsimple in particular has occasionally locked accounts that connected via screen-scrapers, so it's worth checking which standard a given aggregator uses before signing up.

If an app advertises Canadian brokerage support, it's almost certainly riding SnapTrade. If an app advertises Canadian bank support, it's almost certainly riding Plaid. The combination of the two is what produces a complete picture.

TFSA, RRSP, FHSA, and the registered-vs-non-registered split

The thing that makes Canadian aggregation more interesting than the US version is the registered-account ecosystem. A US aggregator can mostly assume "401(k) + Roth IRA + taxable brokerage" and call it done. A Canadian aggregator has to handle TFSA, RRSP, RESP, FHSA, LIRA, RRIF, LIF, and Group RRSP / DPSP, plus the non-registered cases (cash, margin, joint, corporate).

This matters at three levels:

Contribution room. Your TFSA contribution room is a CRA-level number that is not visible to any single broker. If you have a TFSA at Wealthsimple with $40,000 and a TFSA at Questrade with $60,000, neither broker knows about the other, and neither broker knows what your total CRA-side room actually is. An aggregator can sum your across-broker TFSA balances, but to know your remaining room you have to pull the CRA "My Account" figure (the only authoritative source). A good aggregator either pulls the CRA figure for you or makes it clear that the on-app TFSA total is a balance, not a room.

RRSP versus FHSA. The FHSA (First Home Savings Account, available since April 2023) and the RRSP have overlapping tax treatment and separate contribution room. If you hold both, your aggregator should show them as separate registered-account types rather than collapsing them into a single "tax-sheltered" bucket — confusing your FHSA balance with your RRSP balance is a real risk for first-time aggregator users.

Locked-in plans. A LIRA from a former employer is a different beast — locked until retirement, with provincial rules that differ from the federal RRSP rules. An aggregator should categorize it correctly; if it gets lumped into "RRSP," your withdrawal planning will be wrong by a meaningful amount.

The practical rule: when you first connect a registered account to an aggregator, double-check the account type label. They're usually correct, but the failure modes (FHSA labeled as TFSA, LIRA labeled as RRSP) lead to bad decisions if uncaught.

Multi-currency: CAD and USD in the same view

Most Canadians who hold any US stocks (and most do, directly or through ETFs) have a multi-currency problem the moment they try to see their portfolio in one place.

The right way to handle this:

  • Hold native currencies. Don't convert. A US-listed stock belongs in your USD subaccount; a Canadian-listed ETF in CAD. IBKR and Questrade have explicit USD sub-accounts; Wealthsimple has them as of 2024.
  • Daily FX for the display. Your aggregator should convert USD positions to a display CAD value using the day's exchange rate, and re-convert nightly. The position itself doesn't change; only the display does. Aggregators that pre-convert at the time of purchase and then never update produce wrong numbers within a week.
  • Book value in the currency of purchase. This is the one that gets people. The adjusted cost base of a USD-denominated security is in CAD at the date of purchase. If you bought 100 shares of AAPL at $150 USD when the rate was 1.30, your CAD ACB is $19,500. The display value next year using a 1.35 rate is different but doesn't change your ACB. Your aggregator should either store the original CAD ACB (the right behaviour) or recompute it from broker data on import.

For non-registered accounts, the CAD ACB matters when you sell, because the capital gain/loss is calculated in CAD on both sides. Most brokers do this correctly. Some aggregators get confused and use the current FX rate for both the purchase and the sale, which produces an inflated or deflated gain. If you're checking an aggregator before tax season, sanity-check one closed position against the broker's own gain/loss statement.

How tax slips work when accounts are aggregated

This is the question that comes up every February.

Aggregation does not change which institution issues your tax slips. Each broker issues its own:

  • T5008 — proceeds of disposition for each non-registered sale. One per broker per year.
  • T3 — trust distributions from ETFs and mutual funds in non-registered accounts.
  • T5 — interest, Canadian dividends, foreign income from non-registered accounts.
  • RRSP contribution receipt — issued by the broker that received the contribution.
  • NR4 — non-resident withholding tax on US dividends (the W-8BEN flow).

Your aggregator does not consolidate these slips. What it can do is help you reconcile — at year-end, the sum of dispositions across all your non-registered accounts in the aggregator should match the sum of your T5008s. If it doesn't, a connection probably missed a corporate action (split, spin-off, return of capital) and you should check the broker's own statement.

Aggregator during the year, slips at year-end. Don't use the aggregator instead of the slips for filing; do use it to spot the broker that issued a wrong one.

The practical workflow

Putting this together, the workflow for actually getting to a single net-worth picture across multiple Canadian brokers:

  1. Inventory your accounts. List every account, the institution, the account type (TFSA, RRSP, FHSA, LIRA, non-registered), and the rough balance. Group RRSPs at former employers count.
  2. Pick an aggregator that uses SnapTrade for brokerages and Plaid for banks. This is the combination that covers the most institutions. Verify your specific brokers are on the supported list before signing up — coverage gaps are smaller than they were two years ago but they still exist.
  3. Connect one account, verify the data, then connect the rest. First-connection issues are easier to diagnose with a single account than four. Check that the account type label is right, the balance matches, and one or two recent transactions look correct.
  4. Verify book values for non-registered positions. This is the field that aggregators most often miss. If your non-registered ACB is wrong on the aggregator, your future capital-gain math is wrong; correct it manually if the aggregator supports per-position editing, otherwise note the discrepancy.
  5. Set a calendar reminder for January. When your tax slips arrive, reconcile the aggregator's year-end totals against the slips. Discrepancies almost always trace to a corporate action the aggregator missed; flag those before filing.
  6. Don't aggregate the CRA "My Account" balances. Your TFSA/RRSP contribution room from CRA is not on any broker. Read it from CRA directly; let the aggregator handle the balance side.

Run this once and you have a calm, accurate net-worth view across every broker you use, without changing where any of your money lives.

Where Mozaic fits

Disclosure: I built Mozaic Finance, and aggregation across multiple Canadian brokers is the specific workflow it's designed for. It connects to Wealthsimple, Questrade, Interactive Brokers, and the long SnapTrade list on the brokerage side, and to the big-six banks and most credit unions through Plaid for chequing/savings. It handles CAD/USD properly with daily FX and stores book values in the currency of purchase. Read-only connections are the only kind it uses — no broker token issued to Mozaic can place a trade or move money.

Mozaic isn't the only aggregator that gets this right, and which one you pick depends on what else you want (budgeting tooling, forecasting, an opinionated UI). The longer ranked comparison is in our Mint-alternatives article for Canadians and the Hardbacon-shutdown guide covers the migration case specifically. Pricing for Mozaic is at /pricing; the security write-up — read-only tokens, Montréal-region storage, application-layer encryption — is at /security. The point of this article isn't to land you on one specific aggregator; it's to explain the workflow so you can evaluate any of them on the right axes.

Closing

Tracking multiple brokerage accounts in one place is a solved problem in Canada in 2026, and the solution is not "switch everything to one broker." Aggregation is read-only, it doesn't move your money, it doesn't change your tax slips, and it lives behind two industry-standard pipes (Plaid for banks, SnapTrade for brokerages) that have made the multi-broker view tractable.

The thing to look out for is not the technology — that mostly works — but the Canadian-specific corner cases: TFSA contribution room is at the CRA, not at any broker; FHSA is a separate registered account from TFSA and RRSP; book values for USD positions are stored in CAD at the date of purchase, not at today's exchange rate; and your tax slips are issued per-broker even if your dashboard isn't. An aggregator that handles those four things correctly will give you a calm, accurate picture; one that doesn't will quietly produce wrong numbers.

If you've found this useful and want to compare specific aggregators against each other on these axes, the article links above are the starting point. If you'd like to ask a specific Canadian-aggregation question, the contact email at the bottom of the page is mine, and I read every message.

Frequently asked

Aggregation is read-only — a third-party service reads your balances and positions from each broker and shows them in one dashboard, but your shares never move. Your TFSA stays at Wealthsimple, your RRSP stays at Questrade, your taxable account stays at IBKR. Transfer-in-kind is the opposite — you actually move the shares from one broker to another, keeping the position but changing the custodian. Aggregation costs nothing to undo (revoke the connection) and changes no tax slips. Transfer-in-kind changes the institution issuing your T5008 / T3 / RRSP contribution receipts and can take six to eight weeks to settle.
No. Aggregators read positions, prices, and transactions through a read-only token. They do not change anything at the broker. Your book value (adjusted cost base for non-registered accounts) is computed and stored by each broker independently and remains exactly as it was. Your T5008 for dispositions, T3 for trust distributions, and RRSP contribution receipts are still issued by each individual institution. Aggregation is a viewing layer, not a tax event.
No — and you shouldn't. Each institution issues its own tax slips (T5008 for non-registered dispositions, T3 for trust distributions, T5 for interest and Canadian dividends, NR4 for non-residents). Your accountant or tax software needs each slip separately. An aggregator helps during the year for understanding what you have and how it's allocated; it does not replace the slips themselves at tax time. Treat the aggregator as a year-round dashboard and the slips as the year-end source of truth.