Drop in an Interactive Brokers activity statement and get clean, columned rows instead of a stacked CSV or a locked PDF. Built for active traders, RIAs, funds, and the accountants who receive the statement rather than the login. Start free, no credit card.
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
IBKR gives you the activity statement as a PDF, or as a CSV that is really a stack of separate tables glued together, one for trades, one for dividends, one for cash transactions, each with a different number of columns. Excel loads that as a jumble because no single header describes the file. Upload the statement here and each section comes back as usable rows with dates, symbols, quantities, prices, and amounts in their own columns, ready for a tax schedule, a performance model, or a bookkeeping import. Last updated July 2026.
Interactive Brokers reports more detail than almost any other US broker. The trouble is the shape it arrives in, not the completeness.
An activity statement CSV concatenates every section into one file. The column count and meaning change from section to section, so a normal spreadsheet import or a pandas read_csv call fails on it.
The second column of each row marks it as Header or Data, and a new header row appears every time a new section starts. Sorting the file destroys it, because the structure is positional.
The longest single Flex Query period is the last 365 calendar days. Anything beyond a year has to be pulled as several files and stitched, and the fields have to be configured identically each time or the files will not stack.
Traders forward the annual statement as a PDF because it is the one document that looks official. Whoever prepares the return then has no structured data at all, only pages.
Once an account is closed the reporting tools stop being an option, and the archived statement you saved is the only surviving record of the year.
IBKR accounts routinely hold several currencies, so cash activity is reported per currency with separate base currency conversions. Flattened badly, the totals stop meaning anything.
Each section of the statement becomes a proper table with one header and consistent columns, from either the PDF or the exported file.
Trades, dividends, withholding tax, interest, fees, deposits and withdrawals, and cash report lines come out separated rather than stacked in one column set.
Date, symbol, quantity, trade price, proceeds, commission, and realized profit or loss stay in distinct columns so the sheet can drive a gain and loss schedule.
Deposits, withdrawals, dividends, interest, and fees are kept apart from trades, which is what a bookkeeper needs to post the account without double counting.
Multi currency activity stays labeled by currency rather than being summed across denominations into a meaningless total.
Convert several annual statements together and get one continuous, date ordered sheet without configuring a query for each period.
Nothing connects to Interactive Brokers. You upload a statement you already downloaded and download a spreadsheet.
From the document you already have to a working sheet.
In Client Portal open Performance and Reports, then Statements, and run an activity statement for the period you need. Save the PDF, or the CSV if you have it.
Tip: Annual is the usual choice for tax work.
Drag the file into the box above. Each section of the statement is read separately so the varying column counts do not collide.
Tip: Upload several years together if you need them.
Save the result as XLSX or CSV, then tie the cash section back to the statement opening and closing balances before you use it.
Tip: If it ties, the rest of the sheet is sound.
People who need the numbers in columns, usually under a deadline.
Build a realized gain and loss schedule, check commission drag, and reconcile a broker figure against your own trade log.
Pull client activity into a performance or billing model when the reporting feed does not cover an account or a period.
Work from the statement a client forwarded rather than asking for portal access, and get the detail behind a summary figure.
Reconcile the broker record to the fund books, and separate trading activity from cash movements for the administrator.
In Client Portal, open Performance and Reports and choose Statements to run a standard activity statement for a day, month, year, or custom period, then download it as a PDF or CSV. For more control, use Flex Queries instead, where you pick the exact sections and fields and output XML, CSV, or delimited text. Flex is the better choice for anything you will run repeatedly, and the statement is the better choice when you just need the official document.
Read it as a set of independent reports that happen to share a cover page. The account information and net asset value sections tell you where the account started and ended. The trades section lists every execution with quantity, price, proceeds, and commission. Dividends, withholding tax, and interest each get their own section. The cash report ties everything together, and it is the section to check first, because if the cash report reconciles from opening to closing balance then the sections beneath it are complete.
| What you need | Activity Statement | Flex Query | Converting the statement |
|---|---|---|---|
| Official document for a client or accountant | Yes, the PDF | No, it is a data extract | Keeps the PDF and adds the data |
| Clean single table of trades | No, sections are stacked | Yes, if configured | Yes, split by section |
| More than one year in a single file | Limited by period selection | No, 365 day maximum | Yes, convert several statements together |
| Data for an account you no longer access | Not available once closed | Not available once closed | Works from the archived statement |
| You only received a forwarded PDF | Needs the account login | Needs the account login | Works from the document alone |
Because it is not one table. The activity statement CSV writes each section one after another in the same file, and every section has a different number of columns with different meanings. The first column names the section and the second marks the row as Header or Data, which is how software is meant to tell them apart. A spreadsheet has no such logic, so it applies the first header row to everything and the rest of the file lands under the wrong labels. Splitting by section first is the fix, and that is what the converter does for you.
The annual activity statement is the working document behind a US tax schedule, but it is not the tax form. Interactive Brokers issues the relevant year end tax forms separately, and those are what get filed. Where the activity statement earns its keep is in the detail: matching lots, checking wash sale adjustments against your own records, separating dividends from payments in lieu, and identifying withholding tax on foreign positions. All of that needs rows, not pages. Convert the statement, sort by symbol and date, and the schedule builds itself. For the cash side of the year, deposits and withdrawals reconcile against your brokerage statement workflow and your bank records.
Funds, family offices, and any trader running the account inside an entity have to post this activity to a general ledger rather than just file it. Once the sections are separated, the cash report drives the bookkeeping entries and the trades section drives the investment schedule. If you keep the entity books alongside operating bank accounts, the Schwab and Fidelity converters handle the other custodians the same way, advisors covers the wider practice workflow, and transaction categorization codes the cash lines before they hit the ledger. Where the books live in QuickBooks, the converted rows can go across with a bank statement to QuickBooks converter instead of being entered twice.
Download the activity statement from Client Portal under Performance and Reports, then upload the PDF or CSV here. Each section of the statement is read separately, so trades, dividends, interest, fees, and cash activity come back as proper tables with consistent columns rather than one stacked file.
The activity statement CSV contains many sections in one file, and each section has a different column count and meaning. Excel applies the first header row to the whole file, so everything after the first section lines up under the wrong labels. The file has to be split by section before it makes sense.
The activity statement is the standard report Interactive Brokers produces, downloadable as PDF or CSV. A Flex Query is a customizable extract where you choose the exact sections and fields and output XML, CSV, or delimited text. Flex gives more control, the statement is the official looking document.
A Flex Query covers at most the last 365 calendar days in a single file, so multiple years require several runs configured identically and then stitched. Converting saved annual statements avoids that, because you can process several periods together in one pass.
Yes. The conversion works from the document rather than from a live connection, so an archived statement from a closed account converts exactly like a current one. That is often the only surviving record once portal access ends.
Yes. Cash activity is kept labeled by currency rather than summed across denominations, which matters because an IBKR account commonly holds several currencies and a blended total is not a meaningful figure.
The converted statement is working detail, not a tax form. Interactive Brokers issues year end tax forms separately and those are what get filed. The activity statement detail is what you use to build gain and loss schedules and to check the summary figures against your own records.
No. Interactive Brokers is a US broker dealer, so what it issues is a brokerage activity statement rather than a bank statement. The conversion works the same way, but the sections are trades, dividends, and cash activity rather than deposits and checks.
Any brokerage statement into rows.
Built for advisory practices.
From the same family of tools
Get started converting bank statements to spreadsheets.
USD
per month
billed as
$288 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
Scale statement conversion across your team with automation.
USD
per month
billed as
$888 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
Enterprise-grade bank statement conversion and controls.
USD
per month
billed as
$ yearly
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |