Convert a PDF bank or credit card statement to an OFX or CSV file that Wave accepts under Upload transactions, checked against the statement balances. Free preview.
Grab the PDF statement from online banking. Statements downloaded from your bank are text-based and convert cleanly; scans and photos aren't supported yet.
Utilly reads every transaction, then checks that opening balance + transactions = closing balance. You'll see Balanced ✓ or exactly how far off it is, before you pay anything.
Wave doesn't read PDF statements. Its uploader takes OFX, QBO, QFX and ASO files, or a CSV, and Wave's help says the first four are easier than a CSV. Wave's pricing page lists automatic bank imports as a Pro plan feature, and bank downloads often stop after a few months, so older months and Starter-plan books usually start from the PDF. Utilly reads the PDF, checks it against the opening and closing balance, and writes the OFX and a CSV laid out the way Wave's CSV upload asks for.
Short answer: Wave can't read a PDF statement. Convert the PDF to an OFX file (Wave's preferred kind) or a 3-column Wave CSV, then upload it under Accounting → Transactions → More → Upload transactions. Check the balance before you import: Utilly shows Balanced ✓ only when the opening balance plus every transaction equals the closing balance.
Wave's uploader takes OFX, QBO, QFX and ASO files, or a CSV, and not PDFs. Wave's help says the first four "are easier to import into Wave than a .CSV file" (Wave: Upload bank and credit card statements; Wave: CSV uploads).
| File | Use it when | What's in it |
|---|---|---|
| OFX | You want the quickest upload and don't need to edit anything first. | Every transaction with a date, signed amount, description and a stable ID, the account type (bank or credit card) and the statement's ending balance. |
| Wave CSV | You want to look at or change rows in Excel or Google Sheets before uploading. | Only the 3 columns Wave reads: Date (YYYY-MM-DD), Description, Amount. No balance column, no summary rows, no $0.00 lines. |
| QuickBooks .QBO | Also on the results page, and Wave lists QBO as accepted, but the OFX is the plain version of the same file. | Same transactions as the OFX, plus QuickBooks-only bank fields. |
The first rows of our sample bank statement (business checking ending 0427) come out as:
Date,Description,Amount
2026-09-01,ACH DEBIT GUSTO PAYROLL 0912,-6420.18
2026-09-01,STRIPE TRANSFER ST-K2M8Q4,3184.27
2026-09-02,CHECK 2041,-1850.00
And the sample credit card statement, where Wave wants purchases positive and payments negative:
Date,Description,Amount
2026-09-01,GOOGLE *WORKSPACE CC@GOOGLE.COM,72.00
2026-09-02,DELTA AIR LINES 0062 ATLANTA GA,418.60
...
2026-09-05,PAYMENT THANK YOU - WEB,-1500.00
How it lines up with Wave's CSV rules (Wave: what to do if Wave can't read your CSV):
1234 is written as Ref 1234. Commas and quotes become spaces.Want to see the files before uploading anything? Download the sample statement's Wave CSV and OFX (fictional bank, 31 transactions, 12,418.36 → 13,440.52), or the credit card Wave CSV and OFX. Upload samples only into a test business in Wave, never into your real books. More test files are in free sample bank statement files.
Steps from Wave's upload help and CSV upload help, read Oct 24, 2026. Connected to the bank already? Wave's help says to turn off the account's transaction imports first if you upload statements by hand (Wave), and upload only months that aren't in the account yet.
Why the PDF is often the only way in: Wave's pricing page lists auto-import of bank transactions as a Pro plan feature ($19 USD a month or $190 a year when checked), and not every bank connects (Wave pricing). On the Starter plan, for months before a connection, or for a closed account, the statement PDF is usually what you have.
| Wave says | Fix |
|---|---|
| "Wave needs you to make a small change to your file so we can read it" (OFX) | Wave's help: open the file in a text editor and swap the encoding line near the top, ENCODING:USASCII to ENCODING:UTF-8 or the other way round (Wave). Our OFX says USASCII. Or upload the Wave CSV instead. |
| "Wave is having difficulty reading the file you uploaded" | Too many columns or a long file name. The Wave CSV has 3 columns and a short name; if you edited it, delete any column you added and rename it to something like 2026-09-checking.csv. |
| "Wave is having difficulty reading the dates of your transactions" | A spreadsheet re-saved the dates as MM/DD/YYYY. Set the Date column back to YYYY-MM-DD before saving as CSV, or upload the file without opening it. |
| Card payments show up as purchases | Upload a card statement into a credit card account, and use the Wave CSV, not the plain CSV (whose card charges are negative). |
| "The file you provided doesn't match any format we support" | The file is a PDF or an .xlsx. Upload the OFX or the Wave CSV. |
| The statement doesn't balance in Utilly | You see the difference before paying. Don't upload a file that's off; email us the statement layout and we'll fix it or refund you. |
We built these files to Wave's published rules but haven't uploaded them into a live Wave business ourselves yet. Check Wave's Confirm import screen on your first upload, and tell us at support@version1.io if anything doesn't come through right.
Preview any statement free. A $9 pack unlocks 5 full statements in every format, with no expiry and no subscription. Bookkeepers with many clients can go unlimited for $19/month. See pricing.
You can preview every statement free: we show the balance check and the first 5 transactions with no sign-up. Unlocking the full file costs one credit ($9 for 5 statements).
No. The PDF is read in memory and never written to disk, and extracted results are deleted after 1 hour. We never use your data for AI training.
Not yet. PDFs downloaded from online banking are text-based and work well. Scans and phone photos need OCR, which is on the roadmap.
You'll see exactly how far off it is before paying. If a paid conversion is wrong and we can't fix it, email support@version1.io for a refund.
No. Wave's help says it doesn't support PDF files for transaction uploads. It takes OFX, QBO, QFX and ASO files, or a CSV. Convert the PDF to an OFX or a Wave CSV here, then use Accounting → Transactions → More → Upload transactions.
The OFX, if you don't need to edit anything: Wave's help says OFX, QBO, QFX and ASO are easier to import than a CSV. Take the Wave CSV when you want to look at or change rows in a spreadsheet first. It has only the 3 columns Wave reads (date, description, amount), with YYYY-MM-DD dates.
Yes. Upload into a credit card account in Wave. In the Wave CSV, purchases, fees and interest are positive and payments and credits negative, which is how Wave's CSV help says card amounts must be signed. The OFX is written as a credit card statement, with the New Balance as the ending balance.
Wave's help says to open the file in a text editor and swap the encoding line near the top: ENCODING:USASCII to ENCODING:UTF-8, or the other way round. Our OFX files say ENCODING:USASCII. Save the file and upload it again.
They can. Wave's help articles on statement uploads don't say it skips transactions it already has, so don't count on it. Upload only months that aren't in the account yet. If the account is connected to your bank, Wave's help says to turn off its automatic imports before you upload statements by hand.
Step-by-step guide →
Step-by-step guide →
Step-by-step guide →
Step-by-step guide →
Step-by-step guide →
Step-by-step guide →