How to Export Fidelity and Schwab Brokerage Statements to Excel (2026 Guide)
Tax season is the most common reason investors need their brokerage data in Excel. Whether you're calculating capital gains for Schedule D, handing off statements to your CPA, or just trying to understand your portfolio's performance over the year, getting Fidelity or Schwab transaction data into a usable spreadsheet is a task that comes up every filing season.
The good news: both Fidelity and Schwab offer native CSV exports for recent transaction history. The catch: those exports often need cleanup, don't always cover older history, and may not be available at all if you're working from a PDF statement rather than an online account view.
This guide covers every method for getting brokerage statement data into Excel — including the fastest path for the most common situations.
Key Takeaway
Why Brokerage Statements in Excel?
Before getting into the mechanics, it helps to be clear on what you're actually trying to do with the data — because different goals call for different approaches.
Tax prep (Schedule D / Form 8949): You need to identify every sale during the tax year, calculate the gain or loss on each, and classify it as short-term or long-term. The brokerage's 1099-B covers this in summary form, but having the full detail in a spreadsheet lets you verify cost basis, spot wash sales, and prepare the 8949 line-by-line before handing it to your CPA.
CPA handoff: Accountants who prepare returns for clients with taxable brokerage accounts often want a clean transaction-level file alongside the official 1099-B. A spreadsheet is easier to annotate and reconcile than a multi-page PDF.
Portfolio analysis: Tracking your actual cost basis, return by position, dividend income, or fee drag over time requires transaction-level data that the online portfolio views don't easily provide.
Bookkeeping for self-directed retirement accounts: If you hold alternative assets or operate an LLC within a self-directed IRA or solo 401(k), structured transaction data is often required for annual reporting.
The method you use depends on which of these goals you're working toward and what data you're starting from.
Method 1: Export from Fidelity's Website (Fastest)
Fidelity's online platform lets you download transaction history directly as a CSV without any workarounds.
Steps
- Log in at fidelity.com from a desktop browser
- Navigate to Accounts & Trade > Portfolio
- Click on the account you want to export (or select "All Accounts")
- Click the Activity & Orders tab
- Set your date range — Fidelity typically lets you pull up to the last several years of history
- Click the download/export icon (a small arrow-down or "Export" button, usually near the top right of the transactions list)
- Choose CSV as the export format
- Open the downloaded file in Excel
What Fidelity's CSV Includes
| Column | What it contains |
|---|---|
| Run Date | The date the transaction settled or was processed |
| Account | Account name and number |
| Action | Buy, Sell, Dividend, Interest, etc. |
| Symbol | Ticker symbol |
| Description | Security name or transaction description |
| Type | Security type (Stock, ETF, Bond, etc.) |
| Quantity | Shares bought or sold |
| Price | Price per share |
| Commission | Any trading commission |
| Amount | Total proceeds or cost |
What's Missing
Fidelity's activity export does not include your cost basis on sell transactions. For capital gains calculation, you'll need to match each sell with its corresponding purchase. If you've held positions for years, that purchase history may span multiple export files. Fidelity does show cost basis in the Portfolio view online — you can cross-reference there, or pull a separate gain/loss report from Accounts & Trade > Tax Forms & Information > Gain/Loss Summary.
Method 2: Export from Schwab's Website
Charles Schwab's export process is similar to Fidelity's and produces a clean CSV with minimal cleanup required.
Steps
- Log in at schwab.com from a desktop browser
- Go to the Accounts tab
- Select your account, then click the History tab (sometimes labeled "Transactions")
- Set the date range — Schwab typically allows up to several years of history for most account types
- Click Export (usually in the upper right area of the transactions list)
- Schwab generates a CSV file — download and open in Excel
What Schwab's CSV Includes
Schwab's export typically includes: Date, Action (Buy/Sell/Dividend/etc.), Symbol, Description, Quantity, Price, Fees & Commissions, and Amount. Like Fidelity, cost basis is not included in the transaction-level export — it's tracked separately in the cost basis tools within the platform.
Schwab Intelligent Portfolios (Robo-Advisor)
If your account is a Schwab Intelligent Portfolios account, the export process is the same, but the transaction list will be more complex — automatic rebalancing generates frequent small buy/sell transactions. For tax purposes, Schwab sends these investors a 1099-B that consolidates all the automated trades; you typically don't need to recreate them line-by-line unless you're verifying cost basis.
Method 3: Convert a PDF Statement to Excel
If you're working from a PDF statement rather than logging in directly — because you received a statement from a financial advisor, are working with a client's documents, or need historical statements that predate the online export window — the PDF-to-Excel route is more practical than manual data entry.
When This Applies
- CPA or tax preparer processing client statements without direct account access
- Older statements not available in the online activity download
- Inherited accounts where you're pulling historical records for estate purposes
- Account consolidation where you're compiling activity from a previous broker before a transfer
- Print-only records where only a PDF or scanned statement exists
How to Convert a Brokerage Statement PDF
- Download the PDF statement from Fidelity, Schwab, or wherever it originated
- Go to CreditCardToExcel.com
- Upload the PDF
- The tool extracts the transaction table — Date, Description, Action, Quantity, Amount — into a structured spreadsheet
- Download the Excel or CSV file
The extraction works on both monthly account statements and annual tax documents (1099-B, 1099-DIV, 1099-INT). For 1099-B PDFs specifically, the resulting Excel shows each covered and non-covered transaction row — the same data you'd enter on Form 8949.
For a more detailed walkthrough of the PDF conversion process for financial documents, see our guide to converting bank statements to Excel.
Cleaning Up the Data in Excel
Regardless of which method you used, the raw export usually needs some work before it's ready for tax calculations or CPA handoff.
Common Issues and Fixes
Blank rows and header repetition: Brokerage CSVs often have blank rows between months and repeated column headers mid-file. Delete these manually or use a macro: filter for rows where the Date column equals "Date" (the header text), select all matching rows, and delete them.
Amount formatting: Some exports use parentheses for negative numbers — (1,250.00) instead of -1250.00. Excel doesn't treat parentheses as negative by default. Use Find & Replace: find ( and replace with -, then find ) and replace with nothing. Then reformat the column as Number.
Action column inconsistencies: "BUY" and "Buy" and "Purchase" may all mean the same thing in different export formats. Standardize using Find & Replace or a helper column with =UPPER(B2).
Symbol missing for dividends and interest: Dividends and interest transactions often have a description like "AAPL DIVIDEND" but no separate symbol column. A formula like =LEFT(A2, FIND(" ",A2)-1) can extract the ticker from the beginning of the description field if you need to group dividend income by position.
Structuring for Capital Gains Calculation
For Schedule D prep, structure your data with these columns:
| Column | How to populate |
|---|---|
| Date Sold | From the transaction date (sell rows only) |
| Description | Security name |
| Quantity | Shares sold |
| Proceeds | Price × Quantity (or Amount column) |
| Date Acquired | From the matching buy transaction |
| Cost Basis | Purchase price × Shares (manually matched or from cost basis report) |
| Gain/Loss | =Proceeds - CostBasis |
| Holding Period | =IF(DateSold - DateAcquired > 365, "Long-Term", "Short-Term") |
Once structured, a SUMIF on the Holding Period column gives you the totals for Schedule D:
Short-term net gain/loss: =SUMIF(HoldingPeriod_col, "Short-Term", GainLoss_col)
Long-term net gain/loss: =SUMIF(HoldingPeriod_col, "Long-Term", GainLoss_col)
These map directly to Schedule D Line 1b (short-term from covered transactions) and Line 8b (long-term from covered transactions).
Working with the 1099-B Instead
For straightforward cases — a single brokerage account, mostly covered securities, no complex cost-basis situations — the 1099-B PDF that Fidelity or Schwab issues is often the right starting document rather than the transaction-level activity export.
The 1099-B consolidates all sales into a single document with proceeds, cost basis, and short/long-term classification already calculated by the broker. If you're converting a 1099-B PDF to Excel using CreditCardToExcel, the output maps directly to the Form 8949 columns:
- Box 1a (Description) → Security name
- Box 1b (Date acquired) → Date Acquired
- Box 1c (Date sold or disposed) → Date Sold
- Box 1d (Proceeds) → Proceeds column
- Box 1e (Cost basis) → Cost Basis column
- Box 1g (Adjustments) → Wash sale or other adjustments
For investors with complex situations — multiple lots, transfers in kind, wash sales, or non-covered securities — the 1099-B alone isn't enough. You'll need to reconcile against the transaction detail, which is where the activity export or a detailed statement becomes necessary.
If you're also pulling in brokerage credit card or cash management account data for expense tracking, see our guide on how accountants use PDF statement conversion for a broader workflow that handles multiple statement types at once.
Summary: Which Method Is Right for You
| Situation | Best approach |
|---|---|
| Need current-year transactions from active account | Log in → Activity/History → Export CSV |
| Working from a PDF statement (advisor-provided, historical) | Upload PDF to CreditCardToExcel → Download Excel |
| Preparing Schedule D / Form 8949 | Export activity + cross-reference cost basis report |
| Handing off to a CPA | CSV export, or PDF statement converted to Excel |
| Need 1099-B data in spreadsheet format | Convert 1099-B PDF via CreditCardToExcel |
| Old history not in the online export window | Download PDF statement → PDF conversion |
Both Fidelity and Schwab provide solid native export tools for recent transaction history. For anything older, in PDF-only form, or where you need a faster workflow for multiple statements, PDF conversion handles the cases that the native export doesn't.
For a general guide to working with financial PDFs in this way, see our overview of converting PDF financial documents to spreadsheets.
Ready to stop manual data entry?
Convert your credit card statements to Excel in seconds. Free, no signup required.
Try CreditCardToExcel Free