π Log daily Interactive Brokers trades to a Google Sheets journal
β‘ 167 views Β· π Crypto Trading & Stock Market
Description
tempImageKbwBTH.gif
Automated Trade Report from Interactive Brokers
This workflow is aimed at traders who use Interactive Brokers. It automatically retrieves the trades made in IBKR on a daily basis and writes them to a Google Sheet, so that anyone can easily perform further analyses and statistics using the on-board tools.
This creates an automatic, continuous trade journal.
Typical Usecaes
- Monitoring your trades in one journal
- Analyze your Profit & Losses
- Basis for any kind of statistics β’ Log trades (entry, exit, setup, reason) β’ Analyze performance (win rate, R/R, expectancy) β’ Evaluate strategies & setups β’ Detect mistakes & patterns β’ Track emotions & discipline β’ Support coaching, reviews & improvement
How it works
- A daily schedule triggers a FlexStatement request to Interactive Brokers to start generating a trade report.
- The workflow extracts the reference code from IBKRβs response, waits for the report to be ready, then downloads the Flex report XML.
- The XML is parsed and split into individual Trade records.
- Key fields (tradeDate, symbol, quantity, buySell, tradeID, price, money, currency, fxRateToBase) are normalized.\n5. Each trade is appended or updated in the configured Google Sheet, matching on tradeID to avoid duplicates and keep the journal current.
Prerequisites
- Trading Account on IBKR
- Google Sheets OAuth2
- A Google Sheet containing your trading journal
Setup
- Set schedule to run at your desired time (default: 08:00)
- Add or verify IBKR request token/reference parameters.
1. Create Flex Query Token:
Go to IBKR Account Management Reports β Flex Queries β Flex Web Service β Generate Current Token β Make a note of the token (e.g.: 123456789012345678901234)
2. Enter Flex Token:
In node β1. Request Flex Reportβ and in node β2. Extract Reference Codeβ Replace YOUR_FLEX_TOKEN with your token ID
3. Create Flex Query in IBKR (if not already done):
Go to IBKR Account Management Reports β Flex Queries β Activity Flex Query β Create Select: Trade Confirmation β Period: Last 365 Days Format: XML Save and note down the query ID
4. Enter Flex Query ID:
In node β1. Request Flex Reportβ Replace YOUR_QUERY_ID with your query ID
- Adjust wait time if IBKR needs longer to generate reports
- Select the Google Sheet and target sheet/tab
- Connect Google Sheets OAuth2 account
- Confirm column mapping and that tradeID is the matching column
- Run a manual test to validate parsing and row updates
π Nodes Used
Google Sheets, HTTP Request, Schedule Trigger
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File