How to Journal IBKR TWS Trades
To journal IBKR TWS trades, use Flex Queries (not Activity Statements) and always include the Multiplier field — without it, options P&L can be off by 100x.
Buy Now - ₹6,599 for Lifetime Buy Now - $159 for Lifetime7-day money-back guarantee
Fields to Track
Symbol
Identifies the instrument across stocks, options, futures, and forex in a single export
DateTime
Provides the exact execution timestamp needed to match entries to market conditions
Buy/Sell
Distinguishes long and short sides; essential for correctly computing realized P&L direction
Quantity
Raw share or contract count — multiply by Multiplier for true notional exposure on options and futures
TradePrice
The actual fill price, which differs from bid/ask midpoint and is needed for accurate cost basis
IBCommission
IBKR tiered commissions ($0.0035/share for stocks, $0.65/contract for options) — reference only; do not add to NetCash
NetCash
Cash impact including commissions already embedded — the single correct P&L figure to import
AssetCategory
Separates STK, OPT, FUT, CASH (forex) rows so you don't merge incompatible P&L types
Multiplier
Options and futures contracts have a multiplier (100 for equity options); omitting this field makes position size appear 100x smaller
FifoPnlRealized
For futures and partial closes, this gives the FIFO-basis realized P&L that matches IRS cost-basis reporting
Sample Journal Entry
Date: 2026-04-28 (Monday entry) / 2026-04-30 (Wednesday exit) Ticker: SPY Strategy: Short put — premium collection Asset Category: OPT Action: SELL to open 5 contracts SPY 450 Put, expiry 2026-05-16 Entry Price: $3.20 / contract | Multiplier: 100 | Notional premium: $1,600.00 Exit Price: $1.50 / contract | Multiplier: 100 | Notional cost to close: $750.00 Commission (open + close): $6.50 total ($0.65 x 5 x 2 legs) NetCash (Flex Query export): +$1,597.50 (open) / -$752.50 (close) Realized P&L: +$845.00 TWS Flex Row check: Quantity: -5 / TradePrice: 3.20 / Multiplier: 100 / NetCash: +1597.50 Market context: SPY pulled back 1.2% intraday; IV rank 38 at entry Emotion: Disciplined — waited for IV rank above 30 before selling Lesson: "Closing at 53% max profit on day 2 matched the planned exit rule; no management needed"
Review Process
Review Flex Query field selection weekly — confirm Multiplier and AssetCategory are still enabled before each export
After import, spot-check one options trade by hand — verify NetCash matches (Quantity x TradePrice x Multiplier) minus commissions
Filter by AssetCategory to review stocks, options, and futures performance separately; blended metrics hide instrument-level edge
For any forex or international trade, confirm the CASH assetCategory row is merged with the underlying trade row before calculating total P&L
Monthly — run win rate and average R-multiple by Symbol to identify which underlyings produce positive expectancy
Quarterly — compare IBCommission totals against NetCash totals to calculate commission drag as a percentage of gross P&L
At tax time — export FifoPnlRealized for all futures trades separately; these receive 60/40 Section 1256 treatment, not standard Schedule D treatment
Interactive Brokers TWS is the platform of choice for active retail and semi-professional traders across stocks, options, futures, and forex — yet most of its 2.6 million account holders still log trades manually in spreadsheets because the correct export path is non-obvious. TWS offers two export routes, and choosing the wrong one produces either missing data or incorrect P&L figures. More critically, IBKR’s data format contains several traps — a pre-embedded commission field, a missing multiplier for options, and split forex rows — that cause traders to journal wrong numbers without realizing it. This guide fixes that.
Essential Fields to Track
| Field | Why It Matters |
|---|---|
| Symbol | Identifies instrument across all asset classes in a single unified export |
| DateTime | Exact execution timestamp; required to match trades to intraday market conditions |
| Buy/Sell | Indicates direction; necessary for correctly computing open vs. close sides |
| Quantity | Raw contract or share count — must be multiplied by Multiplier for true exposure |
| TradePrice | Actual fill price, not mid; the correct basis for cost and P&L calculations |
| IBCommission | Reference only — do NOT add to NetCash; commission is already embedded |
| NetCash | The definitive P&L figure: proceeds minus cost minus commissions, all in one field |
| AssetCategory | Separates STK, OPT, FUT, and CASH rows to prevent cross-asset P&L mixing |
| Multiplier | Equity options = 100, ES futures = 50; omitting this field makes positions appear 100x smaller |
| FifoPnlRealized | Required for futures and partial closes; matches IRS FIFO cost basis for Form 6781 |
The two most critical fields are Multiplier and NetCash. Every other calculation error traces back to one of these two being wrong or missing.
Sample Journal Entry
Date (open): April 28, 2026 — 10:14 AM ET Date (close): April 30, 2026 — 11:02 AM ET Ticker: SPY Strategy: Short put, premium collection AssetCategory: OPT Action: SELL to open 5x SPY 450 Put, expiry May 16, 2026 Entry price: $3.20 | Multiplier: 100 | Gross premium: $1,600.00 Exit price: $1.50 | Multiplier: 100 | Cost to close: $750.00 IBCommission (total, both legs): $6.50 ($0.65 x 5 contracts x 2 fills) NetCash (TWS Flex export): +$1,597.50 open / -$752.50 close Realized P&L: +$845.00 Flex row verification: Quantity: -5 / TradePrice: 3.20 / Multiplier: 100 / NetCash: +1597.50 Market context: SPY down 1.2% intraday; IV rank 38 at entry Emotion: Disciplined — waited for IV rank above 30 per plan before executing Lesson: Closed at 53% of max profit on day 2; no adjustment needed — plan worked
This is the exact scenario where a missing Multiplier field causes a catastrophic error. Without it, the spreadsheet sees Quantity: -5 and TradePrice: 1.70 difference and logs an $8.50 gain instead of the correct $850.00 gain — a 100x understatement.
Review Process
-
Configure Flex Query once, then reuse — In TWS: Reports > Flex Queries > click the + icon > name it “Trade Journal Export” > add the “Trades” section > enable all 10 fields listed above. Save the query ID; it persists across sessions.
-
Run the export and spot-check one options trade — After downloading the CSV, manually verify one options row:
(Quantity x TradePrice x Multiplier) - IBCommissionshould equalNetCash. If it doesn’t, a field is missing from your Flex Query configuration. -
Separate by AssetCategory before analysis — Filter the CSV into four tabs: STK, OPT, FUT, and CASH. Analyze win rate and average R separately for each. Blended metrics obscure which instrument class is actually generating edge.
-
Merge CASH rows with their parent trades — Every forex conversion and international trade generates a separate CASH row. Match these to the originating trade by DateTime and account code, then add the CASH NetCash to the trade NetCash for the correct total.
-
Weekly review: win rate and commissions — Calculate commission drag: total IBCommission divided by gross P&L. IBKR’s tiered pricing ($0.0035/share for stocks, $0.65/contract for options) is low, but at high volume even $0.0035/share adds up. If commission drag exceeds 15% of gross P&L, your trade size or frequency needs adjustment.
-
Monthly review: R-multiple by Symbol — Group trades by underlying and calculate average R-multiple. A symbol with negative average R across 20+ trades is a pattern to address. TWS does not provide this view natively — it requires a dedicated journal.
-
Quarterly / tax prep: isolate futures P&L — Pull all FUT rows with FifoPnlRealized populated. These trades qualify for Section 1256 60/40 treatment, meaning 60% long-term and 40% short-term capital gains regardless of holding period. They belong on Form 6781, not Schedule D.
Common Mistakes in IBKR TWS Journaling
-
Double-counting commissions via IBCommission + NetCash — NetCash is the net cash impact of the trade after commissions. IBCommission is provided for reference. Adding both when calculating P&L inflates your reported losses. The correct approach: use NetCash as your sole P&L input and treat IBCommission as an audit field only.
-
Omitting the Multiplier field — This is the single most common IBKR journaling error for options traders. A 5-contract SPY trade has 500 shares of notional exposure, not 5. Without the Multiplier field in your Flex Query, every options position size and P&L figure is wrong by a factor of 100. Always verify Multiplier = 100 for equity options rows.
-
Using Activity Statement CSV instead of Flex Query — Activity Statements aggregate data at the summary level and cap history at 365 days per download. Flex Queries provide individual execution rows, up to 5 years of history, and the full field set needed for granular journaling. The extra setup time (under 5 minutes) is worth it.
-
Filtering out CASH assetCategory rows — Traders who import only STK, OPT, and FUT rows silently drop realized forex P&L. On any trade involving non-USD instruments or explicit forex positions, the CASH row contains real P&L that belongs in your journal. IBKR operates across 150+ markets in 33 countries — the CASH row is not noise.
-
Blending futures P&L with stock/options for tax purposes — Futures trades settled on US exchanges receive 60/40 Section 1256 treatment. Mixing them with standard Schedule D trades in a single undifferentiated journal makes tax preparation significantly harder and risks misclassification.
How JournalPlus Handles IBKR TWS Trades
JournalPlus has a native IBKR Flex Query importer that reads the CSV produced by the Flex Query configuration described above. During import, it automatically applies the Multiplier field to calculate correct notional exposure for options and futures, uses NetCash as the P&L source without prompting users to re-enter commissions, and routes AssetCategory rows to the correct instrument buckets. The double-commission and missing-multiplier errors described in this guide cannot occur through the JournalPlus importer because the parser enforces the correct field logic.
For multi-leg options trades, JournalPlus groups Flex Query rows by DateTime proximity and account code, reconstructing spreads and straddles as single journal entries rather than two unrelated rows. This matches how options traders actually think about their positions. CASH forex rows are matched to parent trades automatically when the timestamps align within a configurable tolerance.
The analytics layer surfaces the metrics TWS does not: win rate by symbol, average R-multiple by strategy tag, drawdown curve, commission drag percentage, and monthly return consistency — all filterable by AssetCategory. For futures traders using the CSV upload workflow, the FifoPnlRealized field is mapped directly to realized P&L so partial-close journaling reflects FIFO basis consistently with IRS reporting requirements.
Not tax or financial advice. Tax rules change yearly and individual situations vary. Consult a CPA familiar with active-trader tax rules before applying any of this to your filing.
Common Journaling Mistakes
Adding IBCommission on top of NetCash — IBKR's NetCash field already nets out commissions; adding IBCommission again overstates your loss by $0.65 per options contract or $0.0035 per share, which compounds into significant distortion across hundreds of trades
Skipping the Multiplier field — without Multiplier, a 5-contract SPY options trade appears as 5 units of exposure instead of 500 shares equivalent; P&L calculations in any downstream spreadsheet or journal are then off by a factor of 100
Using Activity Statement exports instead of Flex Queries — Activity Statements are summary-level and limited to 365-day windows; Flex Queries provide per-trade granularity and up to 5 years of history, which is required for meaningful pattern analysis
Ignoring the CASH assetCategory rows — IBKR books realized forex gains and losses as separate line items with AssetCategory "CASH"; traders who filter these out undercount or overcount their true P&L on international trades and USD/EUR or USD/JPY forex positions
Not separating futures P&L before tax season — FifoPnlRealized on futures must be isolated for Section 1256 60/40 treatment; blending it with stock/options P&L in a single journal tag creates extra work (or errors) when preparing Form 6781
Frequently Asked Questions
What is the best way to export trades from Interactive Brokers for journaling?
Use Flex Queries under Reports in TWS or Client Portal. Set the section to "Trades" and enable Symbol, DateTime, Buy/Sell, Quantity, TradePrice, IBCommission, NetCash, AssetCategory, and Multiplier. Flex Queries export per-trade CSV rows with up to 5 years of history, unlike Activity Statements which are limited to 365-day summaries.
Why does my IBKR options P&L look wrong after importing to a spreadsheet?
The most common cause is a missing Multiplier field. Equity options contracts have a multiplier of 100, so a 5-contract trade has 500 units of exposure. Without the Multiplier field, the trade appears as 5 units and P&L is understated by 100x. Always include Multiplier in your Flex Query configuration.
Does IBKR's NetCash field include commissions?
Yes. NetCash in a Flex Query export already reflects commissions deducted. IBCommission is provided as a reference field only. Adding IBCommission to NetCash when calculating P&L double-counts the cost and overstates your losses.
How do I journal forex trades from IBKR accurately?
IBKR books realized forex gains and losses as separate rows with AssetCategory "CASH". When building your journal, merge these CASH rows with the corresponding trade rows to get accurate total P&L. Filtering out CASH rows will cause you to under- or over-report P&L on any trade involving currency conversion.
How do IBKR futures trades differ from stocks in a journal export?
Futures require the FifoPnlRealized and CumulativeReturns fields in your Flex Query. TWS defaults to FIFO cost basis, which affects how partial closes are reported. Futures P&L also receives Section 1256 60/40 tax treatment, so it should be tagged and filtered separately from stock and options trades in your journal.
Start Journaling Your Trades
Stop guessing, start tracking. JournalPlus makes it easy to journal every trade and find your edge.
Buy Now - ₹6,599 for Lifetime Buy Now - $159 for Lifetime7-day money-back guarantee