Bank statement · QuickBooks Online
Bank statement to QuickBooks Online, verified
Upload a PDF, scanned, or photographed bank statement and get back a file built for QuickBooks Online’s own bank-transaction importer: a 3-column CSV (Date, Description, Amount) or an OFX file, with every transaction reconciled against the statement’s stated opening and closing balance before you download.
CSV or OFX -- which should you pick?
CSV
the simpler, one-off route: QuickBooks Online maps its own Date/Description/Amount columns for you during upload, and you can eyeball every row before confirming the import.
OFX
QuickBooks Online also accepts a bank statement as a Web Connect file (QuickBooks’ own help center lists OFX alongside QFX and QBO as accepted formats). Pick OFX if you’d rather skip the column-mapping step, or if you’re importing the same statement into more than one ledger and want one file that works for both QuickBooks and Xero.
Importing into QuickBooks Online, step by step
- 1In QuickBooks Online, go to All apps, then Accounting, then Bank transactions.
- 2Select the account tile you want to import into (or, if it isn’t connected yet, continue to the next step).
- 3Open the Link account dropdown and choose Upload from file (shown as "Or upload transactions manually" for an account with no bank connection).
- 4Drag in (or select) the CSV file Arkrel generated, then select Continue.
- 5In the QuickBooks account dropdown, pick the destination account (or Add New to create one), then Continue.
- 6Tell QuickBooks about the file: the first row is a header (Yes), amounts are in One column, and the date format is MM/dd/yyyy for a US-dollar statement (QuickBooks US preselects it, and Arkrel writes month-first dates for US-dollar statements) or dd/MM/yyyy for any other currency. The columns then map on their own: Date, Description, Amount. Continue.
- 7Select which rows to import, then Continue.
- 8Select Yes to confirm the transaction count, then Done.
- 9The transactions land on the Bank transactions page for that account, in For Review, ready to categorize.
How the balance is verified first
Every bank statement Arkrel processes is run through the same check regardless of which file you download: opening balance plus every credit minus every debit must equal the stated closing balance, and (where the statement prints one) each row’s running balance must follow from the row before it. A statement that fails either check is still exported when you ask for it -- accounting work often starts from an imperfect document -- but the download carries an X-Arkrel-Checks: failed marker for API/automation use, and the dashboard and free tool both show which specific check failed and why, so you fix the right row instead of importing a wrong total blind. Tested in a QuickBooks Online US company on September 27, 2026: a 2-page, 60-transaction statement imported from both the CSV (with the upload screen’s default settings, no changes) and the OFX file, with every date, amount and direction matching the statement, and the OFX import showing the statement’s verified closing balance.
Common import errors, and the fix
QuickBooks reads every date one day (or one month) off, or rejects the file outright.
The date format chosen in the upload step must match the file, and every row uses the same one. Arkrel writes MM/dd/yyyy for US-dollar statements (the format QuickBooks US preselects) and dd/MM/yyyy for other currencies, so pick that option; a mismatch silently swaps day and month for any date up to the 12th. If your bank’s original PDF prints a date with no year at all (common on statements that assume the year is obvious from context), Arkrel infers it from the statement’s own period dates automatically; on the rare statement where that’s genuinely ambiguous, the export fails with a specific error naming the row instead of guessing and importing a wrong year.
The upload is rejected as too large, or QuickBooks silently caps how many transactions came in.
QuickBooks Online’s CSV importer is documented at up to 1,000 lines per file and 350 KB per upload. A statement longer than that needs to be split (by date range is easiest) into more than one import.
A transaction shows up twice after re-importing the same statement.
CSV has no built-in de-duplication in QuickBooks -- re-uploading the same file (or an overlapping date range) creates the rows again. The OFX download handles this for the same file: every transaction carries an ID (an OFX FITID), so importing the same OFX again, or a re-upload of the exact same PDF that Arkrel reads the same way, is recognized as a repeat instead of re-added. Any other file, including a second statement whose dates overlap, gets its own IDs, so check its overlapping days after importing. Arkrel only repeats an ID for the same line of the same file, so a new transaction is never skipped as a repeat.
A deposit and a withdrawal both look positive (or both negative) after import.
QuickBooks’ own worked example for the 3-column format uses a negative number for money out and a positive number for money in; Arkrel’s CSV follows that same convention using the sign the verifier already reconciled against the statement’s balances, so it should never need flipping by hand.
Try it now, free
Use the free bank statement pdf to csv/excel tool: no signup, up to 3 pages, results in seconds.