QBO bank feeds vs. source statements: why you can't reconcile from a feed
The #1 question we hear from bookkeepers on every discovery call: the honest answer involves keeping the feed, not replacing it.
The first thing every CPA asks me on a discovery call: “Can’t I just use the QBO bank feed?” Sometimes, yes. For most of the work that actually matters, no. Here’s the version of that answer I wish I’d had three years ago.
What the bank feed actually delivers
QBO and Xero bank feeds give you a transaction stream. Debits, credits, dates, descriptions, sometimes a category. They are great for one thing: keeping the chart of accounts current between closes. They are not, and were never designed to be, the source of truth for reconciliation.
What you get from a feed:
- Date posted
- Amount
- Description string (often truncated)
- A bank-side category (sometimes)
What you do not get:
- The institution’s actual statement PDF
- Confirmation that what posted matches what the bank closed the period with
- A record that survives the bank’s online retention window
- Anything you can hand to an auditor, a court, or the IRS
That last point is the one most bookkeepers underestimate. The transaction feed is a shadow of the closed period. The statement is the artifact of it.
“A feed says ‘these things happened.’ A statement says ‘this is the truth as of the close date.’ Reconciliation needs the second one.”
Why you can’t reconcile from a feed
Reconciliation is, in the most literal sense, comparing two records and proving they agree. Your books on one side; the bank’s record on the other. The feed is not the bank’s record; it is a derivative of it, delivered by an aggregator the bank did not contract you for.
Three failure modes you’ll see across a year of close work:
- Missing days. A feed drops for 36 hours, comes back, and the missing transactions never repopulate. You won’t notice until the period closes short.
- Late posts. A bank posts a transaction one day; the feed picks it up two days later, dated the day it picked it up. Now your books and the bank disagree on which period the entry belongs to.
- Description churn. Banks renormalize merchant strings on their side without telling anyone. A vendor you have rules for becomes unmatched, and the feed silently moves it to “uncategorized.”
None of these are theoretical. Talk to anyone who has run a 30-client book through a year of QBO and you will hear all three.
When the feed breaks (and it will)
Setting aside the data-quality issues above, feeds have a second class of failure: they require re-authentication. Banks rotate session policies, push new MFA flows, and occasionally invalidate every connection from a given aggregator overnight. Re-auth is a per-client task that lands in the practitioner’s inbox and pulls the senior bookkeeper out of work to chase a code from the client.
At a 25-client firm, this happens often enough to be a recurring line item. Not every month, but often enough that the firm has a Slack channel for it.
The coexistence answer
This is the part I get pushback on, and the part I think is actually correct: do not stop using the bank feed. The feed is a fine real-time signal of what is happening in the account. Keep it for what it does well: propagating the chart of accounts daily, catching the obvious anomalies, supporting the cash-flow snapshot you give clients on a Tuesday call.
What the feed should not be is the document you reconcile against. For that, you need the statement. The institution’s PDF. The thing the bank itself signs as the closed-period truth. Pull that monthly, file it next to the books, reconcile against it. When the feed and the statement disagree (and they will), the statement wins.
| Use the bank feed for | Use the statement for |
|---|---|
| Daily chart-of-accounts sync | Period-end reconciliation |
| Cash-flow visibility between closes | Audit, court, and tax-authority handoff |
| Anomaly alerts | Historical archive (banks purge online history at 12–24 months) |
| Categorization rules | Anything a third party will rely on |
What we’d actually run at a 30-client firm
The setup we see working consistently at firms in the 15–50 client range:
- Keep QBO/Xero feeds connected for the banks where the feed is reliable. Use them for daily sync and rules.
- Pull the actual statement from every institution at month-end. Either the firm holds the credentials and DocGenie pulls on a schedule, or, for the clients who don’t share, Client Connection Link routes the authentication to the client themselves.
- Reconcile against the statement, not the feed. The statement lives in the firm’s storage (Drive, Dropbox, OneDrive) named by date and institution; the feed lives in QBO. They serve different jobs.
- When they disagree, the statement wins. Investigate the gap. It’s usually a feed dropout. Fix the feed; update the books from the statement.
That’s the workflow. It is more work than “just use the feed.” It is also the version that holds up under audit, in court, and at the end of the fiscal year when the IRS or an auditor asks for the closed-period record.
Closing
The bank feed isn’t the enemy. The mistake is asking it to be the source of truth for a job it was never built for. Pull the statement. Reconcile against the artifact. Keep the feed for the daily signal it’s good at.
Your CPA license didn’t put you on SMS duty for 2FA codes. It also didn’t put you in a position where the document of record for the period is a transaction stream from an aggregator. Pull the actual statement, file it, and reconcile against it. The work that follows is the work you trained for.
Stop chasing this month's statements.
Free for 2 connections, 3 credits a month — enough to pull Amazon and Capital One every cycle. No card.