How to Convert PayPal CSV Transaction History to Excel
To convert your PayPal transaction history to Excel, download the CSV from PayPal under Activity > Statements > Custom Account Statements, choose your date range and CSV format, then import the file into Excel with Data > From Text/CSV so your dates, amounts, and transaction IDs survive intact. Once it is in Excel you can fix the currency and fee columns, split the data by transaction type, and reconcile what PayPal paid you against what landed in your bank.
This matters most for sellers and freelancers: PayPal reports payments, refunds, fees, holds, and currency conversions as separate rows with Gross, Fee, and Net columns, and the export includes time-zone stamps and currency codes that break badly if you just double-click the file. The steps below give you a clean, trustworthy spreadsheet in about ten minutes — plus a troubleshooting section for the four problems that bite almost everyone.
Step 1: Download the Right CSV from PayPal
PayPal's export options are scattered across two pages, so start in the right place:
- Log in to PayPal and open Activity (the main transactions page).
- Click Statements (usually under Activity or in the top menu), then choose Custom Account Statements.
- Select Transaction history, pick your date range — a full calendar month or quarter works best for bookkeeping — and choose CSV as the file type.
- Download the file and do not open and re-save it yet. Save it to a folder named for the period, for example
PayPal_2026-09.csv, and keep the original as your unedited archive copy.
A quick note on what you get: the PayPal activity CSV is one row per event, not one row per sale. A single customer order can generate three or more rows — the payment, the PayPal fee, and later a refund or chargeback — each with its own Type value and its own positive or negative Gross amount. That is normal. Do not "clean up" the file by deleting rows before you understand the Type column, or your totals will never match PayPal's own balance.
If you need the money-side view instead — what actually moved to your bank — run a second export filtered to Withdrawals / Transfers only. The Stripe payout reconciliation walkthrough follows the same two-export pattern (transactions plus payouts) and its reconciliation logic transfers directly to PayPal.
Method 1: Double-Click to Open (Quick Look Only)
The simplest route is to double-click the CSV file so it opens in Excel. This is fine for a quick glance — "how many payments came in this week?" — but it is not safe for bookkeeping, because Excel guesses how to interpret every column and its guesses are frequently wrong for PayPal data:
- Transaction IDs longer than 15 digits get converted to scientific notation and lose their last digits permanently. That damage is silent and irreversible once saved.
- Dates in PayPal's export (often
DD/MM/YYYY HH:MM:SSwith a time zone) get reinterpreted into your computer's locale format, flipping day and month for half the month. - Amounts with thousand separators may land as text, so your totals quietly skip them.
Use Method 1 only to confirm the download worked and the date range looks right. For anything you will total, filter, or send to an accountant, use Method 2.
Method 2: Import with Data > From Text/CSV (The Safe Route)
This is the method you should use for real work. It takes about sixty extra seconds and protects every column that matters.
- In Excel, go to Data > From Text/CSV.
- Select your PayPal CSV and click Import.
- In the preview window, verify the delimiter is Comma and the File Origin is 65001: UTF-8 — PayPal includes international buyer names, and UTF-8 keeps them readable.
- Click Transform Data (not Load). In Power Query, select the columns that must stay text — Transaction ID, Reference Txn ID, and any invoice numbers — and set their data type to Text explicitly. This is the single most important click in the whole process: it stops Excel from destroying long IDs.
- Set the Date column to Date/Time and the Gross, Fee, and Net columns to Decimal Number.
- Click Close & Load. Rename the sheet to something like
PayPal_2026-09.
The Power Query step is what makes this method safe: column types are locked in before Excel sees the data, so no value gets silently mangled. If you ever re-download and re-import the same report, save the query and just refresh it instead of repeating the setup.
Method 3: Convert Online First (No Excel Hassle)
If you do not have desktop Excel, or you want a clean .xlsx before you start, convert the CSV to Excel in your browser first. The free CSV to Excel converter turns your PayPal download into a formatted Excel file you can open in Excel Online, Google Sheets, or LibreOffice — handy when you are reconciling on a laptop that does not have Excel installed.
Whichever online tool you use, follow two rules. First, upload only what you need — if the CSV contains buyer names and emails you do not need for your books, consider whether your accounting really requires them. Second, after conversion, still verify the column types: open the result and spot-check that transaction IDs are intact and dates sort correctly before you build formulas on top of them. An online conversion gets you the file fast; the verification in Method 2 is what makes it trustworthy.
Comparison: Which Method Should You Use?
| Method | Best for | Keeps fees accurate? | Handles multiple currencies? | Effort |
|---|---|---|---|---|
| Double-click open | Quick glance at the data | Risky — amounts can import as text | Poor — codes and symbols often misread | Seconds |
| Data > From Text/CSV | Bookkeeping, tax prep, reconciliation | Yes — Net column stays numeric | Yes — set currency column to Text, sum per currency | A few minutes |
| Online converter | No desktop Excel, quick cleanup | Yes if you verify column types after | Yes — same verification applies | A couple of minutes |
For anything involving money, choose the second or third row. The first row is a preview tool, not a workflow.
Understanding PayPal's CSV Data Model
PayPal's export is richer than it looks, and each column exists for a reason. Learn the data model once and every future export becomes easy.
Gross, Fee, and Net
Every transaction row carries three money columns: Gross (the full amount of the event), Fee (what PayPal took — negative on the fee row or bundled on the payment row depending on the report version), and Net (what actually moved your balance). Your bookkeeping should be built on Net, not Gross. Gross is the headline; Net is the truth. When you total a month, sum Net — then sanity-check it against the change in your PayPal balance for that month. If they disagree, you are missing rows (often fee rows filtered out by accident).
Refunds and Chargebacks Are Separate Rows
A refund is not a negative line on the original sale. It is a brand-new row with its own Type (for example Refund or Reversal), its own Transaction ID, and a negative Gross amount, linked to the original sale through the Reference Txn ID column. Chargebacks and disputes work the same way. This design is actually good for reconciliation: to find every refunded sale, filter Type to refunds and match Reference Txn ID back to the original payment row. But it means you must never delete "duplicate-looking" rows — the duplicate cleanup guide explains how to tell true duplicates from legitimate linked rows, which is exactly this distinction.
Currency Codes
The Currency column uses ISO codes like USD, EUR, GBP, and INR. Never sum amounts across currencies in one total — a sheet that adds 500 USD and 500 EUR into "1000" is fiction. The correct workflow: filter or split by currency, total each one, and convert only at the end using the rate your accounting policy specifies. PayPal also exports a Currency conversion row type when it converts funds for you; treat those rows as their own category, not as regular payments.
Time Zones in the Date Column
PayPal stamps dates with a time zone (often your account's home zone, not UTC). A payment at 11:40 PM on September 30 in one zone can be October 1 in another, which is why your monthly totals sometimes disagree with PayPal's dashboard by a transaction or two. When you build monthly reports, decide your cutoff rule explicitly — "transactions dated in my local time zone" — and apply it consistently instead of trusting the raw date boundary.
Filtering and Pivoting by Type
The Type column is the key to the whole file. Common values include payment received, payment sent, fee, refund, reversal, withdrawal/transfer to bank, currency conversion, and hold/release. Your first move after a clean import should be a pivot table: rows = Type, values = Sum of Net, columns = Currency. That one pivot tells you in seconds where your money went — sales in, fees out, refunds out, transfers out — and it is the fastest way to spot a month where fees or refunds jumped unexpectedly. For help building that first pivot from a raw import, the Flash Fill cleanup guide covers the same kind of post-import tidying PayPal data usually needs.
Reconciling PayPal Against Your Bank Payouts
Here is the monthly routine that keeps sellers and freelancers out of trouble:
- Total Net by currency for the month, excluding the
Transfer to Bank/Withdrawalrows. This is what PayPal says you earned after its fees and refunds. - List your withdrawals — filter Type to the bank-transfer rows. Each one should match a deposit line on your bank statement, amount and date.
- Bridge the gap. The difference between (1) and (2) should equal your PayPal balance change plus any pending holds. Holds appear as
Holdrows with matchingReleaserows later; money in hold is not yet yours to withdraw. - Chase the stragglers. Any withdrawal in PayPal with no matching bank deposit after 3–5 business days, and any bank deposit with no matching PayPal withdrawal, gets investigated now — not at tax time.
Do this monthly and tax season becomes a non-event: every number on your return already ties to a reconciled spreadsheet.
When It Breaks: Four PayPal Import Problems and Their Fixes
Amounts imported as text
Symptom: Your SUM formulas return 0 or skip rows even though you can see numbers. Cause: PayPal sometimes exports amounts with thousand separators or a currency symbol glued on, and Excel reads those cells as text. Fix: Select the amount column, go to Data > Text to Columns, choose Delimited, click Next twice without selecting a delimiter, and set the column format to General. Or add a helper column with =VALUE(SUBSTITUTE(SUBSTITUTE(A2,",",""),"$","")) and paste-values over the original.
Dates flipped (MM/DD vs DD/MM)
Symptom: Payments from the 5th of the month appear as May 5th, or dates sort in a bizarre order. Cause: PayPal exports dates in one order and your Excel locale assumes another. Fix: In the Power Query import (Method 2), set the Date column's type explicitly and check the locale in the transform step. For a file already imported wrong, the date format fix guide walks through re-parsing the column with the correct day/month order instead of re-downloading.
Mojibake in buyer names
Symptom: Names like "José" or "Müller" show up as "José" or "Müller". Cause: The file is UTF-8 but Excel opened it as ANSI/Windows-1252. Fix: Re-import with File Origin set to 65001: UTF-8 in the From Text/CSV preview. If the names were already saved corrupted, re-download the CSV and re-import — the damage cannot be reliably reversed. The encoding error guide covers the full set of these character problems.
Transaction IDs losing digits (scientific notation)
Symptom: IDs like 8RU12345678901234 display as 8.12345E+16, and clicking the cell shows a different number with the last digits replaced by zeros. Cause: Excel treated the ID as a number, and numbers over 15 digits lose precision permanently. Fix: Prevent it at import by setting the ID columns to Text in Power Query (Method 2, step 4). If it already happened and the file was saved, the original digits are gone — re-download the CSV. For a deeper explanation of why Excel does this and every way to stop it, see the scientific notation fix guide.
60-Second Checklist
- Download from Activity > Statements > Custom Account Statements as CSV, and archive the untouched original.
- Import with Data > From Text/CSV — never double-click for real bookkeeping.
- Set File Origin to UTF-8 and lock Transaction ID columns to Text before loading.
- Verify dates: confirm day/month order matches your locale.
- Split totals by currency code — never sum mixed currencies.
- Build totals on the Net column, and keep Gross and Fee for fee analysis.
- Pivot by Type to see payments, fees, refunds, and withdrawals separately.
- Match every withdrawal row to a bank deposit; investigate stragglers monthly.
- Spot-check two or three transaction IDs against PayPal's website to confirm nothing was mangled.
- Save the workbook as
.xlsxin a dated folder — never save over your original CSV.