Schwab Statement to Excel
Convert Charles Schwab statement PDFs into Excel. FlowParse reads each table on the statement — the account summary, your positions, the transactions for the period and any gains tables — and puts each on its own sheet, with Schwab's column headings kept as printed.
Scanned or digital · multi-page · every line preserved · review before export
From a Schwab PDF to a working spreadsheet
A fictional sample document converted by the same engine you get — flip through the source PDF and every export format, or download the files themselves.
Schwab keeps up to four years of transaction history on Schwab.com, but up to 10 years of brokerage statements. For the years in between, and for positions at a date, the statement PDF is the source.
Upload the statement, review what was read, and download Excel or CSV — one sheet per table.
No templates
Reads the tables on the page, with no per-provider setup.
Types kept as printed
The statement's own words for each transaction, not a code we made up.
Every column kept
Same names, same order as the statement — one sheet per table.
Checked before export
Completeness check, wrapped headers checked against the page, doubts on a QA sheet.
What FlowParse reads from a Schwab statement
A Schwab statement is a set of tables: an account summary, the positions you hold with their values, the transactions for the period — trades, dividends, interest, transfers and fees — and sometimes gains information. FlowParse finds each table and keeps it whole, with Schwab's own column headings.
Nothing is renamed into a generic layout and nothing is re-signed, so each sheet can be compared line for line with the PDF.
| Field | Captured in the export |
|---|---|
| Summary | Broker, account holder, masked account number, statement period, currency |
| Holdings / positions | The broker's own columns — security, quantity, price, market value, cost basis where printed |
| Account / cash activity | Dated activity lines exactly as printed — buys, sells, dividends, interest, transfers, fees |
| Realized & unrealized gains | Gain and loss tables, where the statement includes them |
| Other tables | Asset allocation, stock options, restricted awards — each kept as its own table |
Why one sheet per table
Positions are values at a date; transactions are things that happened. Mixed into one list, the market value of every holding sits next to a few dollars of interest, and no total over the column means anything.
Separate sheets let you total the transactions, filter the positions, or move the gains table into your own tracker without untangling them first.
New to this? Read the guide on how to extract transactions from a PDF.
From PDF to clean data in three steps
1 · Upload the PDF
Drop one statement or many — digital or scanned, any number of pages.
2 · Each table is read
Summary, holdings, activity — each table kept whole, with the statement's own columns.
3 · Review & export
Check the preview and the QA list, then download Excel or CSV.
Convert to the format you actually need
The same extraction powers every export, so you only convert once and choose the output your next tool expects — a spreadsheet to analyse, a CSV for tax software, or a bank-feed file for your accounting tool.
| Format | Best for |
|---|---|
| Excel (.xlsx) | A Summary sheet plus one sheet per table on the statement — holdings, activity, gains |
| CSV | Every table in one grid, for a spreadsheet or another tool |
Related: PDF to CSV, Bank Statement to Excel, Brokerage Statement to Excel.
Useful for tax checks
Schwab's 1099 is the document of record for tax. The converted statements are how you check it — every month's transactions in one place, so you can confirm the dividends, interest and sales behind each figure and find the line behind anything that looks wrong.
For an accountant with several Schwab clients, the same sheets make a year of activity readable without opening a stack of PDFs.
Excel and CSV — not accounting files
Brokerage statements export to Excel and CSV. There is no QuickBooks, OFX or Xero file for them, because those formats carry bank transactions and positions and trades do not fit without inventing figures.
If you need the transfers between your bank and Schwab in your books, convert the bank statement — they appear there as ordinary bank lines.
A year of Schwab statements at once
Smart Merge combines several statements into one workbook, stacking the same table from each — every month's activity in one sheet, every month's holdings in another. It takes up to 5 files on the free plan (with an account), 20 on Starter and 100 on Pro.
A year of statements becomes one workbook you can sort and filter, each table still on its own sheet.
Where Schwab keeps what, and for how long
Schwab publishes two different windows, and the difference between them is the reason statements still matter. On the Schwab Mobile app, statements and other documents are under More → Documents; on Schwab.com, under Accounts → Statements & Tax Forms.
| What | Where on Schwab | How far back |
|---|---|---|
| Transaction history | Schwab.com → Accounts → History | Up to four years |
| Brokerage statements | Schwab.com → Accounts → Statements & Tax Forms; Schwab Mobile → More → Documents | Up to 10 years |
| Tax documents and trade confirmations | Same place as statements | Up to 10 years |
History or statements: which to use
Inside the four-year window, Schwab's own transaction history is the most direct source for transactions. Statements are the better source when:
- The year you need is more than four years back but within the 10 years of statements.
- You need positions and values at a date — history lists transactions, not holdings.
- You need the document itself, exactly as Schwab issued it, for an auditor, an estate or a dispute.
- You are working from statements someone else downloaded and sent you, without access to the account.
Former TD Ameritrade accounts
Schwab says that TD Ameritrade history is now shown under your Schwab account number, along with your recent Schwab history. Older statements issued by TD Ameritrade still look like TD Ameritrade documents, though. Because FlowParse reads a statement by its tables rather than a fixed Schwab template, those older statements come out the same way — summary, positions and activity on separate sheets — so a span of years that crosses the move can sit in one workbook.
Trade confirmations next to statements
Schwab keeps trade confirmations for up to 10 years, in the same place as statements. The two answer different questions. A statement tells you that a trade happened in the period and what it did to the account; a confirmation is the record of that single trade, issued when it was executed.
When a figure on a statement is in question — the price you bought at, a fee, the settlement date — the confirmation is the document to look at. Keep the converted statements as the year-long view, and go to the confirmation for the detail of any one trade.
Estates, closed accounts and old years
The cases where statements matter most are the ones where nobody can simply log in and download history: an executor gathering a parent's accounts, an accountant asked about a year that has dropped out of the four-year history window, or an account that was closed and transferred elsewhere. In each case what exists is a stack of statements, often a mix of downloaded PDFs and printed copies.
Converting them gives you each year's holdings and activity in a form you can total and search, with every figure still exactly as Schwab printed it. Keep the PDFs alongside the workbook: the workbook is for working, the statement is the evidence.
Several Schwab accounts
A brokerage account, an IRA and a second account for a specific goal each have their own statements and, for the retirement account, their own tax rules. Convert and merge them one account at a time, with the account number in the file name, so a year of activity for one account never mixes with another's. For an overall picture, take the closing positions from each account's last statement of the year onto one summary sheet, rather than stacking all the activity together. That keeps the retirement account's contributions and withdrawals out of the taxable account's figures.
How a brokerage statement comes out in Excel
A brokerage statement is not one table but several: a summary, the positions you hold, what happened during the period, and often realised gains or an asset-allocation breakdown. Flattening all of that into one list would mix market values with cash movements. So each table keeps its own sheet and its own columns, named the way the statement names them.
| Sheet | What is on it |
|---|---|
| Summary | Broker, holder, masked account number, statement period, currency |
| Holdings | Positions at the statement date — a valuation, not a movement |
| Account Activity / Cash Activity | What happened in the period, line by line |
| Realized Gains / Unrealized Gains | Gain and loss tables, when the statement prints them |
| Asset Allocation, Stock Options, Restricted Awards | Each kept separately when present |
| QA | Anything the reader was unsure of, to check before you rely on it |
Checking your 1099 against the statements
The year-end tax form is the document your return is built on, and it is usually right. When it is not, or when a figure on it surprises you, the monthly statements are where the answer is. A check that takes an evening:
- Convert every statement for the tax year — all twelve months, or all four quarters — and merge them so each table sits in one sheet across the year.
- On the activity sheet, filter to dividends and total them. Compare with the dividend total on the 1099. A gap is usually a dividend paid in January for the previous year, or one reclassified after year-end.
- Do the same for interest, and for sales: every sale on the 1099 should appear as a sale in the activity, on the same date and for the same proceeds.
- Look for activity with no counterpart on the form — a transfer between your own accounts, a reinvestment, a corporate action — and make sure you know why it is not there.
- Keep the workbook with the return. If a figure is questioned later, the line behind it is one filter away.
Three spreadsheet mistakes with brokerage data
Once brokerage statements are in Excel, the same three mistakes come up again and again. Each one produces numbers that look plausible and are wrong.
Adding up holdings across months. A holdings table is a snapshot: the value of everything at one date. Twelve monthly snapshots stacked in one sheet do not add up to anything — summing them counts the same shares twelve times. Use the last snapshot for a year-end value, and compare snapshots side by side rather than totalling them.
Counting reinvested dividends twice. When a dividend is reinvested, the statement usually shows two lines: the dividend coming in, and a purchase of shares with it. Both are real, but only the dividend is income. Totalling every positive line as income, or every purchase as new money invested, double-counts.
Treating transfers as gains or losses. Money moved from your bank, or between two accounts at the same broker, shows up as activity. It is not income and not a loss — it is the same money in a different place. Filter transfers out before you total anything that is supposed to mean performance or income.
What this does not do
Two limits are worth knowing before you upload. First, there is no QuickBooks, OFX or Xero file for a brokerage statement: those formats describe bank transactions, and a statement full of positions and trades does not map onto them honestly. You get Excel and CSV. Second, the figures are kept as the broker printed them — FlowParse does not compute cost basis, wash sales or tax lots for you. For a tax return, the broker's own 1099 remains the document of record; the converted statements are what you use to check it, analyse it, or hand the detail to an accountant.
It also does not value anything. Market values, prices and gains are whatever the broker printed on the statement date; nothing is refreshed with today's prices, converted between currencies or recalculated. If a figure on the sheet differs from what you see in the broker's app today, the statement is not wrong — it is a record of that date, which is exactly what makes it useful as evidence.
Your financial data stays private
Account and transaction statements are sensitive documents. FlowParse is built so converting one never puts it at risk.
Encrypted transfer
Every upload and download runs over TLS.
Deleted automatically
Your original PDF is deleted automatically after 30 days.
EU servers
Stored on servers in the EU.
No AI training
Your documents are never used to train models. GDPR-aligned.
Read the full security overview.

