DocuClipper
Back to blog
4 min read·DocuClipper Team

How To Convert a Schwab Brokerage Statement to Excel

Charles Schwab brokerage statements use a multi-section layout (Account Summary, Positions, Transaction Detail, Investment Detail). This guide shows how to convert the PDF into a clean Excel workbook with one sheet per section.

Charles Schwab brokerage statements ship with a consistent multi-section layout: Account Summary, Positions, Transaction Detail, and (when applicable) Investment Detail breaking out dividends and interest by security. The format is regular but the volume is high, a quarterly statement on a multi-position taxable account can run 30+ pages.

This guide walks through converting a Schwab statement PDF into Excel with DocuClipper's brokerage statement converter.

Drag & Drop Brokerage Statement Here

or

No file selected yet.

While you are here

Extract holdings and activity from any broker PDF

Upload a brokerage statement from Fidelity, Schwab, Vanguard, Merrill, E*TRADE, or Robinhood and DocuClipper returns structured tables (positions, buys/sells, dividends) ready to export.

How DocuClipper maps Schwab sections to Excel sheets

Schwab statement sectionExcel sheetWhat's in it
Account SummarySummaryBeginning value, ending value, change in account value, deposits, withdrawals, dividends/interest received
PositionsHoldingsSymbol, description, quantity, market price, market value, cost basis, unrealized gain/loss, % of account
Transaction DetailActivityTrade date, settle date, type (buy/sell/journal/MMF activity), symbol, quantity, price, amount, fees
Investment DetailIncomeDate, symbol, income type (qualified dividend / non-qualified / interest / cap gain), amount

Schwab's "Money Market Funds" lines (sweep activity in SWVXX/SNAXX) are extracted into Activity with type=mmf_sweep so you can filter them out of trading-only views.

Step 1: Upload the Schwab PDF

Drop the Schwab statement onto the upload area. Both Schwab.com downloads and scanned/photographed mailed copies extract correctly, image PDFs go through OCR first.

For combined statements covering multiple Schwab accounts (taxable + Roth IRA + Traditional IRA), you can upload the single file. DocuClipper splits each account into its own row set in each sheet, tagged with the account number.

Step 2: Review extracted Positions

The Holdings sheet is the most useful starting point. Every Positions row from the Schwab PDF should be there with cost basis and market value. For taxable accounts, Schwab prints cost basis on the Positions page; for IRAs, the cost-basis column is typically blank, which is expected.

% of account is preserved from the printed statement (Schwab calculates this themselves), so allocation views match the PDF without recomputing.

Step 3: Walk the Transaction Detail

Schwab's Transaction Detail is where buys, sells, dividends, journals, fees, and money-market sweep activity all live. DocuClipper preserves both trade_date and settle_date columns since the difference matters for tax-lot work.

For accounts with options activity, options trades are extracted with the full OCC symbol (e.g. SPY 240920C00450000) in the symbol column, useful if you're piping the data into a tax-lot tool.

Put it into practice

Manually copying brokerage data creates reconciliation errors

Cost basis, market value, realized gains: these numbers compound errors when retyped. DocuClipper extracts them directly from the statement so holdings and activity tie out the first time.

Step 4: Confirm reconciliation, export to Excel

The Summary sheet's reconciled flag is set when the calculated period-end (starting value + deposits + dividends + market change – withdrawals – fees) matches the printed ending value. If it doesn't, the discrepancy is highlighted so you can investigate.

Then Export → Excel for a single .xlsx workbook with all four sheets, or Export → CSV per sheet.

Schwab-specific notes

  • Schwab One vs Schwab Bank lines: Schwab Bank checking activity (when linked) shows up under a separate account block. Bank lines land in Activity tagged bank_debit / bank_credit so they don't get conflated with brokerage trades.
  • TDA-legacy accounts: Post-merger, ex-TD Ameritrade accounts use the Schwab statement template. DocuClipper detects them as Schwab.
  • Fixed-income holdings: Bonds and CDs in the Positions block are extracted with CUSIP, coupon, maturity, and accrued interest into the Holdings sheet.
  • Fractional shares ("Schwab Stock Slices"): preserved with full decimal precision in the quantity column.

Frequently asked questions

Does this work with PaperlessPost or mailed Schwab statements?

Yes. Both digital downloads (Schwab.com PDF) and scanned/photographed paper statements work. DocuClipper runs OCR on image PDFs before extraction.

Will it extract Schwab's "Charges and Other Activity" section?

Yes, fees, margin interest, and miscellaneous debits/credits land in the Activity sheet with type=fee, type=interest_charge, or type=other.

Can I get just one section as a CSV?

Yes. Each sheet (Holdings, Activity, Income, Summary) is downloadable as a separate CSV. You don't have to take the full workbook.

What about Schwab 1099-DIV / 1099-B?

Those are separate year-end tax documents. The brokerage statement converter handles the monthly/quarterly account statements. If you need 1099-B sale data, that's a different workflow we don't yet support.

Multi-account households?

Schwab combined statements are supported. Each account's rows carry the source account number, so you can filter or split into per-account workbooks.


Next step

Convert your brokerage statement: free 14-day trial

Upload any PDF brokerage statement and download Holdings, Activity, and Income in a clean Excel workbook. No credit card required.

Try DocuClipper free

Automate your financial document workflows

Extract data from bank statements, invoices, and receipts with 99.6% accuracy. Export to Excel, QuickBooks, or Xero in seconds.

Start free trial14-day free trial · No credit card required