Learn About ACB

Master the fundamentals of Adjusted Cost Base calculations and Canadian investment tax rules.

News & Updates

NEW

Introducing Our MCP Server for Claude Code

Use ACB Platform directly in Claude Code with natural language. Search securities, calculate ACB, and manage portfolios without leaving your IDE.

Core Concepts

Return of Capital (ROC) Explained

Learn how return of capital distributions reduce your ACB and affect your eventual capital gain when you sell.

Superficial Loss Rules

Canada's superficial loss rule prevents you from claiming a capital loss if you buy back the same security within 30 days.

Phantom Distributions

When reinvested distributions add to your ACB without increasing your cash position, creating phantom income.

Practical Guides

How to Calculate ACB for ETFs

Step-by-step guide to calculating ACB for Canadian ETFs, including handling DRIPs and return of capital.

REIT Tax Considerations

REITs often have complex distributions. Learn how to properly track ACB for your REIT investments.

Stock Splits & Consolidations

When a company splits or consolidates its shares, your ACB per unit changes. Here's how to handle it.

Understanding Adjusted Cost Base (ACB)

When you buy an investment in a non-registered (taxable) account in Canada, the Canada Revenue Agency (CRA) requires you to track your Adjusted Cost Base (ACB). This is essentially your cost for tax purposes, and it's used to calculate your capital gain or loss when you eventually sell.

Starting Point: Your Purchase Cost

Your ACB starts with what you paid for the investment, including any purchase commissions. For example, if you buy 100 shares at $25.00 each plus a $9.95 commission, your initial ACB is:

Example: Initial ACB Calculation

100 shares x $25.00 = $2,500.00

Plus commission: $9.95

Total ACB: $2,509.95

ACB per unit: $25.0995

What Adjusts Your ACB?

Several events can change your ACB over time:

  • Additional purchases: Buying more shares adds to your total ACB
  • Return of Capital (ROC): ROC distributions reduce your ACB
  • Reinvested distributions: DRIPs and reinvested dividends increase ACB
  • Stock splits/consolidations: Change units but not total ACB
  • Corporate reorganizations: Mergers and spinoffs may require ACB allocation

Why ACB Matters

When you sell your investment, your capital gain or loss is calculated as:

Capital Gain = Proceeds of Sale - ACB - Selling Costs

Important: In Canada, you must use the "average cost" method for calculating ACB on identical securities. You cannot use FIFO (first-in, first-out) or specific identification methods that are allowed in some other countries.

The Average Cost Method

When you buy the same security at different prices over time, you must calculate an average cost. Each time you buy more shares, your ACB per unit is recalculated.

Example: Average Cost Calculation

Initial purchase: 100 shares at $25.00 = $2,500.00

Second purchase: 50 shares at $30.00 = $1,500.00

Total ACB: $4,000.00 for 150 shares

ACB per unit: $26.67

Return of Capital (ROC) Explained

Return of Capital is a type of distribution that represents a return of your original investment, rather than income earned by the fund. It's not immediately taxable, but it reduces your ACB.

How ROC Works

When you receive an ROC distribution, you get cash (or reinvested units), but unlike dividends or interest, this isn't treated as income. Instead, it reduces your cost base.

Example: ROC Impact on ACB

Original ACB: $10,000 (1,000 units at $10.00 each)

ROC distribution: $0.50 per unit = $500

New ACB: $9,500 ($9.50 per unit)

The Deferred Tax Effect

ROC isn't tax-free - it's tax-deferred. By reducing your ACB, you'll have a larger capital gain (or smaller capital loss) when you eventually sell.

Tip: ROC can be beneficial because capital gains are taxed at a lower rate than regular income, and you defer the tax until you sell. However, you must track your ACB accurately to report the correct capital gain when you do sell.

Where to Find ROC Information

For Canadian mutual funds and ETFs, the fund company publishes annual tax information that breaks down distributions into their components (dividends, interest, capital gains, ROC). This is typically available on the fund's website and is also reported to CRA.

Negative ACB: If cumulative ROC exceeds your original investment, your ACB can become negative. When this happens, the "excess" ROC is treated as a capital gain in the year received.

The Superficial Loss Rule

Canada's superficial loss rule (ITA 54) is designed to prevent investors from "selling at a loss" and immediately buying back the same security just to claim the loss for tax purposes.

The 30-Day Rule

A superficial loss occurs when you sell a security at a loss and you (or an affiliated person):

  • Bought the same security within 30 days before the sale, OR
  • Buy the same security within 30 days after the sale, AND
  • Still own the security at the end of the 30-day period after the sale

What Happens to the Denied Loss?

