Back to all posts

How to Import Bank Statements into Wave Accounting from PDF

Published on February 26, 2026 by CapyParse Team

How to Import Bank Statements into Wave Accounting from PDF

Wave is the go-to free accounting tool for freelancers and small businesses. But since H&R Block acquired Wave in 2023, automatic bank connections have moved behind a $16/month Pro paywall. If you're on the free Starter plan, or if your bank isn't supported, you need to upload bank statements manually. And Wave, like most accounting tools, can't read PDF files.

Quick Summary

Wave accepts CSV, OFX, and QBO uploads on its free plan, but not PDFs. CapyParse converts your bank statement PDF into a Wave-ready CSV or QBO file in seconds. Upload your PDF, download the converted file, and import it into Wave at no extra cost.

Wave's Free vs Pro Import Options

Understanding what's free and what's paid in Wave will save you frustration. Here's the breakdown:

Feature Starter (Free) Pro ($16/mo)
Manual file upload (CSV, OFX, QBO) Yes Yes
Automatic bank connections No Yes (US/Canada only)
Receipt scanning Yes Yes
Invoicing & accounting Yes Yes

The key takeaway: manual CSV and QBO uploads are free. You don't need Wave Pro to import bank statements. You just need to provide the file in a format Wave can read. That's where CapyParse comes in: it converts your bank's PDF into a format Wave accepts.

Supported File Formats

Wave accepts several file formats for manual bank statement uploads. Here's what works and when to use each one:

Format Extension Notes
CSV .csv Most universal. Requires 3 columns: Date, Description, Amount.
OFX .ofx Open Financial Exchange. Some banks offer this as a download option.
QBO .qbo QuickBooks Web Connect. Imports cleanly into Wave with no column mapping.
QFX .qfx Quicken format. Similar to OFX, works with Wave.
ASO .aso Accounting Software Online. Less common but supported.
PDF .pdf Not supported. Must convert to CSV or QBO first.

CSV Format Requirements for Wave

Wave's CSV requirements are simple but strict. Get any of these wrong and your upload will fail, often without a clear error message.

