How to Import Bank Statements into Wave Accounting
Quick Answer {#quick-answer}
To import bank statements into Wave Accounting: convert your PDF or raw CSV bank statement to a Wave-compatible CSV using QuickBankConvert, then go to Accounting → Transactions → More Options → Upload Transactions (CSV) in Wave and upload the file. Wave requires Date (MM/DD/YYYY), Description, and Amount columns at minimum. Most imports complete in under two minutes.
Why CSV Import Beats Manual Entry in Wave {#why-import-csv}
Wave Accounting is a popular free bookkeeping tool for small businesses and freelancers. It offers bank connections through Plaid, but those connections are not always reliable—banks change their authentication requirements, connections drop after 90 days, and some credit unions and smaller banks are not supported at all.
CSV import is the universal fallback. It works with any bank worldwide, gives you control over exactly which transactions are imported, and creates a clean audit trail tied to your official bank statements.
When to use CSV import instead of bank connection:
| Situation | Use CSV Import |
|---|---|
| Bank is not supported by Plaid | Yes |
| You prefer not to share bank credentials | Yes |
| Connection has dropped and keeps failing | Yes |
| You are importing historical data | Yes |
| You want to control which months are imported | Yes |
| Your bank is supported and connected stably | No — use the connection |
How to Prepare Your CSV for Wave {#prepare-csv}
Wave is stricter about CSV format than some other accounting tools. Getting the format right before uploading saves multiple failed attempts.
Required Columns
Wave's CSV importer accepts two formats:
Format A – Single Amount Column:
| Date | Description | Amount |
|---|---|---|
| 01/15/2025 | Amazon Web Services | -89.99 |
| 01/20/2025 | Client Payment - Acme Corp | 2500.00 |
Negative values = money out. Positive values = money in.
Format B – Separate Debit and Credit Columns:
| Date | Description | Debit | Credit |
|---|---|---|---|
| 01/15/2025 | Amazon Web Services | 89.99 | |
| 01/20/2025 | Client Payment - Acme Corp | 2500.00 |
Date Format Requirements
Wave requires dates in MM/DD/YYYY format. Many bank CSVs use YYYY-MM-DD or DD/MM/YYYY. If your bank's CSV uses a different format, QuickBankConvert normalizes the date format automatically as part of the conversion.
Common Format Problems
| Problem | How to Fix |
|---|---|
| Dates in YYYY-MM-DD format | Use QuickBankConvert or Excel Text-to-Columns to reformat |
| Amount column contains $ symbol | Remove currency symbols—Wave needs plain numbers |
| Thousands separator (1,234.56) | Remove commas from numbers |
| Debit/Credit in parentheses (234.56) | Convert to negative numbers (-234.56) |
| Extra header rows from PDF conversion | Delete all rows above the column headers |
Callout: The easiest way to get a Wave-ready CSV is to run your bank PDF or raw export through QuickBankConvert. It handles date normalization, currency symbol removal, and column standardization automatically—so the file you download is ready to upload directly into Wave without any manual editing.
Step-by-Step: Importing CSV into Wave {#step-by-step-import}
Step 1 – Prepare Your File
Convert your bank statement PDF to CSV using QuickBankConvert. Save the output file somewhere easy to find—your Downloads folder works fine for this.
Step 2 – Open Wave and Navigate to Transactions
Log in to your Wave account at waveapps.com. In the left sidebar:
Accounting → Transactions
Step 3 – Open the Upload Dialog
In the Transactions view, look for the More Options button or the upload icon near the top right of the transaction list. Click Upload Transactions (CSV).
Step 4 – Select Your Account
Wave will ask which account you are importing into. Select the correct bank account from the dropdown. If the account does not exist yet, create it first under Accounting → Chart of Accounts → Add a New Account.
Step 5 – Upload the File
Drag and drop your CSV file into the upload area, or click to browse and select it. Wave will display a preview of the first several rows.
Step 6 – Map the Columns
Wave will attempt to auto-detect your columns. Verify that:
- Date column maps to → Date
- Description column maps to → Description
- Amount (or Debit/Credit) maps to → the correct field
If auto-detection is wrong, use the dropdown on each column header to correct it.
Step 7 – Set the Date Format
Confirm the date format matches your file. Select MM/DD/YYYY from the dropdown if Wave does not detect it correctly.
Step 8 – Review and Confirm
Wave shows a preview of how transactions will appear. Review a few rows. If everything looks correct, click Import. Wave will process the file and add the transactions to your account.
Step 9 – Handle Duplicates
If any transactions overlap with previously imported data, Wave will flag them. Review each flagged item and choose to import or skip.
Troubleshooting Common Wave Import Errors {#troubleshooting}
| Error Message | Likely Cause | Fix |
|---|---|---|
| "File could not be parsed" | Special characters or encoding issue | Save file as UTF-8 CSV in Excel: File → Save As → CSV UTF-8 |
| "Date format not recognized" | Wrong date format | Reformat dates to MM/DD/YYYY |
| "Amount must be a number" | $ symbol or commas in amount field | Remove all non-numeric characters from amount column |
| "No transactions found" | Header row missing or wrong | Ensure row 1 contains column labels: Date, Description, Amount |
| Transactions appear with wrong sign | Debit/Credit columns swapped | Check Format B mapping in the column assignment step |
| Import succeeds but balance is wrong | Internal transfers included | Remove transfer rows before importing |
After the Import: Categorizing Transactions in Wave {#after-import}
Once transactions are in Wave, you need to assign categories (Wave calls them "accounts" in the chart of accounts sense).
Use Wave's Rules feature to auto-categorize recurring merchants. Go to Settings → Rules and create rules like: "If description contains ADOBE, categorize as Software Subscriptions."
Review uncategorized transactions by filtering the Transactions view to show only items with the category "Uncategorized Expense" or "Uncategorized Income."
Reconcile against your bank statement once all transactions are categorized. Wave's reconciliation tool (under Accounting → Reconciliation) walks you through matching your Wave balance against your bank's ending balance month by month.
Callout: If you import multiple months at once and have hundreds of uncategorized transactions, tackle them account-by-account rather than scrolling through the full list. Sort by Description so identical merchants appear together, then categorize in batches. This approach typically reduces a three-hour categorization session to under 30 minutes.
Wave CSV Import vs. Bank Connection {#wave-vs-bank-connect}
| Factor | CSV Import | Live Bank Connection |
|---|---|---|
| Setup time | 5–10 min per import | 10–15 min once |
| Ongoing effort | Monthly upload | Automatic |
| Data freshness | As current as your statement | Near real-time |
| Bank compatibility | Any bank worldwide | Plaid-supported banks only |
| Credential sharing | Not required | Required (Plaid) |
| Historical data | Any period | Typically 90 days |
| Format control | Full control | Plaid-controlled |
| Reliability | Very high | Connection drops occur |
For most small businesses, the hybrid approach works best: use a bank connection for day-to-day transaction feed, and fall back to CSV import when the connection drops or for one-time historical imports.
Visit QuickBankConvert to convert your bank PDFs into Wave-ready CSVs in seconds—no account or signup required.
Frequently Asked Questions
What CSV format does Wave Accounting require?
Can I import PDF bank statements directly into Wave?
How do I handle duplicate transactions when importing into Wave?
Does Wave support OFX or QFX file imports?
Is Wave Accounting free to use for CSV imports?
Ready to convert your bank statement?
Free. Private. Instant. Your files never leave your browser.
Convert Your Statement