How to Import Bank Statements into Wave Accounting
By SheetStatement Team · · Updated · 11 min read
TL;DR: Wave lets you upload bank statement files to an account when a bank connection isn't available or doesn't cover the dates you need. Prepare a clean file with a date, a description and a signed amount, upload it to the matching account in Wave, review and categorize the transactions, and reconcile against the statement's closing balance. Convert PDF statements first, since Wave needs a transaction file rather than a PDF.
Wave is popular with freelancers and very small businesses because it covers the basics (invoicing, accounting and receipts) without much setup. Many Wave users rely on automatic bank connections, but there are good reasons to import files instead: the bank isn't supported, the connection broke, you're catching up on months from before you started using Wave, or you only have PDFs.
This guide covers the process from statement to reconciled account, plus the details that cause most of the trouble: duplicates with bank connections, transfers, invoice payments counted twice, and card signs. Wave updates its interface from time to time, so we describe the steps in general terms; look for the equivalent options in your version.
What Wave expects
Wave's statement upload accepts transaction files, including CSV, and typically OFX-family formats too. Check Wave's current help centre for the exact list. For CSV, the essentials are:
- A date for each transaction.
- A description.
- An amount: either a single signed amount (money in positive, money out negative) or separate columns for money in and money out, which you map during upload.
A safe layout:
Date,Description,Amount
2026-03-03,OFFICE SUPPLY CO,-84.12
2026-03-05,CLIENT PAYMENT ABC,2400.00
Rules that keep uploads working:
- One header row, nothing above it, no totals below.
- One date format throughout.
- Plain numbers: no currency symbols or thousands separators, minus sign for negatives.
- Save as CSV UTF-8.
Our CSV format explainer goes into the details.
Getting the file
From your bank: many banks let you download recent transactions as CSV or OFX. Use the statement period dates.
From PDF statements: convert them with SheetStatement's bank statement to CSV converter. It extracts every transaction, checks that the statement balances, and outputs a CSV in the layout above.
Verify before uploading: opening balance + sum of amounts = closing balance. Our balance checker does it in seconds.
It's tempting to skip this when the file came straight from your bank. Don't. Bank downloads can include pending items, miss a day at the edge of the range, or overlap with a previous download. Thirty seconds of checking now saves a reconciliation that won't balance later.
Uploading to Wave
Upload one statement period at a time. It keeps each batch small enough to check and makes it obvious which months are done.
The general flow:
- Make sure the account exists in Wave's chart of accounts as a bank or credit card account, matching the real account. If it doesn't, create it.
- Go to Transactions and look for an option to upload a bank statement (often under a "More" or similar menu).
- Choose the file and the account it belongs to.
- Map the columns if asked: date, description, amount (or money in and money out). Confirm the date format.
- Confirm the upload. Transactions appear in the account's transaction list, ready to categorize.
Reviewing and categorizing
Once imported, transactions need categories (Wave's accounts for income and expenses).
- Filter to the imported account and date range.
- Handle transfers first. Payments to a credit card, transfers to savings and owner money movements should be recorded as transfers or owner entries, not income or expenses. If both accounts are in Wave, make sure you don't record the transfer twice.
- Match invoice payments. If you invoiced a customer in Wave and recorded the payment, the bank deposit is the same money. Make sure it's linked or matched rather than counted as new income.
- Use rules for recurring payees if your Wave plan offers bank rules or auto-categorization.
- Categorize the rest, using a "review" category for anything you need to ask about.
Our guide to Excel formulas for categorizing transactions helps if you prefer to pre-categorize in a spreadsheet before importing, which can speed up large catch-ups.
Reconciling
Wave includes a reconciliation feature for bank and card accounts. After importing and categorizing a month:
- Open reconciliation for the account.
- Enter the statement's ending date and closing balance.
- Mark the transactions that appear on the statement.
- Confirm the difference is zero.
If it isn't, check for duplicates (overlap with a bank connection), an incorrect starting balance, transactions recorded twice (once from an invoice payment and once from the import), and an incomplete file. Our guide to finding reconciliation discrepancies has a step-by-step approach.
Avoiding duplicates with a bank connection
If the account is also connected to your bank, Wave may already have pulled some transactions. Before uploading a file:
- Find the earliest transaction from the connection.
- Only upload transactions before that date.
- Note the cutoff somewhere you'll see it.
If you do end up with duplicates, delete the extra copies, keeping any that are linked to invoices or bills. Always compare against the statement: two identical transactions on the same day can be legitimate.
Catch-up projects in Wave
Starting Wave mid-year and want the year's history in it?
- Decide the start date for your books.
- Set the opening balance for each account as of that date, from the statement.
- Convert and upload statements month by month, oldest first.
- Categorize and reconcile each month before moving on.
- Only then connect the bank (or set the connection's start date after your last imported statement, if the option exists).
Our catch-up bookkeeping guide covers the wider process.
Pre-categorizing in a spreadsheet
For large imports, some people prefer to categorize in Excel first, then bring the data into Wave. It's faster for hundreds of transactions because you can sort, filter and apply rules across the whole year at once.
The approach: convert all statements, combine them in one workbook, categorize with a rules table, and review. Then use the categorized workbook as your guide while categorizing in Wave, or, if your Wave plan supports importing categorized transactions in some form, check whether that fits. In most cases, the bank statement upload brings in uncategorized transactions, and you categorize in Wave. The spreadsheet still saves time, because the decisions are already made and you're applying them rather than thinking about each one.
The spreadsheet has another use: it's a second record. If something odd turns up in Wave later, you can check the spreadsheet to see how you categorized it originally and why.
Sales tax and receipts
If you charge sales tax and record it in Wave, bank deposits from customers include the tax. When you record income from bank transactions rather than from Wave invoices, you'll need to account for the tax portion correctly. The cleanest approach is to invoice in Wave and match deposits to invoice payments, so the tax is already recorded on the invoice. If you're unsure how to handle tax on imported transactions, ask your accountant, since it depends on your setup and location.
For expenses, Wave's receipt features let you attach receipts to transactions. During a catch-up, attaching receipts as you categorize keeps everything together. If you're missing receipts, note which transactions need them while you're working through the import, rather than trying to remember later.
Keeping Wave and the bank in sync
Once the history is in, staying in sync is a monthly habit:
- Download the month's statement.
- Convert it if it's a PDF.
- Upload it to Wave.
- Categorize and match.
- Reconcile.
If you have an automatic bank connection for some accounts and file uploads for others, keep a short note listing which accounts use which method. Mixing methods on one account is where duplicates come from. Our month-end close checklist puts this routine in the context of a full monthly close.
Credit cards
Import card statements into a credit card account in Wave. Signs matter: purchases should increase the amount owed and payments decrease it. Card exports differ in sign convention, so check a known purchase and a known payment after uploading. If they're backwards, delete the import, flip the signs in the file, and upload again. Our credit card statement converter produces card files with consistent signs.
Who Wave suits, and when to look elsewhere
Wave works well for freelancers, consultants and small service businesses with a handful of accounts and straightforward transactions. The statement upload makes it practical even when bank connections are unreliable. If your business grows into multiple currencies, inventory, complex payroll or many bank accounts with heavy transaction volume, you may eventually want software with more features, such as QuickBooks or Xero. That's a decision for you and your accountant. If you do move, the same converted statements work for importing history into the new software; see our guides to importing into QuickBooks Online and the Xero CSV import format.
Owner money
Sole proprietors often move money between personal and business accounts. In Wave, those movements are usually recorded as owner investment (money in from you) or owner drawings (money out to you), not as income or expenses. If you upload the business account's statement and see transfers to and from your personal account, categorize them that way. If you're not sure which account your accountant wants used, ask before categorizing a year of them; it's much easier than recategorizing later.
A quick pre-upload checklist
- The file is a real CSV, saved as UTF-8.
- One header row; no title, totals or blank rows.
- One date format, and you know which.
- Plain numbers with minus signs for money out.
- Opening balance plus the sum of amounts equals the statement's closing balance.
- The dates don't overlap with a bank connection or an earlier upload.
- You're uploading to the right account.
A worked example
A freelance writer starts using Wave in July and wants January to June in it for her tax preparer. Her bank isn't supported for automatic connection.
- She sets the business checking account's opening balance in Wave to her December 31 statement balance.
- She converts six monthly PDFs to CSV. All balance.
- She uploads January, maps the columns, and checks three transactions. Correct.
- She categorizes: client payments as income (matching two invoices she'd already created in Wave), software, phone, a co-working membership, and transfers to her savings account.
- She reconciles January to the statement. Zero difference.
- February to June follow the same pattern, faster each month as she recognizes the regulars.
- From July, she uploads each month's statement as it arrives.
Her tax preparer gets reports from Wave for the full year, reconciled to the bank. The January import took the longest, about an hour including setting up categories; by May, each month took around fifteen minutes.
Troubleshooting
Upload rejected. Check for extra rows, currency symbols, inconsistent dates, or a non-CSV file renamed to .csv.
Dates wrong. Mismatched date format on mapping. Re-upload with the correct format, after deleting the bad import.
Everything shows as income (or expense). Signs or column mapping. Money out must be negative in a single amount column.
Balance doesn't match. Overlap with a bank connection, wrong opening balance, or incomplete file.
Invoice payments counted twice. A deposit was categorized as income instead of being matched to the recorded invoice payment.
Transfers counted as income or expenses. Payments to your credit card and moves to savings should be transfers. Check the income and expense reports for amounts that match transfers.
Our take
Wave's file upload is straightforward when the file is clean. Convert PDFs first, keep the CSV simple, upload to the right account, handle transfers and invoice payments carefully, and reconcile every month. That's all it takes to keep Wave's books matching the bank.
Troubleshooting Wave uploads
When a statement upload into Wave doesn't go as planned, it's usually one of these.
The upload is rejected outright. Open the file in a text editor and check the basics: one header row, consistent date formats, plain numbers in the amount column, and no blank rows at the end. Totals rows and balance-forward lines copied from a PDF are frequent culprits.
Amounts come in with the wrong sign. Deposits showing as expenses usually means the file uses positive numbers for withdrawals. Flip the sign in a helper column (=-C2) and upload again, after deleting the wrongly signed import.
Dates land in the wrong month. A day-first file read as month-first swaps days and months for anything up to the 12th. Rebuild the date column as unambiguous dates, or format it as YYYY-MM-DD, before uploading.
Duplicates after connecting the bank. If you uploaded history and then connected the bank, the connection may bring in some of the same dates. Check the overlap period and remove one copy. Next time, upload only up to the day before the connection's first transaction.
Transfers counted as income. A transfer from your savings account into checking isn't revenue. Categorize it as a transfer between your accounts, so both sides cancel out.
A second worked example: a freelancer's first year in Wave
A freelance photographer signs up in March but wants January and February in Wave for tax purposes. Her bank's connection only goes back 90 days in her case, so she uploads the two earlier months from PDFs.
- She converts the January and February statements and checks each against its balances.
- She uploads January, categorizes the 40 transactions, and creates rules for her three regular software subscriptions.
- She uploads February; the rules handle a third of it automatically.
- She reconciles both months to the statement closing balances.
- She notes in a spreadsheet that bank-connection data starts on March 1, so nobody uploads March later.
Mini checklist
- Account in Wave matches the bank account.
- File covers only dates not already in Wave.
- Signs and dates checked on the first few rows.
- Transfers categorized as transfers.
- Month reconciled before the next upload.
FAQ
Can I import bank statements into Wave?
Yes. Wave lets you upload transaction files such as CSV to a bank or credit card account, which is useful when an automatic bank connection isn't available or doesn't cover the dates you need.
Can Wave import a PDF bank statement?
Wave needs a transaction file rather than a PDF. Convert the PDF to CSV first, check that it balances, then upload.
What CSV format does Wave accept?
A file with a date, description and amount for each transaction works well. Use one date format, plain numbers and a minus sign for money out, and map the columns during upload. Check Wave's help centre for the current requirements.
How do I avoid duplicate transactions in Wave?
If the account is connected to your bank, only upload transactions dated before the connection's first transaction, and keep a note of that cutoff date.
How do I reconcile after importing?
Use Wave's reconciliation for the account, enter the statement's closing balance and date, mark the matching transactions, and confirm the difference is zero.
Can I import credit card statements into Wave?
Yes. Upload to a credit card account and check that purchases increase the balance owed and payments reduce it.
Skip the retyping
Upload a PDF or scanned statement and download a balance-checked Excel, CSV, QuickBooks or Xero file. Try the converter free.
Related articles
Convert your first statement free
3 pages a month on the free plan. No credit card.