The short answer

The PayPal file has 41 columns, dates written as M/D/YYYY and one signed amount column. The CSV written for Wave has the columns Date,Description,Amount. So the date is rewritten as MM/DD/YYYY, the amount is written as one signed number, and the text columns are moved as in the table below.

Paid profile. The free manual column mapper works for any bank, this one included, but the free version writes only the first 25 converted rows of a file. The 9 USD one-time licence adds the ready-made PayPal profile (one of the 35 paid profiles) and removes the 25-row limit. The column table on this page is free to read and can be used to fill in the manual mapper.

Open the converter

The converter runs in your browser. Your file is not uploaded.

What the PayPal CSV looks like

Note kept with this layout in the profile data: Forty-one default columns as listed by the source for 2018. The user can choose which columns PayPal exports and the date format follows the account's region (a second rules file in the same repository uses day-month-year with dashes), so the converter must match columns by header name, not by position, and confirm the date order in the preview. Gross is used as the amount; Fee and Net are separate columns. The file can contain email addresses of the other party: the converter must not copy those columns to the output.

What Wave accepts

The file the converter writes for Wave: Date,Description,Amount
Wave columnRequired by WaveFilled from the PayPal file
Daterequiredcolumn 1 "Date"
Descriptionrequiredcolumn 4 "Name", column 5 "Type" and column 16 "Item Title"
Amountrequiredcolumn 8 "Gross"

From a web search excerpt of the vendor's help page (the page itself refuses automated reading; re-check it in a browser): "To import properly, your CSV file must have three or four columns: date, amount of the transaction (all in one column, or one column each for deposits and withdrawals), and description."

Column-by-column mapping

Every column of the PayPal file, left to right, and where it ends up in the Wave file.

ColumnHeader textWhat it holdsWhere it goes in the Wave file
1DateTransaction dateDate, rewritten as MM/DD/YYYY
2TimeNot usedNot copied
3TimeZoneNot usedNot copied
4NamePayee or counterpartyDescription (first part)
5TypeDescriptionDescription, after the payee
6StatusNot usedNot copied
7CurrencyCurrencyNot copied
8GrossAmount, signed (negative is money out)Amount, sign kept (money out is negative)
9FeeNot usedNot copied
10NetNot usedNot copied
11From Email AddressNot usedNot copied
12To Email AddressNot usedNot copied
13Transaction IDReference or check numberNot copied
14Shipping AddressNot usedNot copied
15Address StatusNot usedNot copied
16Item TitleMemo or noteDescription, after the bank's description text
17Item IDNot usedNot copied
18Shipping and Handling AmountNot usedNot copied
19Insurance AmountNot usedNot copied
20Sales TaxNot usedNot copied
21Option 1 NameNot usedNot copied
22Option 1 ValueNot usedNot copied
23Option 2 NameNot usedNot copied
24Option 2 ValueNot usedNot copied
25Reference Txn IDNot usedNot copied
26Invoice NumberNot usedNot copied
27Custom NumberNot usedNot copied
28QuantityNot usedNot copied
29Receipt IDNot usedNot copied
30BalanceRunning balanceNot copied
31Address Line 1Not usedNot copied
32Address Line 2/District/NeighborhoodNot usedNot copied
33Town/CityNot usedNot copied
34State/Province/Region/County/Territory/Prefecture/RepublicNot usedNot copied
35Zip/Postal CodeNot usedNot copied
36CountryNot usedNot copied
37Contact Phone NumberNot usedNot copied
38SubjectNot usedNot copied
39NoteNot usedNot copied
40Country CodeNot usedNot copied
41Balance ImpactNot usedNot copied

Pitfalls for PayPal to Wave

Dates

Amounts and their direction

Shape of the file

Other Wave import rules

Before and after: an invented example

Invented sample data. These four rows were made up for this page. They are not from a real PayPal export and hold no real account, name or balance.

The column headings are the header text the source prints. The 33 unused columns of the file are left out of the table.

