Tessera

IBKR Trading Journal: Sync Interactive Brokers With a Flex Query

To get Interactive Brokers trades into Tessera, create an Activity Flex Query in IBKR's Client Portal with the Trades section at Executions level, then either connect it through the Flex Web Service (a token plus the query ID) for live sync, or run it and upload the Flex Trades CSV. Tessera reads every execution, builds the trades and shows expectancy, profit factor and drawdown, broken down by session, weekday, time of day and volatility.

The Flex Query is a one-time setup, and the same query works for both sync and CSV. The two settings that matter are Executions level of detail and a time format that includes the timezone.

Checked against the Tessera help centre · Updated

Live sync
Flex Web Service
File import
Flex Trades CSV
Markets
Stocks, Options, Futures, Forex
Good to know
Around a year of history per query. Older history needs additional exports.

How to set up an IBKR Flex Query for a trading journal

These are the steps from the Tessera help centre, as of November 2026.

Create the Activity Flex Query (once)

  1. In IBKR Client Portal, go to Performance & Reports, then Flex Queries (or Menu, then Reporting, then Flex Queries).
  2. Create an Activity Flex Query. Give it a name you will recognise, such as "Tessera".
  3. Under sections, include Trades and set the Level of Detail to Executions, not a coarser roll-up.
  4. Under General Configuration, set the date format to yyyyMMdd, the time format to HHmmss TimeZone and the date/time separator to a semi-colon (the usual Flex default).
  5. Turn on column headers if the portal offers it.
  6. Save the query and note its Query ID from the query info panel.

The time format is the setting people most often miss. Tessera needs a timezone label on every timestamp (EST, EDT, UTC or an offset) and rejects the statement without one.

Connect with the Flex Web Service (live sync)

  1. On the Flex Queries page, open Flex Web Service Configuration (the gear icon).
  2. Enable the Flex Web Service and generate a token. Choose a sensible expiry and copy the token straight away, then store it somewhere safe.
  3. In Tessera, choose IBKR Flex, paste the token and the Query ID, and connect.
  4. Run Sync. Tessera pulls the statement for that query, typically up to about 365 days of history.

If sync fails with a timezone error, edit the query so the time format is HHmmss TimeZone, run it again and re-sync.

Or upload a Flex Trades CSV

  1. In Flex Queries, run the same Activity Flex Query with a date range of up to about one year and CSV as the format, then download it.
  2. In Tessera, choose IBKR Flex, then CSV import, and upload the file. The account comes from ClientAccountID in the file.
  3. For longer history, repeat with non-overlapping windows, for example one file per year.

Do not upload a Client Portal Transaction History CSV. It does not have the execution detail Tessera needs, and Tessera will reject it.

What Tessera reads from the Flex report

  • Executions from the Trades section: symbol, side, quantity, price and time with its timezone.
  • ClientAccountID, which sets the account in Tessera, so there is no separate account field on import.
  • Stocks, options, futures and forex executions, which are matched to Tessera's instrument registry so trades line up with the right candles.

Cash transfers, dividends and FX conversions are not brought into Tessera's transfer ledger.

What you can analyse

  • Core statistics: win rate, expectancy, profit factor, average win and loss, and drawdown, for the account or any slice of it.
  • Session and time of day. P&L by session and hour: the US cash open, the lunch lull, the close, and for futures and forex, the overnight hours.
  • Weekday. Whether particular days consistently cost you, with the sample size behind each figure.
  • Volatility and market regime. Trades grouped by conditions at entry, using historical candles.
  • MAE and MFE. How far each trade went against and in favour of you, where candle data covers the instrument and period.
  • Live versus backtest. If you run an API strategy at IBKR, compare its live executions with the backtest to see where fills and costs differ. See slippage in algo trading.
  • Rule simulator. Replay the trades you took on real candles with a filter or a different exit, before you change your code.

Limitations

  • About a year per query. Each Flex query or CSV covers roughly 365 calendar days. Older history needs extra CSV files.
  • Timezone required. Timestamps without a timezone label are rejected.
  • Same-day lag. Same-day trades can be late to appear in Flex reports. Sync again later if today's trades are missing.
  • Sync is on request. Tessera pulls the Flex statement when you sync.
  • Trading P&L only. Portfolio growth shows cumulative trading P&L. Deposits, dividends and FX conversions are not included.
  • Plan. The Free plan imports the last 30 days of trades for one broker account into the trade log. Full history, statistics, reports and the simulator need a paid plan, from $39 a month. The free Entry Analysis report needs no paid plan.

Switching from TradeZella, TraderSync or Edgewonk

If another journal already reads your IBKR account through a Flex Query, you may be able to reuse it, as long as it uses Executions detail and the HHmmss TimeZone time format. Check those two settings, create a Flex Web Service token and connect it to Tessera. For history before the sync window, upload one Flex Trades CSV per year.

What changes is the analysis. Tessera is built for systematic and API traders: results by market condition and time, and a simulator for testing a rule change on the trades you already took. Read the full comparisons: TradeZella alternative, TraderSync alternative and Edgewonk alternative.

Frequently asked questions

What is an IBKR Flex Query?
A Flex Query is a custom report you define in IBKR's Client Portal, choosing which sections and fields it includes. For a trading journal, you want an Activity Flex Query with the Trades section at Executions detail. You can run it by hand as a CSV or let a journal fetch it with a Flex Web Service token.
Does Tessera sync with Interactive Brokers?
Yes, through the Flex Web Service. You paste a Flex token and your Query ID into Tessera and run a sync whenever you want the latest trades.
Why does Tessera reject my IBKR file?
The two usual causes are the wrong report (a Transaction History download instead of a Flex Trades report at Executions detail) and a time format without a timezone. Fix the Flex Query settings and run it again.
How much IBKR history can I import?
Each query or file covers about a year. Upload one Flex Trades CSV per year, in non-overlapping windows, for anything older.
Can I analyse an IBKR trading bot or AI agent?
Yes. Trades placed through the API come through the Flex report like any other execution. Our tracker of brokers that let AI agents trade covers IBKR's rules.

Run your Interactive Brokers trades through Tessera

Start with the free Entry Analysis report: your results by session, weekday, volatility and market regime. No card needed.