IBKR activity statements, Flex files, and ACB

Choose the correct IBKR CSV format, review trade sections and commissions, and reconcile Canadian pooled ACB beyond the broker’s tax-lot figures.

By MyCostBase 5 min read Published

Interactive Brokers offers several reporting formats, and the right import mapping depends on which one you generated. A standard Activity Statement CSV is not the same structure as a Flex Query CSV. Both can provide useful transaction evidence, but their columns and sections need different handling.

myCostBase has production-supported IBKR Activity Statement and Flex mappings. Select and preview the appropriate format, then check the Canadian-dollar ledger against the original report. A broker’s Basis or Realized P/L field is a comparison value, not an instruction to replace the Canadian pooled calculation.

Choose an Activity Statement for the standard export

In Client Portal, use the reporting area for Statements and run the Activity Statement for the required period in CSV format. Keep the complete file. Its sections are stacked together, with section names and record-type markers preceding the data.

The Activity Statement importer extracts the Trades section. It recognizes fields including DataDiscriminator, Asset Category, Currency, Symbol, Date/Time, Quantity, T. Price, Proceeds, Comm/Fee, and Code. Deleting the section markers or flattening unrelated sections into a single table can make the file harder to interpret correctly.

The parser imports Order rows for supported stock and equity/index-option categories. Closed-lot detail, subtotals, and unsupported asset categories are not additional independent trades. This is important when a report includes both an order and a breakdown of the tax lots matched against it.

Use Flex when you need a configurable trade file

IBKR’s Flex reporting lets you choose fields and output format. Generate a comma-delimited trade export with the fields expected by the Flex mapping, rather than uploading an XML report or a report containing only a holdings summary.

Relevant fields include TradeDate, Buy/Sell, Symbol, Exchange, AssetClass, Quantity, TradePrice, NetCash, IBCommission, IBCommissionCurrency, CurrencyPrimary, and Description. Additional fields such as LongShort, Open/CloseIndicator, option expiry and strike information, and SettleDateTarget help preserve the event context.

Keep the Flex configuration with the exported file. If a later export omits a field, comparing the saved configuration is faster than guessing why the new preview differs. Confirm available periods in your portal and obtain earlier evidence when an export does not cover a position’s opening history.

Review commissions and position history

The Activity Statement’s Proceeds field is handled as gross trade value with Comm/Fee separate. Flex uses a different amount field and associated commission information. Do not rename one format’s columns to resemble the other without verifying the amount convention.

For stock trades, the Activity Statement parser uses the chronological signed position to distinguish long and short activity. An incomplete history can therefore change more than the displayed opening balance. If the file begins with a sale but the original purchase occurred earlier, supply the missing evidence before accepting the classification.

Option codes and contract details require similar care. Preserve the raw report and inspect exercise, assignment, expiry, and opening/closing classifications. Supporting a transaction type does not mean every economic relationship between separate option and stock legs is automatically reconstructed. Check complex activity against the product’s documented limits.

Worked example with a second brokerage

Assume one taxpayer has 100 identical shares purchased through IBKR with supported Canadian-dollar ACB of $4,000. Another taxable broker holds 100 shares with ACB contribution of $5,000. There are no other adjustments or transactions.

The combined pool contains 200 shares with total ACB of $9,000, or $45 per share. The investor sells 50 shares through IBKR for Canadian-dollar proceeds of $2,700 and pays a Canadian-dollar selling commission of $5.

The allocated ACB is $2,250 and the capital gain is $445. The remaining 150 shares carry total ACB of $6,750. A broker-local or tax-lot-based figure can differ because it does not incorporate the complete Canadian identical-property pool.

If the original amounts were in USD, preserve their transaction-specific CAD conversions before performing the pool calculation. The USD capital gains tool can help check a simple scenario, and the Bank of Canada conversion guide explains the evidence to retain.

Check the Canadian-dollar result, then maintain the history behind every conversion.

  • Hosted in Canada
  • No broker or CRA passwords
  • Export your records anytime
  • Prices in CAD · No credit card for Free

Separate the trade ledger from the cash report

The standard statement contains more than the transactions consumed by the trade parser. Its cash report, dividends, transfers, and other sections remain useful evidence even when they are not imported as ordinary trades. Do not assume a successful Trades-section import means every possible ACB event in the account has been captured.

For example, ETF tax-character adjustments can require separate records. An opening transfer can require the sending broker’s acquisition history. A currency conversion can need its own review rather than becoming a stock trade. Keep an event checklist next to the import summary so excluded sections are reviewed deliberately.

Compare closing securities quantities with the statement after the ledger is assembled. Then compare disposition totals and any T5008 records. Investigate unexplained differences at the transaction level instead of changing the pooled ACB to match a report total.

Common mistakes and archive checklist

Do not import the same trades from both Activity and Flex files. Choose a primary history source, and use the other as a cross-check unless you have documented non-overlapping periods. Watch especially for reports that include order rows and closed-lot breakdowns.

Do not overwrite the Canadian ledger with the statement’s Basis field. Do not delete older records merely because an annual report begins with a new reporting period. A position held across years still needs its original cost and intervening adjustments.

Archive the original CSV, report configuration, selected period, import preview notes, currency evidence, and final quantity reconciliation. For manual corrections, keep the source row and explanation together. See importing transactions for the review workflow and product limits before relying on unusual corporate actions or complex option activity.

Sources

Related guides

Check the Canadian-dollar result, then maintain the history behind every conversion.

  • Hosted in Canada
  • No broker or CRA passwords
  • Export your records anytime
  • Prices in CAD · No credit card for Free