Skip to content

How to import a bank statement into Wave

Wave doesn't read PDF statements, but it accepts CSV uploads. Convert the PDF statement to CSV with Date, Description and Amount columns, then in Wave open Accounting → Transactions, choose Upload a bank statement, pick the account and match the columns. Withdrawals should be negative if you use one Amount column.

Updated

How to import a bank statement into Wave from a PDFVideo coming soon · 1:20

What you need before you start

You need two things: a CSV of the transactions and a matching account in Wave. Your bank usually gives you a PDF, so most of the work is the conversion.

  • The statement as CSV. Wave can’t read the PDF. A CSV with one row per transaction is what it needs.
  • A payment account in Wave. Create the bank account under Accounting → Chart of Accounts if it isn’t there yet. You pick it during the upload.
  • The statement’s closing balance. You’ll use it to check the import at the end.

On Wave’s free Starter plan, automatic bank connections aren’t included, so statement uploads are how most free users keep their books current. They also cover months before a connection existed.

Step 1: Convert the PDF statement to CSV

Download the monthly PDF from online banking, then convert it. Each transaction becomes one row in the CSV.

  1. Upload the PDF to bank statement to CSV. Locked PDFs work; the password is used once and never stored.
  2. Compare the extracted rows with the PDF on screen.
  3. Download the CSV with a free account.

The file keeps the statement’s own columns, for example Date, Description, Amount and Balance. Some banks print Withdrawals and Deposits in separate columns, and that’s fine for Wave too. The first 5 pages convert free, and a free account gets 5 pages a day. See pricing for larger volumes.

Check the rows against the PDF, then download the CSV.

Step 2: Tidy the CSV for Wave

Wave expects a plain table: one header row, then transactions. Open the CSV in Excel or Google Sheets and fix these before uploading.

  1. Delete everything above the header row, such as the account name or statement period.
  2. Delete summary rows like “Opening balance”, “Closing balance” or “Total”. Wave would import them as transactions.
  3. Delete the Balance column. Wave doesn’t need it, and an extra numeric column makes mapping mistakes more likely.
  4. Check the signs. With one Amount column, money out must be negative: -84.50. Replace (84.50) or trailing DR markers with a minus sign.
  5. Strip formatting from amounts. 1200.00, not $1,200.00.
  6. Use one date format throughout. If you can, use YYYY-MM-DD, which no software misreads.

Save as CSV (Excel: CSV UTF-8; Google Sheets: File → Download → Comma-separated values).

Wave reads either layout:

Layout Columns When to use it
Single amount Date, Description, Amount Your statement already shows signed amounts
Split amounts Date, Description, Withdrawals, Deposits Your statement prints money out and money in separately

Don’t convert one layout into the other unless you need to. Each conversion is a chance to flip a sign.

Step 3: Upload the statement in Wave

The upload starts from the Transactions page. Wave then asks which account the file belongs to and which column is which.

  1. Sign in to Wave and go to Accounting → Transactions.
  2. Choose Upload a bank statement. Depending on your screen size it may sit under a More menu next to Add income and Add expense.
  3. Pick the payment account the transactions belong to.
  4. Select your CSV file and continue.
  5. Match your columns to Wave’s fields: date, description and amount (or withdrawal and deposit).
  6. Review the preview, then confirm the import.

The transactions land in Transactions, usually as uncategorized income or expense. Categorize them, or let your bank rules do it.

Pick the account, then match each column once.

Common Wave import errors and fixes

Nearly every failed Wave upload traces back to dates, signs or stray rows. This table covers the usual suspects.

Problem Likely cause Fix
Upload rejected or no rows found Title lines above the header, or the file isn’t really CSV Delete lines above the header; re-save as CSV, not .xlsx
Dates land in the wrong month DD/MM file read as MM/DD Convert the Date column to YYYY-MM-DD and upload again
Rows with month names fail Dates like 03 Sep with no year Add the year from the statement period
Withdrawals show as income Positive numbers for money out Make withdrawals negative, or use the split layout
A transaction for the full balance Opening or closing balance row left in Delete summary rows before uploading
Amounts missing Currency symbols, commas or text in the amount Keep digits, a minus sign and a decimal point
Duplicate transactions Overlapping months, or the same file twice Delete the extras in Transactions and keep a log of uploaded months

Year-end trap. Many statements print dates as day and month only. On a December–January statement, rows from early January can pick up the wrong year. Check the first and last rows of every file.

Check the upload against your statement

Wave won’t warn you about a missing row, so do a quick check after each upload.

  1. Filter Transactions by the account and the statement dates.
  2. Count the rows and compare with the PDF.
  3. Add the deposits and subtract the withdrawals. Opening balance plus that net figure should equal the statement’s closing balance.
  4. If it’s off, compare page by page. Missing rows tend to sit at page breaks or on the last page.

For a cleaner audit trail, keep the original PDF next to the CSV you uploaded.

A monthly routine for freelancers

A ten-minute routine each month keeps Wave current without a bank connection.

  • Download last month’s PDF on the same day each month.
  • Convert it, delete the balance column and summary rows, and upload.
  • Name files wave-checking-2026-09.csv so you never upload a month twice.
  • Categorize right away while you still remember each payment.
  • For a quarter or a catch-up year, convert up to 10 PDFs in one batch, then upload them in date order.

If you also need the data for your accountant, the same statement converts to Excel. Files are deleted automatically after 24 hours; see security.

Questions people ask

Can Wave import a PDF bank statement?

No. Wave's statement upload takes a data file such as CSV, not a PDF. Convert the PDF to CSV first, then upload the CSV.

Do I need Wave Pro to import bank statements?

No. Uploading a statement file is separate from automatic bank connections, which Wave includes in its paid Pro plan. On the free plan, uploading statements is the usual way to get transactions in.

Why are my withdrawals showing as deposits in Wave?

With a single Amount column, Wave reads positive numbers as money in. Make withdrawals negative, or use separate withdrawal and deposit columns and map them both.

Will Wave create duplicates if I upload the same statement twice?

It can. Wave may flag some likely duplicates, but don't rely on it. Keep one CSV per month and note which months you've uploaded.