The good news is that denied superficial losses aren't lost forever. The denied loss is added to the ACB of the replacement shares. This means you'll benefit from the loss when you eventually sell those shares (assuming you don't trigger the rule again).

Example: Superficial Loss

Day 1: Sell 100 shares at $20 (purchased at $25) = $500 loss

Day 15: Buy 100 shares at $19

Day 31: Still own the 100 shares

Result: The $500 loss is denied and added to your new shares' ACB

New ACB: $19 + $5 = $24 per share

Affiliated Persons

The rule applies to purchases by "affiliated persons" including:

  • Your spouse or common-law partner
  • Corporations you control
  • Trusts where you're a majority interest beneficiary
  • Your RRSP, TFSA, or other registered accounts
TFSA/RRSP Warning: If you sell at a loss in your taxable account and repurchase in your TFSA or RRSP within 30 days, the loss is denied permanently - it cannot be added to the ACB of shares in a registered account.

Understanding Phantom Distributions

Phantom distributions occur when a fund distributes income that gets reinvested (or is paid then immediately reinvested through a DRIP) but you still owe tax on the distribution.

How Phantom Distributions Work

Consider this scenario: You own units of an ETF that makes a $1.00 distribution. If you're enrolled in a DRIP, that $1.00 is used to buy more units. You now have more units, but no additional cash.

The "phantom" aspect is that you owe tax on the $1.00 distribution even though you never received cash. This can be frustrating, but there's a silver lining.

The ACB Benefit

When distributions are reinvested, your ACB increases by the amount reinvested. This means when you eventually sell, your capital gain will be lower (or your loss higher) because of the higher ACB.

Tip: Keep careful records of reinvested distributions. Your broker's statements may not always clearly track how much your ACB has increased from reinvestments, and you don't want to pay tax twice - once on the distribution and again as part of a capital gain.

Year-End Distributions

Many ETFs and mutual funds make large year-end distributions. If you buy units in December just before the distribution date, you might receive (and owe tax on) a distribution that includes gains earned throughout the year - before you even owned the units!

Tax Tip: Be cautious about purchasing mutual funds or ETFs right before their year-end distribution date. Check the fund's distribution schedule before making late-year purchases.

Introducing Our MCP Server for Claude Code

We're excited to announce the release of our Model Context Protocol (MCP) server for ACB Platform. If you use Claude Code (Anthropic's CLI tool), you can now access ACB Platform's full functionality directly from your terminal using natural language.

What is MCP?

The Model Context Protocol is an open standard that allows AI assistants like Claude to interact with external tools and services. Our MCP server exposes ACB Platform's API as a set of tools that Claude can use on your behalf.

What Can You Do?

With our MCP server, you can:

  • Search securities - "Find the CUSIP for TD Bank"
  • Calculate ACB - "Calculate ACB for CUSIP 891160509 with these transactions..."
  • View distributions - "What ROC distributions did XIC have in 2024?"
  • Manage portfolios - "Show my portfolios" or "Add BMO to my TFSA portfolio"
  • Track favorites - "Add this security to my favorites"

Quick Setup

Getting started takes just a few minutes:

1. Get an API Key

Log in to your dashboard and create an API key.

2. Install the MCP Server

Clone the repo and run the install script:

git clone https://gitlab.com/matthewlatimer/acb-update.git
cd acb-update/mcp-server
./install.sh

3. Restart Claude Code

The MCP server will be loaded automatically. Try asking Claude:

"Search for TD Bank securities on ACB Platform"

Available Tools

The MCP server provides 11 tools:

  • acbp_search_securities - Search by name, symbol, or CUSIP
  • acbp_get_security - Get security details
  • acbp_calculate_acb - Calculate ACB for transactions
  • acbp_get_distributions - View distribution history
  • acbp_list_portfolios - List your portfolios
  • acbp_get_portfolio - Get portfolio details
  • acbp_list_calculations - View saved calculations
  • acbp_get_calculation - Get calculation details
  • acbp_list_favorites - List favorite securities
  • acbp_add_favorite - Add a security to favorites
  • acbp_account_info - View account information
Pro Tip: The MCP server uses your API key for authentication, so all your calculations are saved to your account just like using the web interface.

Example Workflow

Here's how you might use the MCP server to calculate ACB for a stock you're selling:

Natural Language Example

"I bought 100 shares of TD Bank on Jan 15, 2023 at $85.50, and another 50 shares on June 1, 2023 at $82.00. Now I want to sell 75 shares. What's my ACB per share and what will my capital gain be if I sell at $90?"

Claude will use the MCP server to search for TD Bank, calculate your ACB with ROC adjustments from our database, and give you a complete breakdown.

Requirements

  • Claude Code (Anthropic's CLI tool)
  • Python 3.8+
  • An ACB Platform account with an API key

Ready to get started? Create your API key and check out our MCP server documentation.