What you see
You upload a PayPal or other payment app CSV in Wave and see "The CSV file must contain an amount, date and description column", or "Wave is having difficulty reading the file you uploaded".
Why it happens
Wave's help page says: "To import properly, your CSV file must have three or four columns" (a date, the amount, and a description), and "If your CSV file is not uploading when you have separate deposit and withdrawal columns, move the amounts into a single column."
For the message "Wave is having difficulty reading the file you uploaded" it names a file with "more than four columns with inconsistent information" and a file name that is too long. It also says a file with account balance totals can give a generic error.
PayPal's developer documentation lists Gross, Fee, Net and Balance among the columns of its activity download, so the file has far more than four columns.
How to fix it
- In PayPal go to History, click the Download icon, choose the dates and CSV, and download.
- Drop the file into the converter above. It is recognised as a PayPal activity download.
- Keep "Separate line for each fee" so fees can be categorised in Wave, or choose "Net amount only", then download the OFX file.
- In Wave go to Accounting, Transactions, click More, then Upload transactions. Choose the file and the payment account you use for PayPal, and click Upload.
What this does not fix
- One currency per file: the most common currency in the export is kept and the notes list rows in other currencies that were left out. Wave's help also asks for one currency per file, matching the payment account.
- If Wave shows "Wave needs you to make a small change to your file so we can read it", Wave's help says to change the ENCODING line in a text editor; files from this converter say ENCODING:USASCII, which Wave's steps change to UTF-8.
- The converter has not been tested by uploading into Wave; check the first upload before you rely on it.
Before and after
Before: the PayPal activity CSV as downloaded
"Date","Time","TimeZone","Name","Type","Status","Currency","Gross","Fee","Net","From Email Address","To Email Address","Transaction ID","Shipping A... "03/30/2025","18:22:05","PDT","","General Withdrawal","Completed","USD","-1,000.00","0.00","-1,000.00","seller@example.com","","9WD00000TEST0010","... "03/28/2025","09:01:12","PDT","Sample Hosting Co","PreApproved Payment Bill User Payment","Completed","EUR","-20.00","0.00","-20.00","","","9WD0000... "03/28/2025","09:01:12","PDT","","General Currency Conversion","Completed","USD","-21.84","0.00","-21.84","","","9WD00000TEST0008","","","","","","... "03/28/2025","09:01:12","PDT","","General Currency Conversion","Completed","EUR","20.00","0.00","20.00","","","9WD00000TEST0007","","","","","","",... "03/20/2025","14:10:00","PDT","Casey Buyerperson","Payment Refund","Completed","USD","-50.00","1.20","-48.80","","casey@example.com","9WD00000TEST0... "03/18/2025","11:00:00","PDT","Sample Hardware Store","Account Hold for Open Authorization","Pending","USD","-1.58","0.00","-1.58","","","9WD00000T... "03/18/2025","11:05:00","PDT","Sample Hardware Store","Reversal of General Account Hold","Completed","USD","1.58","0.00","1.58","","","9WD00000TEST... "03/12/2025","8:15:30","PDT","Casey Buyerperson","Shopping Cart Item","Completed","USD","50.00","0.00","50.00","","","9WD00000TEST0003","","","Prin...
After: what Xero, Wave, GnuCash, Moneydance, MS Money and others receives
... <STMTTRN> <TRNTYPE>CREDIT</TRNTYPE> <DTPOSTED>20250302120000</DTPOSTED> <TRNAMT>1250.00</TRNAMT> <FITID>22B0EAEC98E76955G</FITID> <NAME>Riley Clientname</NAME> <MEMO>Riley Clientname - MONTHLY - $1 for the first 2 Months, then $6.99 / Month</MEMO> </STMTTRN> <STMTTRN> <TRNTYPE>DEBIT</TRNTYPE> <DTPOSTED>20250302120000</DTPOSTED> <TRNAMT>-46.73</TRNAMT> <FITID>22B0EAEC98E76955F</FITID> <NAME>Fee</NAME> <MEMO>Fee: Riley Clientname - MONTHLY - $1 for the first 2 Months, then $6.99 / Month</MEMO> </STMTTRN> ...
Synthetic sample data that follows the real export layout, not a real account. The "after" output was produced from it by the same converter this page runs.
Import the fixed file into Xero, Wave, GnuCash, Moneydance, MS Money and others
- In your accounting software open the bank account and choose Import statement (or File > Import > OFX).
- Choose this .ofx file.
- Review and confirm the transactions.
Questions
- What columns does Wave need in a CSV?
- Three or four, per Wave's help: a date, the amount (one column, or one each for deposits and withdrawals) and a description.
- Should the PayPal file go into my bank account in Wave?
- Use a separate payment account for PayPal. Its balance is money held outside your bank, and transfers to your bank then show as moves between two of your own accounts.
- Does Wave read other payment app files the same way?
- The column rule is the same for every CSV. The converter also reads Venmo, Cash App, Stripe, Square and Wise exports and writes the same kind of OFX file.
Converters for this file
Related import problems
- Your PayPal activity CSV does not import cleanly into QuickBooks
- Xero says "There was a problem importing the file"
- Wave says "Wave is having difficulty reading the dates of your transactions"
Sources
The rules on this page come from these help pages, checked 2026-11-13. Software changes; if your screen says something different, the help page is the authority.