Skip to content

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

  1. Sign in at schwab.com on a desktop browser. The Schwab Mobile app doesn't expose the full transaction-export flow.
  2. Click the Accounts tab in the top navigation.
  3. Click History in the secondary nav (under Accounts).
  4. If you have multiple Schwab accounts, select the one you want from the account dropdown at the top.
  5. Set the Date Range. Use Custom to pick specific From/To dates; the date range allows several years of history depending on account age.
  6. 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).
  7. Click Search to populate the history table.
  8. Click the Export button (top-right of the table). Select CSV as the export type. Click Export again to confirm.
  9. 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 Amount column. 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 Action column. 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 & Comm is its own column, not part of Amount. Other brokerages bundle fees into the cash-impact amount; Schwab keeps them separate. Arden imports both — the Amount column 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.

Or just drop any CSV, XLSX, OFX, or QFX onto /import and Arden handles the rest.