Skip to content
Collecting client bank statements

Bank feeds vs bank statements: why QuickBooks isn't your archive

By Chris Wattinger, Technology Lead at Scale CPA · Reviewed by Alex Pacione, CPA · Published · 6 min read
bank feedsreconciliation

Here is how most firms discover the difference: a lender asks for a year of statements on every operating account, the standard underwriting package for a credit line. The books are current, every transaction categorized, a long stretch of clean bank feed history sitting in QuickBooks. Then someone opens the statement folder and finds a fraction of the PDFs that should be there. The feed has been doing the daily work so well that nobody noticed the archive quietly not existing.

Rebuilding the archive after the fact is slower than it sounds: portal logins nobody has, clients hunting for old passwords, and a written request to the bank plus a wait for any account that has since closed. A ten minute task can stretch across days. Our own statement folders ran thinner than our feed history more months than we care to admit, and firms that go looking tend to find the same pattern: strong feeds, thin archives.

The mistake underneath is treating the QuickBooks bank feed as the statement archive. It never was one. The feed and the statement come from the same bank, but they are different objects with different jobs, and the differences surface at the worst possible moments: financing, audits, tax exams, offboarding.

What the feed actually delivers

A bank feed is a data pipeline. The bank exposes transactions, an aggregator such as Plaid or Finicity (or Intuit’s own connections) pulls them, normalizes them, and drops them into your ledger. Skim Plaid’s transactions documentation and notice how much of it concerns cleaning: enriching merchant names, categorizing, resolving pending activity. That cleaning is the product. A raw descriptor like POS 8842 SQ *BLU BTL OAK becomes “Blue Bottle Coffee,” which is exactly what you want at categorization time and exactly what you cannot hand an auditor as bank evidence.

Three more properties matter here.

Pending transactions mutate. A charge arrives as pending, then posts days later, sometimes with a different amount or descriptor, and the aggregator’s dedup logic has to decide whether it is the same transaction. It usually decides correctly. Usually.

Reconnects leave gaps. Connections break for reasons ranging from changed passwords to bank security holds, and when a link is repaired the backfill only reaches so far. A fresh connection typically pulls about 90 days of history. If the outage ran longer than the backfill window, the transactions in between simply never arrive, and nothing in the ledger announces the hole.

And a feed has no balance authority: no concept of a statement period, just a running balance computed in your ledger from whatever transactions made it through the pipeline. If two went missing in a reconnect gap, that balance is confidently wrong, and it will stay wrong until something external contradicts it.

The statement carries the bank’s authority

The statement is a different kind of object entirely. Once per cycle, the bank generates a document with an opening balance, the period’s activity, and a closing balance that must tie internally. It is issued once and never edited. Next month’s statement opens with this month’s closing figure, so the documents chain, and a gap or alteration is visible on the face of the record.

That structure is why every external party standardizes on it. Auditors want evidence that exists independently of the books under audit. Lenders underwrite from statements because ledger data can be edited by the borrower’s own bookkeeper. The IRS lists bank account statements among the supporting documents you should keep behind gross receipts and expenses. In a legal dispute, the statement is what gets treated as the bank’s record of what happened.

One wrinkle worth knowing before you build anything on this: statement periods follow the account’s cycle date rather than the calendar month, so “get June’s statement” often really means getting the two statements that span June.

Side by side, the division is clean:

Bank feedBank statement
What it isNormalized transaction streamOfficial period record from the bank
Payee namesCleaned and enrichedRaw bank descriptors
Changes after arrivalYes: dedup, edits, deletionsNever
BalancesComputed in your ledgerStated by the bank, chained period to period
Accepted as evidenceRarelyAudits, underwriting, IRS, legal
A bank feed is optimized for keeping the books current, and it earns that job. A statement is the bank's own record of a defined period, generated once and never changed. Financing, audits, and tax exams all run on the second kind of document, so the archive has to exist independently of the ledger.

Where the QuickBooks archive assumption breaks

Plenty of firms know all this and still run an implicit policy of “the data is in QBO and the bank keeps the PDFs, so we can pull them later.” Later is when both halves fail.

