Bank reconciliation is one of the most time-consuming bookkeeping tasks in Xero — and one of the most automatable. The goal is simple: every transaction in your bank account should match a transaction in Xero. Getting there manually means scrolling through bank statements and Xero entries, matching them one by one.
Done well, automation reduces this to minutes of review rather than hours of matching. Here's how to get there.
Why reconciliation takes so long
The problem is usually one of three things:
-
Transactions aren't getting into Xero automatically. If you're importing CSV statements or manually entering transactions, you've added an unnecessary step before reconciliation even begins.
-
Bank rules aren't set up. Xero can automatically categorise and match recurring transactions, but only if you've configured the rules. Without rules, every transaction needs a human decision.
-
Payment flows aren't connected. If your payment gateway (Stripe, PayFast, Yoco, PayPal) isn't connected to Xero, payment reconciliation requires manual cross-referencing between two systems.
Fix these three things and reconciliation becomes fast.
Step 1 — Get bank feeds working
The foundation of automated reconciliation is an automatic bank feed. This connects your bank account directly to Xero, pulling in transactions automatically each business day.
Check if your bank supports a direct feed. Many major banks have direct API-based feeds to Xero:
- In South Africa: FNB, Standard Bank, ABSA, and Nedbank all have feeds. The FNB-to-Xero feed and Standard Bank feed are the most widely used.
- In the UK, Australia, and New Zealand: bank feed coverage is broad; most major banks are supported.
- In the US: coverage varies; some banks connect via Plaid or similar.
If your bank doesn't support a direct feed: Xero supports importing bank transactions via CSV. Some banks offer OFX/QIF downloads that Xero can import directly. This isn't fully automated, but it's better than manual entry — one import per week rather than one entry per transaction. See the Capitec-to-Xero guide for an example of navigating a bank without a direct feed.
Once a bank feed is live, transactions appear in Xero's reconciliation view automatically. No importing, no manual entry.
Step 2 — Set up bank rules for recurring transactions
Bank rules tell Xero how to categorise transactions automatically based on patterns. When a transaction matches a rule, Xero categorises it, ready to reconcile with one click (or zero clicks if set to auto-reconcile).
Good candidates for bank rules:
- Software subscriptions (Xero's own subscription, Microsoft 365, cloud hosting fees)
- Payroll payments (same references each pay run)
- Regular supplier payments (same payee, same description)
- Loan repayments
- Bank fees and charges
How to set up a rule:
In Xero, go to Accounting → Bank Accounts → Reconcile → Manage Rules. Create a new rule and define:
- The matching condition: payee name contains [text], or description contains [text], or transaction amount equals [amount]
- The account code to apply
- Whether to auto-reconcile (approve automatically) or just categorise for review
Start with auto-reconcile turned off while you're building confidence in the rules. Once you've confirmed a rule categorises correctly for several months, switch it to auto-reconcile.
A note on auto-reconcile: auto-reconcile is powerful but requires care. A rule that fires incorrectly will categorise and reconcile transactions without any human review. Test new rules thoroughly before enabling auto-reconcile.
Step 3 — Connect payment gateways
If you receive payments through Stripe, PayFast, Yoco, PayPal, or another gateway, those payments come into your bank account as aggregated settlements — one lump sum representing multiple individual transactions. Matching those settlements against individual invoices in Xero is where reconciliation gets complicated.
The solution is integrating the payment gateway directly with Xero, so individual payments are recorded in Xero as they occur — then when the settlement lands in your bank account, Xero can match the settlement automatically.
- PayFast: see the PayFast-to-Xero integration guide for the n8n webhook approach
- Yoco: see the Yoco-to-Xero integration guide
- Stripe: Stripe has a native Xero integration that records charges and payouts automatically
With payment gateway integration in place, settlements reconcile in seconds because all the individual transactions are already in Xero's ledger.
Step 4 — Keep invoices up to date
Reconciliation is easier when Xero's invoices are current. When a payment arrives at the bank, Xero needs a corresponding invoice to match it against.
If invoices are being created late — because the billing process is manual — payments accumulate as unmatched "mystery" credits that require investigation. Automating invoice creation (from job completions, deal closes, or subscription renewals) keeps the ledger current and makes reconciliation far faster.
What the reconciliation process looks like after automation
With bank feeds, rules, and payment integrations in place:
- Open Xero's bank reconciliation view
- Most transactions are already categorised and waiting for approval — one click per transaction, or zero if auto-reconcile is on
- Genuinely new or unusual transactions need a decision: a new supplier, a refund, a one-off purchase
- Reconciliation goes from hours to 15–30 minutes per week
The residual time is judgment work — categorising things that don't match any existing rule. That's the part that appropriately stays human.
Common problems and fixes
"I have hundreds of uncategorised transactions going back months."
Don't try to reconcile everything at once. Start from today and work forward. For historical transactions, do them in batches — oldest unpaid invoices first, then work backwards. Xero lets you filter by date range.
"The same transaction is appearing twice."
Usually caused by a manual entry duplicating an automatically imported transaction. In Xero you can find and remove the duplicate. Set up a bank rule going forward to prevent recurrence, and avoid manually entering transactions that come in via the feed.
"Payments from my payment gateway don't match the bank deposits."
Gateway settlements are net of fees. If Stripe charges 1.4% + 20p per transaction, the settlement is less than the sum of invoices. Xero handles this via a clearing account — payments are recorded gross against invoices, fees are recorded separately, and the net settlement matches the bank deposit. This requires a specific setup; the Xero help documentation has guides for each gateway.
"My bank feed disconnects regularly."
Some banks use OAuth connections that expire. When the feed disconnects, Xero stops receiving transactions silently. Check your feed status weekly, and set a calendar reminder if your bank is known for this. Standard Bank's feed and some others require periodic re-authorisation.
Some links in this guide are affiliate links. If you sign up through them, Gainly may earn a commission — at no cost to you. We only recommend tools we'd recommend regardless.
Spending too long on bank reconciliation every week?
Describe what you're working with and I'll come back with something specific — not a sales call.
Tell me what you're dealing with →