Clean a PayPal activity CSV export
A PayPal activity download is wide, writes its dates month first, and can carry repeated rows, empty fees and rows with no amount. Choose the file below: the page cleans it in your browser, shows the first 20 cleaned rows and lists every line it left out, with the reason.
Clean your PayPal activity CSV
The cleaner looks for the Date, Name, Type, Currency, Gross, Fee, Net and Transaction ID columns in the header row and writes eight fixed columns: date, description, amount, currency, fee, net, reference and source. It does not filter rows by Status, so pending rows stay in.
Your file is read in your browser and is never uploaded, stored or logged. It is held in the memory of this tab only, and closing or reloading the page discards it. Operator: Augeo. See the privacy notice.
PayPal lets you choose which fields to download, so exports differ, and this page makes no promise about yours: the free preview shows what it does to your file.
The cleaning logic is checked by an automated test script that runs the engine file of this site over six synthetic sample files and a set of checks of the parsing rules; it ran in a sandbox before this site was published and finished with no failed check. The script does not open this page in a browser, does not test the licence key step, and nothing was tested against a real export from any provider. Use the free preview to check your own file.
Report
Warnings
Lines not parsed
Lines dropped
Preview of the cleaned rows
| line | date | description | amount | currency | fee | net | reference | source |
|---|
Download the full cleaned file
- Price: 6 USD, paid once on Gumroad. No subscription. You receive a licence key.
- What the key unlocks: the download of every cleaned row of the file you chose, as one CSV named after your file with -cleaned.csv at the end, instead of the first 20 rows on screen. The report and the way files are read stay the same.
- The key is for one buyer. Runs are not counted and no number of runs is promised. The key is kept in the memory of this page only, so you enter it again after closing or reloading the page.
- Refunds are requested through your Gumroad receipt and follow Gumroad's refund policy.
- Try the free preview first. If the preview cannot read your file, the full download cannot either.
Get a licence key on Gumroad for 6 USD
What the cleaner changes in a PayPal activity export
- Dates become year-month-day. PayPal writes the month first:
01/15/2024is 15 January, and the output writes2024-01-15. A spreadsheet set to a day-first locale swaps the day and the month of any date whose day is 12 or below, and gives no warning. If no date in the file has a day above 12, the page stops and asks you which order the file uses instead of guessing. - Amounts become plain signed decimals.
1,250.00becomes1250.00, and a negative amount keeps its minus sign. The same rule applies to Gross, Fee and Net. - The wide layout becomes eight columns. Gross is the amount, Transaction ID is the reference, and the description joins Name and Type (
Sample Buyer Two - Website Payment); when Name is empty the description is the Type alone. Time, time zone, email addresses, item title and balance are not carried over. - Empty fees become 0.00, so the fee column is a number on every row.
- Exact repeated rows are dropped and listed with their line numbers. Two identical rows can be two real transactions, so look at that list.
- Rows with no usable amount are left out and listed. A row whose Gross is
N/Ais not turned into zero; it appears under "Lines not parsed" with its line number and the reason. - Blank lines are skipped and counted in the report.
Amounts are never converted between currencies. If the export holds more than one currency, the report says so and the currency column tells the rows apart.
How to do the same by hand in a spreadsheet
These steps work in Excel, Google Sheets and LibreOffice Calc. The formulas below use placeholder column letters: Name in D, Type in E, Gross in H and Fee in I. Read your own header row and change the letters to match. If your spreadsheet uses a decimal comma, write the formulas with semicolons between arguments instead of commas.
- Work on a copy and keep the downloaded file untouched.
- Import the file and tell the spreadsheet the dates are month first. In LibreOffice Calc set the Date column to Date (MDY) in the Text Import dialog. In Google Sheets set File, Settings, Locale to United States before File, Import. In Excel use Data, From Text/CSV, Transform Data, then Change Type, Using Locale, Date, English (United States).
- Delete blank rows, then remove exact repeats with the remove-duplicates command, comparing every column and not only the transaction ID.
- Find amounts that are not numbers.
=ISNUMBER(H2)filled down showsFALSEfor a Gross such asN/A. Move those rows to a separate sheet; do not turn them into zero. - Fill empty fees with
=IF(I2="",0,I2)and build the description with=IF(D2="",E2,D2&" - "&E2). - Write the dates as year-month-day with the custom number format
yyyy-mm-dd, keep the eight columns, paste formulas back as values and save as CSV UTF-8. - Compare the result with the original: amount plus fee should equal net on every row, and the rows you kept plus the rows you removed should add up to the rows you started with.
Notices
- Privacy: files are read in your browser and never uploaded, stored or logged. Operator: Augeo.
- Independent tool, not affiliated with or endorsed by Etsy, PayPal, QuickBooks or any bank.
- Check the output before you use it. This is not accounting, tax or financial advice.
- Price of the full download: 6 USD one-time. The key is for one buyer. Refunds are requested through the Gumroad receipt.
- Only upload data you have the right to process. Choosing a file here does not send it anywhere, but you remain responsible for the data in it.
Other exports
- Clean an Etsy sold orders CSV
- Clean an Etsy monthly statement CSV
- Fix date and decimal format in a bank CSV
- Merge debit and credit columns into one amount
- Remove the lines above the header of a CSV
- Convert a semicolon CSV to a comma CSV
- Convert CSV dates to YYYY-MM-DD
- Remove duplicate rows from a CSV export
- Negative amounts in parentheses in a CSV
- Any other CSV export of transactions