Skip to main content
Interactive Brokers (IBKR) is a brokerage platform supporting stocks, options, futures, currencies, bonds, and funds. Sure connects to IBKR using its Flex Web Service, which lets you export account data through a configured Flex Query. See Transaction history and import limits for initial sync defaults, history limits, and options for older transactions.

What is imported

Sure imports the following data from an IBKR Flex report:
  • Holdings with current prices and quantities
  • Cost basis per position
  • Trades (with commissions folded into the trade fee), dividends, and cash deposits or withdrawals
Historical activity is limited to the date range configured in your Flex Query. Sure imports full current holdings plus up to the last 365 days of activity.

Setting up Interactive Brokers

Step 1: Create an Activity Flex Query in IBKR

  1. In your IBKR Client Portal, navigate to Performance & Reports → Flex Queries.
  2. Click the + icon in the Activity Flex Query section to create a new query.
  3. Name the query (for example, “Sure Sync”).
  4. Enable the following sections and fields:
Account Information: Account ID, Currency Cash Report:
  • Options: None
  • Fields: Currency, Ending Cash
Cash Transactions:
  • Options: Dividends, Deposits & Withdrawals, Detail
  • Fields: Amount, Conid, Currency, FX Rate To Base, Report Date, Transaction ID, Type
Change In Position Value Summary: Currency, End Of Period Value Net Asset Value (NAV) in Base:
  • Options: None
  • Fields: Currency, Report Date, Total
Open Positions:
  • Options: Summary
  • Fields: Asset Class, Conid, Cost Basis Price, Currency, FX Rate To Base, Mark Price, Quantity, Report Date, Security ID, Security ID Type, Side, Symbol
Trades:
  • Options: Execution
  • Fields: Asset Class, Buy/Sell, Conid, Currency, FX Rate To Base, IB Commission, IB Commission Currency, Quantity, Symbol, Trade Date, Trade ID, TradePrice, Transaction ID
  1. Set the following query configuration options:
  1. Save the query and note your Query ID.

Step 2: Generate a Flex Web Service token

After saving the query, use the gear icon in the Flex Web Service Configuration section of the Flex Queries page to generate an access token. Copy this token.

Step 3: Add the connection in Sure

  1. Go to Settings → Providers.
  2. Find the Interactive Brokers section.
  3. Paste your Query ID and Token into the form fields and save.
  4. Sure begins syncing and discovering your IBKR accounts.

Step 4: Set up accounts

After the first sync, discovered IBKR accounts appear in the setup queue. Click Set up accounts in the provider panel to select which brokerage accounts to link and confirm the linkage. You can also link a discovered IBKR account to an existing manual investment account if you already have one in Sure.

How balances work

Sure anchors your IBKR account balance on the date of the Flex report, not the date of the sync. The NAV (Net Asset Value) comes from the equity summary in your Flex report and is recorded as of that report’s date. Holdings imported alongside it are also written on that same date. If IBKR delivers a statement with a date older than the most recent balance already on record, Sure records that statement as a historical reconciliation entry on its own date and leaves the newer balance in place. This preserves balance history without walking the account’s reported value backwards. A balance write failure is logged to Settings → Debug against the connection so you can identify and diagnose it.

How commissions work

When Sure imports a trade from IBKR, it records the commission as the trade’s fee rather than as a separate transaction. The fee flows into the trade’s cost basis and realized gain calculations, and its amount is included in the cash the trade moved. A commission stays as a separate transaction in these cases:
  • The commission was charged in a different currency than the trade.
  • IBKR did not report which currency the commission was in.
If a commission was imported as a separate transaction before this change, Sure removes the old transaction and moves it onto the trade as a fee during the next sync. User edits are preserved. If you edited a trade’s fee directly, Sure keeps the fee you set and does not overwrite it on subsequent syncs. Likewise, a separate commission transaction that you have edited, locked, or attached a receipt to is treated as yours and left in place.

Limitations

  • Historical activity is limited to the report window of your Flex Query. Sure imports up to 365 days of activity based on the query’s configured period.
  • Only investment (brokerage) accounts are supported. Cash accounts and other account types are not imported from IBKR.

Troubleshooting

No accounts discovered after syncing

If Sure reports no accounts discovered, check that your Flex Query includes the Account Information section with Account ID and Currency enabled. Run a manual sync from Settings → Providers after updating the query.

Credentials need attention

If the connection shows a “Credentials need attention” status, your Query ID or Token may have expired or been revoked. Generate a new token from the Flex Web Service Configuration section in IBKR and update the connection in Sure.

Only manual investment accounts can be linked

When linking a discovered IBKR account to an existing account, the existing account must be a manual investment account without an existing provider link. Convert the account to manual first if needed.

Balance shows unexpected cash or looks incorrect after sync

If your account balance or cash position looks wrong after a sync, the most likely cause is a mismatch between the NAV date in your Flex report and the date Sure recorded it on. This was a known issue that has been fixed: Sure now anchors the balance on the Flex report’s own date rather than the sync date. Run a manual sync from Settings → Providers to pull a fresh report and recalculate the balance.

Portfolio value or cash appears incorrect on historical dates

IBKR reports each position in the security’s own currency, while Sure’s internal calculations use the account’s base currency. A previous version of Sure’s duplicate-removal step only matched calculated and provider rows when they shared the same currency, so on historical snapshot dates (not the most recent one) both rows survived. The same position was counted twice, and cash was correspondingly understated. This has been fixed: Sure now drops calculated holdings whenever a provider snapshot exists for the same security and date, regardless of currency. Run a manual sync from Settings → Bank sync to trigger a recalculation. If the balance still looks wrong after syncing, check Settings → Debug for any errors logged against the IBKR connection.