Bank Feeds Are Not Magic: The 7 Gaps That Break Month-End
Stop trusting the green checkmark. Bank feeds break, duplicate, and lie. Here is how to audit the connection before it ruins your close.
Trust is Good. Verification is Better.
You are paying for accounting software that promises a “Live Bank Feed.” It shows a green dot. It says “Up to date.” It is lying to you.
I recently audited a client who believed their cash position was healthy because Xero said so. The reality? The bank feed token had expired three weeks prior. The software didn’t alert them; it just stopped fetching rows. They were making hiring decisions based on a bank balance from last month.
This is not a technical glitch. This is operational negligence.
We treat bank feeds like magic. We assume that because we connected a digital pipe, the water is clean. But bank APIs are messy. They drop cents, they duplicate transfers, and they choke on multi-currency conversions.
If you are closing your month based on the feed without looking at the actual bank statement, you are not doing finance. You are guessing.
The Audit Risk: The “Set and Forget” Trap
The problem is the gap between Banking Reality and Accounting Fiction.
When you swipe a card, the bank creates a “pending” transaction. Some feeds pull this immediately. Two days later, the transaction clears, perhaps with a slightly different exchange rate or a settled tip amount.
- Scenario A: The feed updates the row. (Rare).
- Scenario B: The feed imports the cleared transaction as a new row, leaving the pending one as a duplicate.
- Scenario C: The feed ignores the change, and your ledger is off by €0.45 forever.
Multiply this by 300 transactions. You now have a “suspense account” that looks like a crime scene.
Furthermore, bank connections break. Multi-factor authentication resets, password changes, or API updates sever the link. The software rarely screams about this. It just quietly stops working. You think you have €50,000. You actually have €12,000. This is how companies die.
[TO EDITOR: Create a diagram showing two parallel lines. Top line is “Bank Reality” (continuous). Bottom line is “Software Feed” (broken, dotted line with gaps labeled ‘Token Expired’ and ‘Duplicate Import’).]
The Control: The 30-Minute Sanity Check
We do not pray for accuracy. We force it.
You need a reconciliation protocol that ignores the software’s optimism. This is not about re-typing data; it is about verifying the checksum.
1. The “Statement Balance” Rule Never look at the “Bank Feed Balance” in your dashboard. It is irrelevant. Log into the actual bank. Look at the PDF statement ending balance. Does it match your General Ledger to the cent?
- Match: Good. Go have coffee.
- No Match: Stop everything. Do not proceed to P&L. You are working with corrupted data.
2. The Phantom Duplicate Scan Filter your ledger for identical amounts on the same day. Software often imports the authorization hold and the settlement as two different expenses. If you see two Uber charges for €14.50 on Tuesday, one is a ghost. Kill it.
3. The “Unreconciled” Bucket If you have transactions sitting in “Unreconciled” for more than 7 days, you are failing. A transaction is either an expense, a transfer, or a mistake. It cannot be “I will deal with it later.” Later never comes. Cash is a fact; treat it with respect.
Conclusion
Bank feeds are useful, but they are tools, not employees. They do not care if you go bankrupt.
Stop trusting the green checkmark. Meten is weten. Check the balance.
FAQs
Why doesn't my bank feed match my statement?
Because 'Pending' is not 'Posted'. Feeds often pull temporary data that changes later. Trust the PDF statement, not the API stream.
How often should I check the feed?
Weekly. If you wait until month-end, a 3-day API outage becomes a forensic investigation.
Can't software fix this automatically?
No. Software moves data; it does not verify truth. Only a human comparison of the ending balance can confirm reality.