Wave Accounting uploads
Import bank statements into Wave
Wave uploads OFX, QBO, QFX, ASO and CSV statement files, but not PDFs. Its CSV rules are specific, and one of them reverses for credit cards. Here is how to get a PDF statement in cleanly.
- OFX for the fewest steps in Wave
- CSV with the YYYY-MM-DD dates Wave asks for
- Three columns, nothing extra
- Statements checked before upload
Date,Description,Debit,Credit,Balance2026-03-02,ACH DEPOSIT STRIPE PAYOUT,,4210.00,16690.552026-03-03,POS AMAZON MKTPLACE,86.43,,16604.122026-03-05,CHECK #1042,1250.00,,15354.122026-03-08,ZELLE FROM J MORALES,,640.00,15994.12
The short answer
Can you upload a PDF bank statement to Wave?
No. Wave’s help lists the files it accepts for a statement upload as OFX, QBO, QFX, ASO and CSV, and PDF is not one of them. Wave also suggests using one of the first four where you can, because a CSV takes more care to get right.
If all you have is a PDF, which is the case for older months, closed accounts, and any period before you started with Wave, the statement has to be converted. Wave doesn’t need a QuickBooks bank ID in a QBO file, so plain OFX is the easy choice, and a three-column CSV is the one to use when you want to see each row before it goes in.
VouchRow converts the PDF statement, digital or scanned, into OFX or CSV after checking every row against the statement’s running balance. CSV dates default to ISO (YYYY-MM-DD), one of the two date forms Wave’s help asks for.
Which format to use
The file Wave wants
CSV for Wave
Wave keeps uploaded and connected transactions separate
Step by step
How to upload a PDF bank statement to Wave
One account and one currency per file. Wave takes the currency from the account you upload into, not from the file.
- 1Make sure the account exists in WaveWave uploads into a payment account. If the bank or card account isn’t set up yet, add it in the Chart of Accounts first, in the statement’s currency.
- 2Convert the PDF and check itSign in and upload the statement. Each row is checked against the running balance and the statement against its closing balance. Click any flagged row to see the line on the PDF and fix it.
- 3Export OFX, or a three-column CSVOFX needs no column mapping. For CSV use the three-column preset (Date, Description, Amount) and keep ISO dates. Avoid the full export for Wave: its extra Balance, Type and Debit/Credit columns are exactly what Wave’s help tells you to delete.
- 4Upload in WaveGo to Accounting → Transactions, open More (top right) and choose Upload transactions. Choose the file, select the payment account, and upload.
- 5Confirm the columnsFor a CSV, Wave asks which column is the date, which is the amount and which is the description. For a bank statement pick the transaction date; for a card, Wave’s help suggests the posting date. Then upload the statement.
- 6Review and reconcileCategorise the new transactions on the Transactions page, look for anything that overlaps transactions already in Wave, and reconcile the account to the statement’s closing balance.
Why it works
What converting first does for a Wave upload
Dates in Wave’s format
Wave wants YYYY/MM/DD or YYYY-MM-DD. ISO dates are the default CSV output, so day-first and month-first never get mixed up.
No extra columns
Wave fails on files with more than four columns of mixed data. The three-column preset has exactly Date, Description and Amount.
Balances already tied
A dropped row in the upload would show as a difference at reconciliation. Here it’s caught on the statement before upload.
Card statements too
Credit card statements convert the same way. OFX avoids Wave’s reversed sign rule for card CSVs.
Checked before export
A misread digit is caught on its own row
Every conversion is tested against the statement: the running balance on every row, page subtotals, opening plus movement against closing, the printed credit and debit totals, and the transaction count. When a number does not add up, VouchRow names the row and highlights the line it came from on the PDF.
Arithmetic only: it verifies amounts, balances and totals, not descriptions or dates, and two errors that cancel out would pass. The source-line link covers the rest.
How the checks workRunning balance check
- POS AMAZON MKTPLACE−86.4316,604.12
- CHECK #1042−1,250.0015,354.12
- ZELLE FROM J MORALES+640.0015,994.12
Every row agrees with the balance printed beside it.
Formats
File types Wave accepts for statement uploads
Wave is more accommodating about formats than most small-business software. That makes the choice about convenience, not compatibility.
| Format | Accepted | Mapping step | Notes |
|---|---|---|---|
| OFX | Yes | No | Recommended by Wave over CSV |
| QBO | Yes | No | No valid Intuit bank ID needed for Wave |
| QFX | Yes | No | Quicken’s variant of OFX |
| ASO | Yes | No | Simply Accounting format |
| CSV | Yes | Yes: date, amount, description | Strict rules, see below |
| No | – | Convert first |
CSV rules
Wave’s CSV format: columns, dates and signs
Wave’s help article on CSV files that won’t read lists the rules. A converted statement already meets most of them; the ones worth checking are the sign and the column count.
- Three or four columns: a date, the amount (in one column, or separate deposit and withdrawal columns), and a description. If separate columns fail, Wave says to combine them into one.
- Dates written YYYY/MM/DD or YYYY-MM-DD, never in the future. Wave also reads month names, such as 2025/Jan/01.
- For a bank account, money out is negative (a minus sign or brackets). For a credit card, Wave asks for the opposite: purchases positive and payments negative.
- One date column only. Card statements that print both a transaction and a posting date cause date errors unless one is removed.
- No balance or total rows, no blank rows, and a short file name. Wave’s help suggests something like month-year-account.csv.
- One currency per file. The currency symbol in the file is ignored; Wave uses the account’s currency.
Credit cards
Uploading a credit card statement to Wave
The sign rule is the trap. A CSV that follows the bank convention (money out negative) shows card purchases as negative, which Wave reads backwards for a card account: purchases would reduce what you owe.
The simplest fix is to export the card statement as OFX, where each transaction carries its own type and Wave doesn’t apply the CSV sign rule. If you prefer CSV, check the signs in the preview Wave shows before confirming, and reverse them if purchases appear as payments.
Duplicates
Duplicates when the account is also connected
Wave’s help is plain that while it may warn you about duplicates, it won’t search them out and delete them. That has to be done by hand. Connecting a bank for automatic imports is part of Wave’s Pro plan, and transactions from the connection and from an upload are separate records.
So upload statements only for periods the connection doesn’t cover: the months before you connected, or a gap while the connection was broken. End the converted statement the day before the first connected transaction.
Native or converter
When you need a converter for Wave, and when you don’t
If your bank offers an OFX, QBO or QFX download for the period you need, use it; Wave reads those directly. Many banks only offer recent months that way, and statements older than that, or from closed accounts, are PDF only.
That is where converting earns its place: the PDF becomes OFX or CSV in Wave’s format, checked against the statement’s balances so the upload reconciles first time.
Side by side
OFX vs CSV for Wave
| OFX | Three-column CSV | |
|---|---|---|
| Mapping step | None | Date, amount, description |
| Date format to get right | None | YYYY-MM-DD (default export) |
| Credit card signs | Handled by transaction type | Purchases must be positive |
| Easy to inspect first | No | Yes |
| Checked against running balance | Yes, before export | Yes, before export |
Who uses it
Who uploads converted statements to Wave
Freelancers and sole traders
Starting Wave partway through the year, with earlier months in PDF statements that need to be in the books for tax time.
Accounts without a connection
Banks Wave can’t connect to, or businesses not on the plan that includes bank connections, upload statements monthly instead.
Small-business bookkeepers
Cleaning up a client’s Wave file: importing missing months and reconciling each account to the statement.
FAQ
Wave imports: questions
Can Wave import a PDF bank statement?
No. Wave uploads OFX, QBO, QFX, ASO and CSV files. Convert the PDF to OFX or CSV first.
Does Wave accept QBO files?
Yes, along with OFX and QFX. Unlike QuickBooks, Wave doesn’t need a valid Intuit bank ID, so plain OFX is the simpler choice.
What date format does Wave want in a CSV?
YYYY/MM/DD or YYYY-MM-DD, with no future dates. ISO dates (YYYY-MM-DD) are the default CSV export here.
Why did my credit card upload come in backwards?
Wave expects card purchases to be positive and payments negative in a CSV, the opposite of a bank account. Use OFX for card statements, or flip the signs before uploading.
Why can’t Wave read my CSV?
Usually too many columns, a second date column, balance or blank rows, or a long file name. A three-column file of date, description and amount avoids all four.
Will Wave remove duplicates for me?
No. Wave may warn about possible duplicates, but removing them is manual. Upload only periods the bank connection doesn’t cover.
Is there an upload size limit?
Wave handles ordinary monthly statements without trouble. For a full year, upload month by month, which also keeps the review step manageable.
Keep going
Related guides and converters
Every format we write for Wave
Get PDF statements into Wave
Upload a statement, check it against its own balances, and export OFX or a Wave-ready CSV.