Banks trim online statement history. Availability commonly runs anywhere from 18 months to 7 years depending on the institution and account type, and the moment an account closes, portal access usually goes with it. Recovering statements from a closed account means written requests, per-copy fees at some banks, and weeks of waiting. The QBO side, meanwhile, holds transaction rows rather than documents. Export them and you have a spreadsheet your own firm produced, which is precisely the kind of evidence an outsider discounts.

Retention obligations compound the problem, because the periods you are required to support stretch back years, well past most banks’ online windows. We cover the specifics in our post on statement retention requirements, but the operational conclusion is short: the archive has to be built in the present, while access is easy. Rebuilding it in the past tense is the expensive version.

Feeds are enough more often than you’d think

To be fair to the feed: for most of the month it is the right tool. Watching cash daily. Catching a duplicate charge. Keeping categorization current so close week is not a triage ward. Spotting a fraudulent debit while it is still young enough to dispute. All of that is feed work, and no PDF will ever answer “what happened in this account this week” faster.

The statement earns its keep at boundaries. Period close, when the ledger has to tie to a stated balance. Year end. Any moment an outsider relies on the numbers. A workable division of labor: run the month on the feed, prove the month with the statement, and never let the first quietly substitute for the second.

Building an archive that survives scrutiny

The mechanics are simple to state. One PDF per account per statement period, named consistently, filed in storage the firm controls rather than a client inbox or a bank portal. A coverage check before close that asks whether the periods on hand chain across the month with no gap. Our complete guide to collecting client bank statements walks through the whole workflow, including who owns it.

The hard part is doing it every month, for every account, across an entire client book. That is a chore, and chores decay. The decay is why we built StatementFlow inside Scale CPA and ran it on our own clients first. It learns each US bank account’s actual posting cycle, fetches the official PDF through Plaid’s statements product or Mastercard Open Banking when the bank publishes it, verifies every download with a SHA-256 hash, and files it into the firm’s own Google Drive by client, year, and month. It deliberately stays off the feed side: no OCR, no transaction extraction, no bookkeeping. The feed keeps doing what it is good at. The archive just stops depending on someone remembering.

However you get there, automated or by hand, the end state is the same. QuickBooks holds your work. The statement archive holds your proof. Maintain them separately, because they fail separately.

If your feed history is two years deep and your statement folder is not, request early access and we will show you what the coverage board turns up on a book like yours.

FAQ

Is a bank feed the same as a bank statement?
No. A bank feed is a stream of transaction data delivered through an aggregator or direct bank connection, with payee names cleaned and duplicates filtered along the way. A bank statement is the official periodic record the bank itself generates, with opening and closing balances, and it never changes after issue.
Are bank feeds enough for reconciliation?
For day to day categorization, yes. For period end reconciliation, no. Reconciliation means tying your ledger to the bank's stated opening and closing balances for a defined period, and only the statement carries those figures. A feed shows a running balance computed from whatever transactions happened to arrive.
Does QuickBooks Online store my bank statements?
QuickBooks Online stores the transaction data its feed delivers, plus any attachments you upload by hand. It does not build an archive of official statement PDFs for every account and period. If a lender or auditor asks for statements, you need the bank documents themselves, filed somewhere your firm controls.
How far back does a bank feed go?
A new connection typically backfills around 90 days of transactions, and some banks allow more through their aggregator. Anything older has to come from statements or a manual import. Online statement history varies too, commonly between 18 months and 7 years depending on the bank, and closed accounts often lose portal access quickly.

Keep reading

Chris Wattinger · Technology Lead, Scale CPA. Chris leads technology at Scale CPA and built StatementFlow inside the firm to end the monthly statement chase across its own client book.

Reviewed by Alex Pacione, CPA, Partner & Co-founder at Scale CPA.

LinkedIn · Meet the team behind StatementFlow

Stop chasing. Start closing.

Join the early-access waitlist and be one of the founding firms that never asks a client for a bank statement again.

Get early access