About ActiveACB
ActiveACB is a Canadian capital gains tax calculator built for investors and traders who need their adjusted cost base to be correct, not estimated from a T5008 that the CRA itself warns may be wrong.
The Problem
Canadian tax law requires you to track the adjusted cost base of every security you own, adjusted for every trade, dividend reinvestment, return of capital, corporate action, superficial loss, and FX conversion that affects it. Your broker reports a cost figure in Box 20 of your T5008, but the CRA’s own instructions state that it “may or may not reflect your adjusted cost base.”
For buy-and-hold investors with simple portfolios, the T5008 number is often close enough. For anyone who has traded the same security more than once, rebought after a loss, held USD cash, exercised options, or received shares from a corporate action, the T5008 number drifts further from the correct ACB with every transaction. The difference compounds silently. Most Canadians never know until they get a CRA reassessment.
What We Built
An ACB calculator whose engine parses your broker export directly, applies every major CRA ACB rule, and produces a filing-ready report in seconds. No manual data entry. No spreadsheet. No missed trades.
The engine enforces: ACB pooling across all accounts, superficial loss detection with the full 61-day window and three-limiter formula, FX cash pool ACB with the $200 annual exemption, options exercise and assignment linking, corporate actions (splits, mergers, return of capital, name changes, and standard cost-base spinoffs), and T1135 foreign property warnings. It runs over 13,000 automated test cases. A complete description of every rule is at activeacb.ca/methodology.
Who It Is For
ActiveACB currently parses Interactive Brokers Flex Query XML, Questrade Activity Report XLSX, Wealthsimple Activity Export CSV, CIBC Investor's Edge Transaction History CSV, TD Direct Investing activity CSV, Qtrade Direct Investing account history XLSX, and National Bank Direct Brokerage activity history CSV files. Any other broker's CSV or XLSX imports through the column mapper. If you hold stocks, ETFs, options, or foreign securities in any supported broker, the engine handles your full trading history automatically. Multi-account upload detects cross-account superficial losses, including cases where you sold in a non-registered account and rebought in a TFSA or RRSP.
Each supported broker has a different slip and export story. IBKR, Questrade and the bank brokerages (CIBC, TD, Qtrade, National Bank) issue T5008s that can diverge from your true ACB, and Wealthsimple may also issue a T5008 for non-registered dispositions even though you still have to supply the correct ACB yourself. That is why ActiveACB works from the raw broker export instead of the year-end slip summary.
If you trade at RBC Direct Investing, TD Direct Investing, or another Canadian broker, the built-in column mapper imports any trade-history CSV or XLSX: upload the file, match its columns once, and the engine processes the trades like any native export, along with dividend, interest, and FX conversion rows when an Amount column is mapped (options are recognized from a standard option symbol; splits and renames can be entered as rows, while mergers and spinoffs come through native broker exports). See the guide for other brokers for the step-by-step walkthrough.
ActiveACB also serves tax professionals: the Accountant tier is a per-preparer license with a multi-client practice dashboard, batch runs, white-label branded workpapers, ACB continuity ledgers, and a methodology letter for every client calculation.
Privacy and Data Handling
Your broker file is written to a temporary processing directory and deleted the moment your report is generated. A copy of the file is kept privately for 7 days to improve broker support and then deleted, unless it is an IBKR file or you turn this off on your profile page (see the privacy policy). No row of your file is stored beyond that unless you choose to share a redacted sample. Otherwise we keep only a layout profile, the column names and formats with none of your values, to troubleshoot failed uploads. Calculation results (the summary figures, not the raw file) are retained in your account history so you can re-download reports later. Your account holds your 25 most recent calculations (uncapped on the Accountant tier).
Full details are in the Privacy Policy, governed by PIPEDA and applicable provincial privacy law.
About the author
Sam Tcherner is the founder of ActiveACB and the author of its calculation engine. He built the engine's ACB pooling, superficial loss, foreign exchange, options, and corporate action rules directly from the Income Tax Act and the CRA's published guidance, and maintains a suite of over 13,000 automated test cases that check the engine's output against those rules.
ActiveACB is used by Canadian investors filing their own returns and by accounting practices preparing client Schedule 3 workpapers. The engine has been audited line by line against real client books, and every rule it applies, including its known limitations, is published in full at Calculation Methodology.
Guides on this site are researched from primary sources: the Income Tax Act, CRA income tax folios and interpretation bulletins, and the CRA's own T5008 and Schedule 3 instructions. Each guide cites the specific provisions it relies on and is reviewed against those sources before publication.
ActiveACB is software, not a tax advisor. Nothing on this site is tax advice for your particular situation.
Contact
Questions and support: support@activeacb.ca
ActiveACB is a Canadian product. Governing law: Province of Ontario.