VouchRow

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
statement.pdf statement.csv
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
Balanced · every row checked before this CSV file was written

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

Start here

CSV for Wave

Wave’s CSV upload maps columns on screen and shows the parsed rows before anything is created, which makes a converted statement easy to check.
What bites people

Wave keeps uploaded and connected transactions separate

If the same bank account is also connected to Wave directly, an uploaded statement does not merge with what the connection already pulled in — you get both. Wave has a merge tool for this, but it works one transaction at a time. Upload for periods the connection does not cover, rather than periods it does.

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.

  1. 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.
  2. 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.
  3. 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.
  4. 4Upload in WaveGo to Accounting → Transactions, open More (top right) and choose Upload transactions. Choose the file, select the payment account, and upload.
  5. 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.
  6. 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 work

Running balance check

RowAmountBalance
  • 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.

FormatAcceptedMapping stepNotes
OFXYesNoRecommended by Wave over CSV
QBOYesNoNo valid Intuit bank ID needed for Wave
QFXYesNoQuicken’s variant of OFX
ASOYesNoSimply Accounting format
CSVYesYes: date, amount, descriptionStrict rules, see below
PDFNo–Convert first
Wave statement upload formats, per Wave’s Help Center

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

OFXThree-column CSV
Mapping stepNoneDate, amount, description
Date format to get rightNoneYYYY-MM-DD (default export)
Credit card signsHandled by transaction typePurchases must be positive
Easy to inspect firstNoYes
Checked against running balanceYes, before exportYes, before export

Who uses it

Who uploads converted statements to Wave

01

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.

02

Accounts without a connection

Banks Wave can’t connect to, or businesses not on the plan that includes bank connections, upload statements monthly instead.

03

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.

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.