Check wash sales from your IBKR statements (across every account you own)

By the Wash-Sale Guardian team · Published 2026-07-14 · Last updated 2026-07-14 · How we check our facts

IBKR traders have the most wash-sale exposure and the best data to check it with. High trade counts mean more 61-day windows open at once — and if you also run accounts at Schwab or Fidelity, or your IRA sits elsewhere, IBKR's own wash-sale netting can't see any of it (why). Drop your Activity Statement CSV into our free checker — it parses IBKR's multi-section format directly, in your browser, nothing uploaded.

How to export your IBKR trade history (CSV)

  1. Log in to Client Portal → Performance & Reports → Statements.
  2. Run an Activity statement for the widest period you need → download as CSV.
  3. Drop the whole file into the checker — no need to trim it; we extract the Trades section and ignore the rest.
  4. Power-user alternative: Flex Queries (Performance & Reports → Flex Queries) give execution-level exports with exactly the fields you pick, and can be automated with a read-only token.

IBKR CSV quirks (what our parser handles for you)

Quirk What it looks like Why it matters
Multi-section file Every row prefixed: Statement, Trades, Open Positions… Only the Trades section is trade data; the rest must be ignored cleanly
Order vs Trade rows DataDiscriminator "Order" AND "Trade" for one fill The classic double-count trap — ingesting both doubles your share counts and corrupts every downstream number
Signed quantities -100 = sell; "1,000" with commas Sign carries the side; comma grouping breaks naive number parsing
Real timestamps "2026-06-10, 09:30:15" The only broker giving intraday times — improves same-day ordering
Option symbology "NVDA 18SEP26 500 C" Must normalize to contract identity to match Schwab/Fidelity/Robinhood formats

1099-B behavior

IBKR applies same-account wash adjustments in box 1g and is popular with traders who make hundreds of fills — which is precisely when deferral snowballs get big (what those 1g totals really mean). Cross-account adjustments go on Form 8949, code W.

Check it free

Open the checker, drop the Activity Statement CSV plus your other accounts' exports, and get violations, open windows with safe dates, IRA-permanent flags, and a year-end summary — free, in your browser (methodology).

Frequently asked questions

Does Interactive Brokers adjust for wash sales?

Within one account, yes — IBKR applies wash-sale adjustments on the 1099-B for identical securities in that account. Across your other brokers, your spouse’s accounts, or outside IRAs, no broker can see the trades, so the IRS-level answer is on you.

What is the best IBKR report for wash sale checking?

An Activity Statement exported as CSV (Performance & Reports → Statements → Activity) works directly. Power users can build a Flex Query for execution-level trade data; either way, include the full period you have traded the symbols you want checked.

Why does my IBKR statement show both Order and Trade rows for one fill?

Statements exported with execution detail contain an Order summary row plus its constituent Trade execution rows. Counting both double-counts the fill — a wash-sale tool must use one level only. Ours uses the execution (Trade) rows when both are present.

Do IBKR partial fills mess up wash sale math?

They shouldn’t — partial fills are separate execution rows with timestamps, which is more precise data than most brokers give. Don’t manually de-duplicate them; they are genuinely distinct fills.