The Wave CSV import format needs a date column, a description column and the amount, either in one column or split into deposits and withdrawals. Dates should be written year first, such as 2026-03-14. Negatives take a minus sign or brackets. Anything else, including a balance column or a totals row, should come out before you upload.
The three columns the Wave CSV import format requires
A CSV for Wave needs three kinds of column: a date, a description and an amount. Wave's help article on CSV error messages says the file must have three or four columns, because the amount can sit in one column or in separate deposit and withdrawal columns.
Each column has a job during the upload. Wave walks you through three screens in order: pick the date column, pick the amount column, pick the description column. If your file has only one column of each kind, Wave selects it for you, which makes a lean file the fastest to upload.
Some practical rules for each column:
- Date. Keep one date per row. Bank exports often carry a transaction date and a posting date; delete one of them.
- Description. It can be empty for a row, but where it has text, that text must contain words. A column holding only numbers, such as a reference code, is rejected as a description.
- Amount. One signed column is the most reliable choice. Wave's help says that if a file with split deposit and withdrawal columns will not upload, you should move the amounts into one column.
Wave also prefers other formats when your bank offers them. Wave's guide to uploading a statement in CSV format suggests downloading OFX, QBO, QFX or ASO files instead where possible, because they import more easily. Use CSV when the bank offers nothing else.
Which date formats does a Wave CSV import read?
A Wave CSV import reads dates written year first, as YYYY/MM/DD or YYYY-MM-DD. Wave's error article adds that the month can be a number, a full month name or a three-letter name, so 2026/Mar/14 is fine, and a day can carry st, nd, rd or th. A date in the future is rejected.
The year-first rule is the one most bank files break. US banks tend to export 03/14/2026, and many other countries use 14/03/2026. Both should be changed before the upload. In a spreadsheet, set the date column's format to a custom yyyy-mm-dd pattern, then save as CSV.
Check that the spreadsheet saved real dates and not text. Open the CSV in a plain text editor after saving. Each date should read like 2026-03-14 with no quotation marks around it and no time after it.
A statement that runs over the new year needs a second look. If the bank printed only the month and day, someone has to supply the year, and a December line can easily end up in the wrong year.
Amount signs and punctuation in a Wave CSV file
Amounts in a Wave CSV file must be numbers, with a minus sign or brackets for negatives. Wave's error article allows spaces, commas, apostrophes or decimal points as separators, rejects amounts written in words, and refuses symbols other than a currency symbol, as well as a currency symbol placed after the number.
The direction of the sign depends on the account type. For a credit card upload, the same Wave article says purchases must be positive and payments negative. For a checking account, the upload asks you to pick the column that represents deposits, so deposits read as positive and withdrawals need a minus.
The currency symbol does not set the currency. Wave records the transactions in the currency of the payment account you choose during the upload. A file that mixes two currencies has to be split into one CSV per currency.
A sample Wave CSV file to copy
The sample below follows the format above for a checking account. The values are examples for illustration, not real transactions.
Date,Description,Amount
2026-03-02,Deposit from Lakeside Design invoice 1042,1250.00
2026-03-05,Card purchase Office Supply Depot,-84.19
2026-03-09,Monthly bank service fee,-12.00
2026-03-14,Transfer to savings,-500.00
Read the four rows against the rules. The header row sits at the top. There is one date per row, written year first. Each description contains words. The amount column carries a minus for money out and nothing for money in. There is no balance column and no totals row.
Wave also offers its own CSV template from the upload article, which you can download and fill in. Either starting point works; the sample above is simply a shape you can check by eye.
What breaks a Wave CSV upload that looks fine?
Extra material is the usual reason a Wave CSV upload fails when the transactions look right. A bank export often adds a balance column, a header block, a closing total or blank rows. Wave's error article ties each of these to a specific message, and removing the extra material fixes most of them.
Use this checklist before every upload:
- No more than four columns. Delete balance, check number, category and memo columns. The running balance is useful for checking a statement, which is what using a PDF statement's running balance as a check covers, but Wave's upload does not read it.
- Column titles at the top. Wave cannot find transactions when the titles sit at the bottom of the table.
- No totals or balance rows. Wave says a balance total row can cause a generic error.
- No blank rows and no rows made only of commas.
- A short file name. Wave suggests something like month-year-account.csv when a long name causes an error.
- Saved as CSV. An .xls workbook must be re-saved as comma-delimited CSV, and PDF statements are not accepted at all.
The same column clean-up applies, with small differences, to other small-business tools. Importing a bank statement into FreshBooks and importing a bank statement into Zoho Books show what each of those expects.
SimpleBankConvert is being built for QuickBooks and Xero rather than Wave. It merges deposit and withdrawal columns into one signed amount and puts every date in one consistent format, which are the same two jobs this checklist asks of a Wave file. Get started to hear when it opens.