Wave's upload tool accepts OFX, QBO, QFX, ASO, or CSV, never a PDF, and Wave's own support docs recommend the OFX-family formats over CSV since CSV requires manually mapping date, amount, and description columns. This guide covers the exact upload steps, the currency-match requirement that blocks a clean import, why pasting statements into a general-purpose AI chatbot falls short, and the faster, balance-verified path from PDF to a working Wave import.
Last updated 2026-08-23
Wave's upload tool (Accounting > Transactions > More > Upload transactions) accepts five formats: OFX, QBO, QFX, ASO, and CSV. A PDF isn't any of them. Most guides tell you to convert to CSV because it's the most common spreadsheet format — but Wave's own support docs say the opposite: CSV is "a more complex option," and Wave recommends OFX, QBO, QFX, or ASO first if you can get one. Convert your PDF to OFX instead of CSV, and Wave's column-mapping wizard has less work to do.
Wave is one of the few full-featured accounting platforms still free for unlimited invoicing and bookkeeping, which is exactly why it shows up constantly in freelancer and small-business advice. Its usual way of getting bank data in is an automatic, live bank connection. That connection doesn't cover every bank, doesn't reach back before you connected it, and some people would rather not link login credentials to a third-party service at all. When any of that applies, the fallback is a manual statement upload — and Wave's upload tool doesn't take a PDF.
This guide covers the format Wave itself recommends (it's not the one most people reach for first), the exact upload steps, and the currency and account-setup details that block a clean import if you miss them.
A bank statement PDF is a print layout — text and rule lines positioned for a page, not a file with a Date field, an Amount field, and a Description field a program can read directly. Wave's transaction importer needs one of five specific file types to work from: OFX (Microsoft Money), QBO (QuickBooks), QFX (Quicken), ASO (Simply Accounting), or CSV. A PDF isn't on that list, so it has to become one of those five first.
Most "how to import a bank statement" advice defaults straight to CSV, since it's the format every spreadsheet tool can open and every converter offers by default. Wave's own guidance runs the other way. Its CSV upload article opens with a direct recommendation to use OFX, QBO, QFX, or ASO instead "if your bank offers" one, and calls CSV "a more complex option." The reason is structural: OFX, QBO, QFX, and ASO already carry typed Date, Amount, and Description fields, so Wave can read them directly. A CSV is just text in columns — Wave has to ask you, row by row, which column means what, and it's the format most likely to trip on a bank's date formatting or an extra header row.
That matters here because a PDF converter has to choose an output format, and CSV is the default almost everyone reaches for. If your converter can also produce OFX — the format Wave's own docs list first — use that instead. It skips the column-guessing step entirely.
Sometimes CSV is the only realistic option — some converters don't offer OFX, or you want a spreadsheet copy to eyeball before committing. If you're uploading a CSV, Wave walks through three mapping screens in order, and each one matters:
| Step | What to pick | Why it matters |
|---|---|---|
| Select date | Transaction date for a bank account; posting date for a credit card | Wave uses whichever date column you pick as the transaction date — the wrong column shifts every entry to the wrong day |
| Select amounts | Deposits column for a checking account; charges column for a credit card | Picking the wrong side reverses income and expenses across the whole import |
| Select description | The column with the clearest merchant/payee text | This is what you'll actually see and search on the Transactions page afterward |
If Wave only finds one column that could plausibly be the date, amount, or description, it pre-selects it for you automatically — the manual step only shows up when there's genuine ambiguity in the file. Wave also publishes a downloadable CSV template if you want to check your file's structure against it before uploading.
Wave's docs are specific on one point that's easy to miss: the statement's currency has to match the payment account's currency. If your statement doesn't include currency codes at all, Wave records everything in the account's own currency rather than rejecting the file — but if the statement's currency and the account's currency actively disagree, that's the mismatch to check first if an import behaves unexpectedly. This mostly comes up for freelancers billing in one currency while holding a foreign-currency account, or anyone converting statements from a bank outside their home country.
A common next step is pasting the PDF text into a general-purpose AI chatbot and asking for a CSV or OFX back. It can work. It also comes with three problems that show up quickly once you're doing this every statement cycle:
None of this means AI has no place in statement conversion. It means pasting a full bank statement into a general chat interface is the wrong shape of tool for a task that's really about structured extraction with a correctness check, not conversation.
This is the right question to ask, and it's the exact concern that makes pasting a statement into a general chat tool uncomfortable. The answer depends entirely on the converter's data-handling policy, not on whether "AI" is involved anywhere in the pipeline.
ClearlyLedger processes PDFs in memory and deletes the source file within seconds of conversion. Your statement is never stored, never shared, and never used to train AI models. That's a meaningfully different posture from typing your bank statement into a general-purpose chat interface, where the input can be retained as part of the product.
No. Wave's upload tool accepts OFX, QBO, QFX, ASO, or CSV files only. A PDF has to be converted to one of those five formats first.
Wave's own support documentation recommends OFX, QBO, QFX, or ASO over CSV when your bank (or converter) can produce one, describing CSV as the more complex, error-prone option of the five.
That mapping step only appears for CSV uploads, since a CSV is plain text in columns with no field types attached. OFX, QBO, QFX, and ASO files already carry typed date, amount, and description fields, so Wave skips the mapping screens for those formats.
Wave expects the statement currency to match the payment account's currency. If the statement doesn't specify a currency at all, Wave assumes the account's currency; if the two currencies genuinely conflict, that mismatch is the first thing to check if transactions import incorrectly.
Yes. The account you're importing into needs to already exist under your Chart of Accounts before you use the Upload transactions flow.
It depends on the tool's retention policy, not on whether it uses AI. Look for in-memory processing, immediate deletion of the source file, and an explicit statement that data isn't used to train models. ClearlyLedger does all three.
Ready to get your first statement into Wave? Use ClearlyLedger's bank statement converter — Standard CSV is available on every plan, while paid plans add the OFX format Wave itself recommends. Using QuickBooks, GnuCash, or Quicken instead? See the same conversion for QuickBooks, GnuCash, or Quicken.
Loading interactive converter… Try ClearlyLedger free