PayPal Activity Is a Full Ledger in CSV Clothing
PayPal’s CSV activity download mixes customer payments, withdrawals to bank, currency conversions, chargebacks, holds, and fee lines. That richness is useful — and easy to misuse. Bookkeepers across the US, UK, Australia, Canada, and Germany need a clean path from PayPal → Excel → QuickBooks/Xero without booking bank transfers as sales.
How to Download the Right PayPal CSV
Menu labels shift slightly by country site, but the flow is stable.
- Log into PayPal → Activity (or Reports → Activity download).
- Pick a date range that matches your accounting period.
- Choose CSV (not PDF statements) for spreadsheet work.
- Download and immediately archive a copy named with account email + period.
- Open in Online CSV Editor or text editor before Excel when dates look ambiguous.
Custom reports vs quick download
Quick activity CSV is fine for small volumes. Larger US/UK sellers often use PayPal reports with explicit column sets so Fee and Net always appear.
Core Columns You Will See
Names vary by locale and report version — map by meaning.
| Column idea | Use it for |
|---|---|
| Date / Time | Period cutoffs; watch locale order |
| Name / From / To | Counterparty; match customers/vendors |
| Type | Filter payments vs withdrawals vs currency conversion |
| Status | Exclude pending/denied if your process requires |
| Gross | Customer-facing amount before PayPal fee |
| Fee | Expense line |
| Net | Impact on PayPal balance |
| Currency | Never sum mixed currencies raw |
| Transaction ID | Reconciliation key; keep as text |
Date,Name,Type,Status,Currency,Gross,Fee,Net,Transaction ID
05/03/2026,Acme Buyer,Express Checkout Payment,Completed,USD,120.00,-3.78,116.22,9AB123456
05/04/2026,Bank Account,User Initiated Withdrawal,Completed,USD,-500.00,0.00,-500.00,9AB123457Step-by-Step: Clean PayPal CSV for Bookkeeping
A repeatable monthly process.
- Filter Type to separate sales-like rows from withdrawals and general transfers.
- Confirm Fee is negative or documented; convert to a positive expense amount if your ledger template needs it.
- Keep Transaction ID as text (Excel loves scientific notation on long ids).
- Normalize dates to ISO or your ledger’s mask (US MM/DD vs UK/AU DD/MM).
- Split multi-currency files by Currency before summing.
- Build three buckets: Income (net of returns), Fees, Transfers to bank.
- Import or journal into QuickBooks/Xero; reconcile withdrawals to bank deposits.
Gross, Fee, Net — Mapping Rules
Same trap as Stripe: the bank only sees withdrawals.
- Recognize sales from Completed payment types using Gross or invoice totals per your revenue policy.
- Book Fee as payment processing expense.
- Net changes the PayPal balance clearing account.
- User Initiated Withdrawal / bank transfer rows clear PayPal balance to the bank — not revenue.
- Refunds: negative Gross with fee behavior that may not mirror the original exactly — read the row.
| Row type | Typical bookkeeping treatment |
|---|---|
| Checkout payment | Dr PayPal clearing / Cr Income; fee expense |
| Refund | Reverse income or post returns; adjust fees |
| Withdrawal to bank | Dr Bank / Cr PayPal clearing |
| Currency conversion | Record FX gain/loss per your policy |
| Chargeback | Expense or liability + follow dispute outcome |
Regional Date and Format Issues
PayPal country sites and Excel locales collide.
- US downloads often show MM/DD/YYYY.
- UK and Australian accounts often show DD/MM/YYYY.
- German/EU Excel may re-open comma CSV as one column or misread decimals — use the import wizard.
- Canadian accounts: confirm whether the CSV follows US or localized formatting for that PayPal entity.
- When sharing files across regions, rewrite Date to YYYY-MM-DD in a cleanup pass.
Python: normalize PayPal US dates
Switch the format string to %d/%m/%Y for UK and Australian downloads.
from datetime import datetime
import csv
with open("paypal.csv", newline="", encoding="utf-8") as inp, \
open("paypal_iso.csv", "w", newline="", encoding="utf-8") as out:
reader = csv.DictReader(inp)
writer = csv.DictWriter(out, fieldnames=reader.fieldnames)
writer.writeheader()
for row in reader:
# Adjust format string for DD/MM/YYYY when needed
row["Date"] = datetime.strptime(row["Date"], "%m/%d/%Y").strftime("%Y-%m-%d")
writer.writerow(row)Multi-Currency Sellers
Common for UK/EU shops selling to the US and AU sellers taking USD.
- Export full history, then split by Currency.
- Do not convert FX inside the CSV unless you have a documented rate source — ledgers often want original currency + separate FX entries.
- Watch “Currency Conversion” type rows; they explain why Net in wallet currency differs from Gross in buyer currency.
PayPal → QuickBooks / Xero
Prefer a clearing-account pattern.
- Create a PayPal balance asset account.
- Import or manually journal sales and fees from the cleaned CSV.
- Match bank feed deposits to withdrawal rows by date and Net amount.
- For Xero (UK/AU), align TaxType only on income invoice imports — PayPal activity CSV is usually balance/banking, not a tax invoice file.
- For QuickBooks, memorize vs bank rules can categorize withdrawals once patterns stabilize.
Common Mistakes
Hard-won failures.
- Booking every positive Gross as income including partner payouts and adjustments.
- Ignoring Fee until year-end.
- Letting Excel destroy Transaction ID.
- Mixing pending and completed rows in revenue totals.
- Using PDF statements instead of CSV when you need pivots.
- Assuming DE Excel will open US comma CSV cleanly without the wizard.
Best Practices
Make PayPal close boring.
- Download CSV on a fixed cadence (weekly or monthly).
- Keep Type filters documented in your SOP.
- Archive raw and cleaned files.
- Reconcile PayPal balance to the wallet total in the UI.
- Clean PII-aware files in the browser when freelancers handle client accounts.
Why Use Convert CSV Online?
Convert CSV Online is free, browser-based, and requires no account for everyday conversions. Use the Online CSV Editor to fix PayPal dates and fee columns, export Excel for accountants, and convert delimiters when European Excel is in the loop. Works on Windows, macOS, and Linux browsers.
Clean a PayPal CSV now
Open the download, separate withdrawals from sales, normalize dates, and export for your ledger.
Conclusion
PayPal CSV is powerful when Type, Gross, Fee, and Net stay distinct. Download deliberately, normalize regional dates, and reconcile withdrawals to the bank — not gross volume to the bank.
FAQ
How do I download PayPal transactions as CSV?
From Activity or Reports, choose a date range and export/download as CSV. Prefer CSV over PDF when you need spreadsheet analysis.
What is the difference between Gross, Fee, and Net on PayPal CSV?
Gross is the transaction amount before the PayPal fee, Fee is PayPal’s charge, and Net is the effect on your PayPal balance.
Why doesn’t PayPal match my bank deposit?
Banks receive withdrawals (and sometimes delayed batches), not each customer payment. Match bank lines to withdrawal rows and keep sales on a PayPal clearing account.
Can I import PayPal CSV into Xero or QuickBooks?
Yes after cleanup and account mapping. Many teams journal from CSV or use bank rules on the PayPal/bank feeds rather than blind whole-file import.
Does PayPal CSV use US or UK dates?
It depends on the account locale and report. Verify with a transaction you know, then normalize to ISO for cross-border teams.
How do I stop Excel from changing PayPal transaction IDs?
Import the ID column as Text, or cleanse in a browser editor and keep the column quoted/text before opening in Excel.
References
Convert your CSV in the browser
Preview, clean, and convert CSV files free with Convert CSV Online—no installation and no account required for everyday conversions.