Column Required? Format / Notes
Date Yes MM/DD/YYYY or YYYY-MM-DD. Must be consistent throughout the file.
Description Yes Transaction description. No special characters (#, &, $, *). Wave will reject the file if they are present.
Amount Yes Plain number, no currency symbols. Negative = money out, positive = money in.

Critical limits to know:

  • ~100-row limit per file: This is undocumented, but Wave silently fails or partially imports files with more than about 100 rows. Split larger files into batches.
  • No special characters: The #, &, $, and * characters in transaction descriptions will cause the upload to fail. Remove or replace them before importing.
  • UTF-8 encoding only: Files saved with other encodings (like Windows-1252 from Excel) will produce garbled text or fail outright.

Convert Your Bank Statement and Import into Wave (Step-by-Step)

Here's the complete process from PDF bank statement to Wave, step by step:

Step 1: Download Your Bank Statement PDF

Log into your bank's online portal and download the statement you need as a PDF. Most banks keep 1-7 years of statements available for download. Save each month as a separate file.

Step 2: Convert PDF to CSV with CapyParse

Go to CapyParse and upload your bank statement PDF. CapyParse extracts every transaction (dates, descriptions, and amounts) and outputs a clean CSV. You can also export as QBO format, which Wave accepts directly with no column mapping needed.

Step 3: Clean Up the CSV for Wave

Open the CSV in Excel or Google Sheets and make these adjustments:

  • Remove any special characters (#, &, $, *) from the Description column
  • Ensure the Amount column has no currency symbols, just plain numbers
  • If the file has more than 100 rows, split it into multiple files of 100 rows or fewer
  • Save as CSV UTF-8 format

Tip: If you export as QBO from CapyParse, you can skip this step entirely. QBO files import directly into Wave without any cleanup.

Step 4: Upload into Wave

In Wave, go to Accounting > Transactions. Click the Upload button (or "Import CSV/OFX") and select your file. Wave will ask you to map the columns (Date, Description, Amount) and choose which bank account to assign the transactions to. Review the preview and confirm the import.

Convert Your Bank Statement for Wave

Upload any bank statement PDF and get a Wave-ready CSV or QBO file in seconds. 10 free pages, no credit card required.

Try CapyParse Free

Credit Card Statements in Wave

Importing credit card statements into Wave follows the same process, but there's one important difference: sign conventions.

For credit card statements in Wave:

  • Purchases should appear as positive amounts (money you owe)
  • Payments and credits should appear as negative amounts (reducing your balance)

This is the opposite of how bank checking accounts work (where deposits are positive and withdrawals are negative). If your CSV has the signs flipped, you can quickly fix it in Excel by multiplying the Amount column by -1. CapyParse handles sign conventions correctly based on the statement type, so this is typically not an issue if you're converting directly from a credit card PDF.

Tips for Wave CSV Uploads

Use Short Filenames

Wave can have trouble with long or special-character filenames. Name your file something simple like jan-2026.csv instead of "Bank_Statement_Jan_2026_(checking)_FINAL.csv". Keep it short, lowercase, and use hyphens instead of spaces.

Google Sheets for Encoding Fixes

If Wave rejects your CSV due to encoding issues, open it in Google Sheets (File > Import), then re-download as CSV. Google Sheets automatically converts to UTF-8, fixing most encoding problems that Excel introduces.

Split Files at 100 Rows

Wave's ~100-row limit is undocumented and catches many users off guard. If your monthly statement has more than 100 transactions (common with business accounts), split the CSV before uploading. Upload each batch and verify it imported completely.

Don't Mix CSV + Bank Connection

If you have Wave Pro with an active bank connection, be careful about also uploading CSV files for the same account. Wave doesn't deduplicate well, and you'll end up with duplicate transactions that are tedious to clean up. Use one method or the other, not both.

Common Wave Upload Errors and Fixes

Wave's error messages can be vague. Here are the most common upload issues and how to resolve them:

Error / Symptom Likely Cause Fix
"Unable to process file" Special characters (#, &, $, *) in description fields Find and remove or replace special characters in the Description column
Upload completes but transactions are missing File exceeds ~100-row limit; Wave silently drops excess rows Split into files of 100 rows or fewer and upload separately
Dates are wrong or in random order Inconsistent date format (mixing MM/DD and DD/MM) Use a single date format throughout the entire file
Amounts show as zero or are missing Currency symbols or commas in the Amount column Remove $, commas, and other non-numeric characters from amounts
"File format not supported" File saved as .xlsx (Excel) instead of .csv, or wrong encoding Save as CSV UTF-8 from Excel or Google Sheets
Duplicate transactions after import Same transactions imported via both CSV upload and bank connection Delete duplicates manually, or disconnect the bank feed before uploading CSV files

Frequently Asked Questions

Can I import a PDF bank statement into Wave?

No. Wave does not accept PDF files for bank statement uploads. You need to convert the PDF to CSV, OFX, or QBO format first. CapyParse converts bank statement PDFs to CSV or QBO in seconds, and both formats can be uploaded directly into Wave.

Do I need Wave Pro to upload bank statements manually?

No. Manual CSV, OFX, and QBO file uploads are available on Wave's free Starter plan. Only automatic bank connections (where Wave pulls transactions directly from your bank) require the Pro plan at $16/month. Manual upload is the free alternative.

What CSV columns does Wave require?

Wave requires just three columns: Date, Description, and Amount. The date should be in MM/DD/YYYY or YYYY-MM-DD format. The amount should be a plain number without currency symbols. Expenses are negative, and income (deposits) are positive.

Why does my Wave CSV upload keep failing?

The most common causes are: special characters in the description field (Wave rejects #, &, $, and * characters), files with more than about 100 rows (Wave silently fails on large files), wrong encoding (must be UTF-8), or inconsistent date formats. Clean the file and split it into smaller batches.

Can I import more than 100 transactions at once into Wave?

Wave has an undocumented limit of approximately 100 rows per CSV upload. Files with more rows may fail silently or only import partially. The workaround is to split your CSV into batches of 100 rows or fewer and upload each batch separately.

Does Wave accept QBO files?

Yes. Wave accepts QBO (QuickBooks Web Connect), OFX, QFX, and ASO file formats in addition to CSV. If your bank offers a QBO download, you can upload it directly into Wave. You can also use CapyParse's free QBO to CSV converter if you need to work with the data in a spreadsheet first.

Wave accepts QBO files directly

Since Wave supports QBO imports, you can skip the CSV formatting step entirely. Convert your bank statement PDF to QBO with CapyParse and upload it directly. Or if you already have a QBO file, use our free QBO to CSV converter to get it into spreadsheet format.

Ready to Import Your Bank Statements into Wave?

Convert any bank statement PDF to a Wave-compatible CSV or QBO file in seconds. Keep using Wave for free. No Pro plan needed for manual uploads.

Try CapyParse Free

10 free pages. No credit card required. View pricing for higher volumes.

Related Articles