Bank feed reliability issues
Bank feeds are only as good as the connections that deliver them. Understanding the underlying technology helps explain why things go wrong.
Canadian bank connectivity
Most accounting software connects to Canadian banks through aggregators like Yodlee, Plaid, or Finicity. These services "scrape" data from online banking—essentially logging in as the user and copying transaction data.
This approach has inherent limitations:
- Authentication changes: When banks update login processes, feeds break until aggregators update their scrapers
- Rate limiting: Banks limit login frequency, which can delay transaction availability
- Security blocks: Unusual login patterns (from aggregator servers) sometimes trigger security holds
- Multi-factor authentication: When banks require MFA, connections need manual re-authentication
Open Banking coming (slowly)
Open Banking regulations will eventually provide official bank APIs for data sharing. The federal government has committed to a framework, but implementation remains years away. For now, scraping-based connections are the reality.
Connection reliability by bank
Anecdotally, TD and RBC connections tend to be most reliable. BMO and Scotiabank have more frequent disruptions. Credit unions vary widely—some work perfectly, others are problematic. Keep notes on which institutions cause issues for planning purposes.
Auto-categorization gone wrong
Auto-categorization rules save time when they work, but create problems when they misfire. The issues compound because errors can repeat for months before anyone notices.
Common categorization errors
Over-broad matching
Rule: "Contains 'AMAZON'" → Office Supplies. Problem: Personal purchases, AWS services, and actual office supplies all go to the same account.
Vendor name variations
Rule: "TIM HORTONS" → Meals. Problem: Different franchises appear as "TIM HORTON'S", "TIMS #1234", "T HORTONS 123"—some miss the rule.
Changed business names
Rule: "ROGERS WIRELESS" → Telephone. Problem: After rebranding, charges appear as "ROGERS TELECOM" or just "ROGERS"—rule doesn't match.
Incorrect defaults
Rule: "Unmatched" → Ask Accountant. Problem: Staff clicks "Accept" without reviewing, sending questionable transactions to a suspense account that never gets cleared.
The memo field problem
Bank transaction descriptions are often cryptic or truncated. "POS PURCHASE 1234567" tells you nothing. Without additional context (receipts, invoices), categorization becomes guesswork.
This is why receipt capture integration matters—it provides the context that bank descriptions lack.
Timing and cut-off problems
Reconciliation depends on transactions appearing in the right period. Several timing issues complicate this.
Processing delays
A transaction on December 31 might not post until January 2. For year-end reporting:
- Credit card transactions often take 1-2 business days to post
- Pre-authorized payments post on the next business day if scheduled for a weekend
- E-transfers can be delayed by banking system maintenance
Statement date vs. transaction date
The date shown in online banking isn't always the economic date of the transaction. Pending transactions show estimated dates that change when they clear. This affects:
- GST/HST reporting periods
- Fiscal year-end cut-offs
- Cash flow analysis accuracy
Feed synchronization gaps
Bank feeds don't always capture every transaction. Connection interruptions, authentication issues, or aggregator problems can create gaps. If you're not reconciling to statements, these gaps go unnoticed.
Always reconcile to statements
Bank feeds are an input tool, not a verification tool. At month-end, compare the general ledger to the actual bank statement. Feeds make data entry easier but don't replace proper reconciliation.
The duplicate transaction problem
Duplicates are one of the most common and frustrating bank feed issues. They occur for several reasons.
Manual entry plus feed
The classic scenario: someone enters a transaction manually (perhaps from a receipt), then the bank feed imports the same transaction. Without careful matching, both stay in the books.
Connection reset duplicates
When a bank feed connection is re-established after a disruption, the system sometimes re-imports historical transactions. If the matching algorithm doesn't catch them, you get duplicates.
Credit card statement duplicates
Some businesses import credit card transactions from the feed AND from a monthly statement upload. This creates systematic duplicates that can be hard to catch.
Prevention strategies
- Import only: Don't manually enter transactions that will come through the feed
- Review before matching: Look for duplicates before accepting suggested matches
- Regular reconciliation: Monthly reconciliation to statements catches duplicates
- Duplicate detection reports: Run reports looking for same-amount transactions on same dates
Intercompany and transfer handling
Transfers between accounts create reconciliation challenges that bank feeds don't solve automatically.
Internal transfers
A transfer from one account to another shows as a withdrawal in one and a deposit in the other. If auto-categorization treats these as expenses and revenue, the books are wrong.
Best practice: Create specific rules for transfers that:
- Match transfers between known accounts
- Use a transfers clearing account or direct account-to-account entries
- Flag unmatched transfers for review
Intercompany transactions
For clients with multiple entities, transfers between companies need proper intercompany accounting. Bank feeds show the cash movement but don't understand the relationship between entities.
Owner draws and contributions
Transfers to/from shareholder accounts are often miscategorized. The bank sees a transfer; the rules might call it "Office Expense" or leave it uncategorized. These require manual review.
Best practices for clean reconciliation
Weekly vs. monthly processing
Processing bank feeds weekly rather than monthly offers several advantages:
- Transaction context is fresh (easier to remember what purchases were for)
- Issues are caught sooner (before they compound)
- Month-end close is faster (most work is already done)
- Cash flow visibility is current
Rule maintenance
Review categorization rules quarterly:
- Delete rules for vendors no longer used
- Update rules for vendor name changes
- Tighten over-broad rules
- Add rules for new recurring vendors
Reconciliation checklist
At each month-end:
- Confirm all bank feeds are current (check last sync date)
- Process all pending transactions
- Run duplicate detection
- Review uncategorized items
- Compare GL balance to bank statement balance
- Investigate and resolve any differences
- Document reconciling items
Receipt matching integration
Bank feeds tell you money moved. Receipts tell you why. Matching these together:
- Validates categorization
- Provides documentation for tax purposes
- Flags transactions without supporting documentation
- Enables GST/HST ITC claims
Beyond basic bank feeds
Resolved combines bank feed data with receipt capture, AI categorization, and GIFI mapping—turning raw transactions into T2-ready data. See how it works.