Before: rows laid out like the PayPal file
1: Date4: Name5: Type7: Currency8: Gross13: Transaction ID16: Item Title30: Balance
3/4/2024Coffee CornerCOFFEE CORNER MAIN STEUR-4.50S0001Card purchase995.50
3/5/2024Example CoPAYROLL EXAMPLE COEUR2500.00S0002Salary March3495.50
3/7/2024Sample LandlordRENT MARCHEUR-1234.56S0003Standing order2260.94
3/11/2024Example ShopREFUND EXAMPLE SHOPEUR15.25S0004Refund2276.19
After: the same rows as a Wave file (Date,Description,Amount)
DateDescriptionAmount
03/04/2024Coffee Corner - COFFEE CORNER MAIN ST - Card purchase-4.50
03/05/2024Example Co - PAYROLL EXAMPLE CO - Salary March2500.00
03/07/2024Sample Landlord - RENT MARCH - Standing order-1234.56
03/11/2024Example Shop - REFUND EXAMPLE SHOP - Refund15.25

Do it by hand in a spreadsheet, free

These steps need no tool from this site. The cell references follow the column positions of the profile above; if your spreadsheet uses semicolons between formula arguments, replace the commas.

  1. Open the PayPal CSV in a spreadsheet program through its import dialog. Set the date column (column 1 "Date") to Text so the program does not reinterpret it, and leave the amount columns as numbers.
  2. Row 1 is the header and the transactions start in row 2.
  3. Date: rewrite column A from M/D/YYYY to MM/DD/YYYY (3/4/2024 becomes 03/04/2024). This bank's dates do not have a fixed width, so a position formula is not reliable: split the column into its parts (Text to Columns, or the split function of your spreadsheet) and join them again in the new order.
  4. Amounts: column H is already signed the way Wave wants (money out negative). Copy it as it is.
  5. Text columns: fill Description (from column 4 "Name", column 5 "Type" and column 16 "Item Title"). Where several bank columns feed one column, join them with a separator such as " - ".
  6. Apply Wave's own rules from its help page: Keep only the date, amount and description columns; delete any other columns. The description column can be empty, but if filled it must contain words, not only numbers. Remove special characters such as #, &, $ and * from the file. Files with more than 100 rows tend not to upload; split them into files of no more than 100 rows each.
  7. Keep only the new columns, put the header row Date,Description,Amount on top, save the sheet as a comma-separated CSV, and compare the dates, the direction of the amounts and the number of rows with your statement in Wave's import preview.

Or use the converter

Load the file, choose the PayPal profile in the bank list and the target Wave, read the preview, then download. The conversion runs locally in your browser: the file is not uploaded, and only the licence key is sent for unlocking.

Paid profile. The free manual column mapper works for any bank, this one included, but the free version writes only the first 25 converted rows of a file. The 9 USD one-time licence adds the ready-made PayPal profile (one of the 35 paid profiles) and removes the 25-row limit. The column table on this page is free to read and can be used to fill in the manual mapper.

Open the converter Licence terms

Where this layout comes from

No bank supplied or approved this layout. It was copied on 5 October 2026 from a public open-source importer file kept by volunteers: simonmichael/hledger, file examples/csv/other/paypal-custom.csv.rules

Also read: simonmichael/hledger, file examples/csv/other/paypal-2023.rules

The lines used from the source: "Export CSV from Activity -> Statements -> Custom -> Activity download" ; "The default fields in 2018 were: ..." ; date-format %-m/%-d/%Y ; "(negative means leaving my account, in all amount fields)"

The Wave rules come from the vendor's own help pages: support.waveapps.com/hc/en-us/articles/208621626-Upload-a-bank-or-credit-card-statement-in-csv-format (named as text, not linked), support.waveapps.com/hc/en-us/articles/208622596 (named as text, not linked). The official page refuses automated fetches (HTTP 403 or a script-only page), so the rules were read from web search excerpts of that same official URL on the checked date. Re-check in a browser before relying on a detail.

Bank formats change. Banks alter their CSV exports without notice and vendors change their import rules, so this mapping can be out of date. If the preview looks wrong, use the manual column mapper.

Related pages

PayPal to other apps

The PayPal guides for YNAB, QuickBooks Online and Xero, in the bank list

Other international exports to Wave

All banks and apps