Guide · Export CSV · Charles Schwab
Export a Charles Schwab CSV — brokerage transactions and account history.
Schwab is one of the better brokerages for self-serve CSV export — the path is clear, the format is consistent, and you can filter by transaction type before downloading. The one quirk: Schwab's CSV prefixes the file with a few account-info rows before the real column header lands, which makes some budget tools choke. Here's the route plus what to know about the format.
Step-by-step: export from Charles Schwab
- Sign in at schwab.com on a desktop browser. The Schwab Mobile app doesn't expose the full transaction-export flow.
Screenshot
schwab.com signed-in landing page with accounts
- Click the Accounts tab in the top navigation.
- Click History in the secondary nav (under Accounts).
Screenshot
Accounts tab with History selected in secondary nav
- If you have multiple Schwab accounts, select the one you want from the account dropdown at the top.
- Set the Date Range. Use Custom to pick specific From/To dates; the date range allows several years of history depending on account age.
- Filter by transaction type if needed via Filter by Transaction Types — make sure Select All is checked if you want everything (trades, dividends, deposits, withdrawals, fees).
Screenshot
history page with custom date range and transaction-type filter open
- Click Search to populate the history table.
- Click the Export button (top-right of the table). Select CSV as the export type. Click Export again to confirm.
Screenshot
export dialog with CSV selected
- CSV downloads to your browser's downloads folder.
What you'll get
- Format: CSV with columns
Date,Action,Symbol,Description,Quantity,Price,Fees & Comm,Amount. The file has several account-info prefix rows before the real column header — account number, account name, export timestamp — that need to be skipped by any consuming tool. - Date range: Schwab's history goes back roughly as far as the account's open date, with the live export supporting multi-year date ranges in a single download.
- Sign convention: single signed
Amountcolumn. Buys are negative (money out of the cash account), sells are positive. Dividends are positive. Fees are negative. - Sort order: by default, Schwab exports newest-first. Sort by Date ascending (oldest-first) before exporting if you care about row order.
Importing into Arden
Drop the file onto /import. Arden's parser scans the first 15 rows for the real column header — the Schwab prefix rows get skipped automatically, no manual cropping. The signed Amount column maps cleanly, the Action column distinguishes buys from sells from dividends, and your transactions land in the right account with the right types. If you have an IRA and a taxable brokerage, run the export twice (one per account).
Quirks specific to Charles Schwab
- Prefix rows before the real CSV header. Schwab puts account name, account number, and export timestamp on the first several rows. Budget tools that assume row 1 is the header will fail. Arden's parser handles this by scanning for the first row that looks like real column names.
- Single export covers many transaction types. Trades, dividends, deposits, withdrawals, and fees all come in one file — distinguished by the
Actioncolumn. Use the filter before export if you only want trades. - Schwab acquired TD Ameritrade in 2023. If you had a TD account, those transactions are now in Schwab under the same export path — but the legacy TD account number is still in the file, which can confuse account-matching logic in budget tools.
Fees & Commis its own column, not part ofAmount. Other brokerages bundle fees into the cash-impact amount; Schwab keeps them separate. Arden imports both — theAmountcolumn gives net cash impact.
FAQ
Can I export multiple Schwab accounts at once?
No. Pick one account from the dropdown, export, then switch and export again.
Does Schwab offer QFX or OFX?
Yes — both are in the same export dialog. Arden ingests CSV — pick CSV.
Why does my Schwab export include corporate actions and "JOURNAL" entries?
Schwab logs internal cash movements (sweeps, dividend reinvestments, corporate actions like stock splits) as their own rows. Arden imports these but tags them as informational; they don't affect your buy/sell record.
Exporting from other banks?
Or just drop any CSV, XLSX, OFX, or QFX onto /import and Arden handles the rest.