For the bookkeeper whose client banks at Bank of America

Bank of America statement to QBO. One account per file — two account sections are never summed into one.

A .QBO belongs to one account. Bank of America statements routinely carry more than one account section in a single PDF, and merging them produces an import that is wrong in a way QuickBooks will not complain about. Each section is read as its own ledger, checked on its own balance chain, and written as its own file.

Drop a Bank of America statement here

Or click to pick the file. It opens in the same page you would have used anyway — the balance chain starts re-adding on the next screen.

Three files free, 60 pages in total, no card needed. Paid plans are priced by the page — one page of the original is one page, up to 500 pages in a single file.

Dates on file: MM/DD/YYYY → written out as ISOCurrency: USD ($)No bank login, ever

The summary box and the register are two different things

Period totals usually sit in a summary box, and the transactions sit in a register below it; on a merged or scanned statement the box can be read as if it were rows of its own. That single mistake doubles the deposits and halves the closing balance. The two are separated before anything is checked, and the summary is used only as the total the register has to satisfy.

What gets checked before you download

Every line below is arithmetic on the paper you sent — not a supplier's claim about how good its reading is. Where the arithmetic fails, you get the row and the exact difference, and the statement is not called balanced.

Each account section kept as its own ledger

Checking and savings on one PDF become two ledgers with two running balances, not one appended list. Exporting one of them never carries the other's rows.

The institution ID QuickBooks expects

Bank of America is written with Intuit bank ID 2440 and routing 011000138 when the statement does not print its own routing number — the value in our bank table, so the import lands in the right institution rather than a generic one.

One FITID per row

Transaction IDs are derived from date, amount and payee, so re-importing the same file is rejected rather than appended a second time.

Opening + deposits − withdrawals = closing, per account

Each section has to satisfy its own summary. A break is named with the row, the page and the exact difference, and the statement is not called balanced.

Where a Bank of America statement goes wrong quietly

None of these announce themselves. Each one produces a file that looks correct.

The summary box read as transactions

Period totals in the box look exactly like ledger rows to a reader that does not know the difference. They are excluded from the register and used only as the figure the register must add up to.

Two accounts on one statement

When a client sends one PDF covering both accounts, appending the sections gives a running balance that jumps without explanation at the seam.

Fee and interest lines that carry no payee

Bank charges print a date and an amount but sometimes no description. They are kept as printed and flagged, not given an invented payee to satisfy an importer.

What we will not claim

We will not tell you that QuickBooks will accept the file without comment — the import screen owns its own rules and we have not run your version of it. We also do not merge two accounts into one file, even when you ask; that is the one thing this export refuses to do.

The same goes for the arithmetic: a clean run means the checks we ran found nothing to flag. It does not mean the document is correct — it means nothing in it failed the checks listed above.

How it runs

STEP 1

Upload the statement

A native PDF, a scan, or a phone photo of the Bank of America statement. No bank connection, no credentials, nothing to authorise.

STEP 2

The ledger is rebuilt and walked

Rows are put back in the order the statement prints them, page furniture is removed, and the balance chain is re-added line by line.

STEP 3

Check the flags, then export

Anything that did not add up is listed first, with its page and exact difference. Then take the QuickBooks (.QBO) file, the other export shapes, and the review sheet.

What lands on your disk

  • The .XLSX register — one row per transaction, no merged cells, amounts as numbers
  • A Review sheet: who confirmed or corrected which cell, and what it said before
  • Plain CSV, Xero-shaped CSV, and QuickBooks .QBO with unique transaction IDs
  • A check report stating the rows printed, the rows exported, and every difference found
  • Every cell still clickable back to the page and region it was read from
  • Files are read, then destroyed — a second upload is a second read

Questions

My client's PDF has checking and savings on the same statement. What comes out?+

Two separate ledgers, each with its own balance chain, exported separately. Import the one you are working on; the other stays available in the same workspace.

Does this work if the statement is a scan?+

Yes — the statement is read and the register is rebuilt either way. Values that cannot be placed are flagged rather than filled in, and the count of flagged rows is stated before you export.

Which QuickBooks import path do I use?+

Desktop: File → Utilities → Import → Web Connect. Online: the bank-transactions upload screen. Both take the same .QBO, and both use the transaction ID to decide whether a row is already there.

What does it cost?+

Three files are free, 60 pages in total, with no card and no account needed to try. Paid plans are sold by the page — $19 a month buys 1,000 pages — and a page is one page of the original document.