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, where a general-purpose AI chatbot falls short for this job, and how to get from PDF to a balance-checked Wave import without it.
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.
Pasting the PDF into a general AI chatbot and asking for a file back defaults, almost every time, to CSV — it's the format these tools reach for unless told otherwise. That's the opposite of what's useful here, for reasons specific to Wave:
ClearlyLedger holds the PDF in memory only for as long as extraction and verification take, then deletes the source file within seconds — nothing is retained, shared, or used to train a model afterward. A general chat interface doesn't make that same commitment; whatever you paste in can stick around as part of the product rather than being discarded once you have your answer.
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.
Weigh it on the retention policy, not the AI branding. In-memory processing, prompt deletion of the source file once conversion is done, and a clear statement that your data isn't used for training are the three things to confirm — ClearlyLedger holds up on all of them.
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.
Written by John Snow, Financial Data Specialist.
Loading interactive converter… Try ClearlyLedger free