To export from Schwab: log in, open Accounts → History, set the view to Transactions, pick a date range, Search, then Export — the file arrives as a CSV. One trap: exports cap at ~1,500 rows, and past the cap the file arrives empty — no error, no warning. If your download opens blank, shorten the date range and export again.
Schwab’s export flow is quick and the presets are genuinely useful — but it enforces a limit it never tells you about. Here’s the exact flow, why “successful” exports sometimes contain nothing, and the habits that keep your records complete anyway.
Key Takeaways
- Export path: Accounts → History → Transactions → date range → Search → Export.
- The silent cap: ~1,500 rows per export — exceed it and the file arrives empty, with no error shown.
- The habit: open every file and check the first and last dates before filing it — blank or short files are how gaps happen.
- The horizon: ~4 years of history online, with possible gaps from the TD Ameritrade migration — statements are the fallback.
Where is the CSV export in Schwab?
On the History page — export what you’ve searched. The steps, on the website:
- Log in at schwab.com and open Accounts → History (exports run per account).
- Set the view to Transactions.
- Pick a date range — the presets (Previous Year, Current Year) are handy, or set custom dates. Keep ranges modest on busy accounts.
- Click Search, let the results load, then Export and confirm — the CSV downloads immediately.
The Previous Year preset maps exactly onto the US tax year — one click, one file per year, if your activity fits under the cap. Active traders: go quarterly instead, and merge the four files. Either way, open each file and sanity-check the first and last dates before archiving it.
The 3 things that trip people up
| Trap | What happens | Fix |
|---|---|---|
| The ~1,500-row cap | Over the limit, the export “succeeds” but the file is empty | Shorten the range — quarters usually fit — and export again |
| No warning either way | Nothing tells you rows were dropped or missing | Open every file; check first/last dates and row count against expectations |
| TD Ameritrade-era gaps | Migrated accounts can be missing older history online | PDF statements are the fallback record — archive them for the missing years |
What’s in the file — and what to watch
One row per event — trades, dividends, interest, transfers and fees — with dates, symbols, descriptions, quantities, prices and amounts. Remember that every row counts toward the ~1,500 cap, not just trades: on income-heavy accounts, dividend and interest lines quietly eat the budget. And as with any broker file, don’t round fractional share quantities — those decimals are your cost basis.
Isn’t my 1099 enough for taxes?
For filing, mostly yes. For proving, no. Schwab’s consolidated 1099 covers what Schwab knows for that year — but wash sales that span brokers, positions transferred in with older basis, and anything the IRS asks about later are yours to substantiate. Your exports are that evidence trail. One folder per tax year, kept permanently.
Using more than one platform? Our free US broker export cheat-sheet covers the export path, format and trap for 8 US platforms on one printable page. For the walkthroughs: our Fidelity export guide (a 90-day cap instead of a row cap) and our Robinhood export guide (a generate-and-wait report, not a download).
Keep every year’s export permanently. Broker interfaces, limits and history horizons change without notice — your saved files are the record that survives. Avex AI provides software and educational content, not investment or tax advice. Avex AI is not affiliated with or endorsed by Charles Schwab.
Almost always the silent row cap: exports over ~1,500 rows arrive as an empty file, with no error shown. Shorten the date range — quarters usually fit comfortably — and export again.
Use the Previous Year preset for a clean tax-year file. If the year holds more than ~1,500 rows of activity, split it into quarters and merge the four files in a spreadsheet.
Not always — accounts migrated from TD Ameritrade can be missing older history online. For those years, your PDF statements are the record; archive them rather than assuming the export reaches back.
Yes — they appear as rows alongside trades, each tagged by type. Note they also count toward the ~1,500-row cap, which is why income-heavy accounts hit it sooner than expected.
The 1099 covers filing for that broker and that year. Cross-broker wash sales, transferred cost basis and any later IRS questions need your own records — the exports are how you prove your numbers.