Bank connectivity is the highest-emotion module in small-business accounting. When it works, nobody talks about it. When it breaks — missing transactions, duplicated lines, stale balances — it erodes trust in the entire ledger. The fix is not blind faith in a provider; it is two paths to the same truth: a live feed when economical, and a boring CSV import when the feed lies.
Why feeds fail in the wild
- Institutional maintenance windows and MFA churn break aggregation unexpectedly.
- Pending vs posted timing creates “ghost” balances if users reconcile too early.
- Corporate cards and sub-accounts look like separate universes unless mapping is disciplined.
- Provider mapping bugs happen—treating a feed as infallible is a policy choice, not a law of nature.
CSV as operational backbone
A CSV import path is not retrograde — it is operational insurance. Your rules engine (vendor → expense category, memo patterns, splits) should run identically whether the row arrived from a feed or a download. That symmetry is what lets you close on a bad connectivity week without heroic manual entry.
Duplicates: the silent killer when mixing sources
The worst failures happen when teams toggle between feed and CSV mid-month without a documented dedupe strategy. Decide how you identify uniqueness: bank transaction id when present, otherwise hash of date+amount+description, otherwise manual exception handling. Write it down before chaos, not during.
Fraud signals still require human review
Rules accelerate posting; they do not replace skepticism. New payees, round amounts, unusual geographies, and sudden changes in transfer patterns deserve explicit review—even in small businesses.
Month-end when the feed is wrong
Strong teams default to a cutoff statement export from the bank’s website for material accounts when feeds look suspicious. The goal is not perfection—it is defensible cash. For a full checklist, read bank reconciliation checklist.
How Privbooks prices this honestly
Privbooks keeps CSV import on the free tier and places live Plaid on paid tiers where per-connection vendor costs are real. The product goal is simple: never trap you on a single brittle pipe.