Back to blog
18 May 2026 · 9 min read

Is Xero's Bank Feed Enough as You Grow?

Xero's bank feed handles straightforward transactions well. Here's where it quietly strains — and what that costs you at year-end.

Xero Reconciliation UK Founders

When you first connect Xero to your bank, it feels like the problem is solved. Transactions arrive, Xero suggests a match, you click accept, and you’re done. For a business doing a few dozen transactions a month — a handful of supplier payments, some customer receipts, a couple of card statements — the feed handles almost everything without complaint.

Then the business grows. Stripe starts batching weekly payouts. You take on a supplier who’s also an occasional customer. A client pays two invoices with one bank transfer, short by £40. A direct debit settles on a different day than the invoice. None of these are exotic. Every founder using Xero past the £500k turnover mark recognises them. And the bank feed, which was doing fine, starts to create a backlog.

This post is about why that happens, when to take it seriously, and what it costs if you don’t.

The Bank Feed Is Built for One-to-One

How JAX extends automatic matching

Xero’s bank feed does one thing well: matching a single bank line to a single invoice or transaction when the amounts align and the timing is right. Xero’s own JAX layer, powered by Anthropic and rolled out globally in late 2025, extends that to around 80% of clean transactions — direct debits, standing orders, recurring supplier payments, straightforward customer receipts. On a simple set of books, that’s genuinely impressive.

What the feed cannot see

The constraint is baked into the model. The bank feed sees a number and a description. It doesn’t see the story behind the number. It doesn’t know that the £6,420 deposit is three invoices combined. It doesn’t know the £38.50 discrepancy is a customer’s bank charge, not a short payment. It doesn’t know the incoming transfer is from a contact who also owes you money, making it a contra entry rather than a clean receipt.

When Xero can’t find a high-confidence match, it doesn’t fail visibly — it queues the line for manual review. Those lines accumulate quietly until you sit down at month-end and find forty unreconciled items you don’t immediately recognise.

The Transactions That Break the Feed

There are five transaction types that reliably outpace what the bank feed can handle on its own.

Payout settlements

If you take card payments through Stripe or Shopify, your bank receives one net deposit covering many individual transactions. The bank sees a single line; your books need to show the gross revenue, the platform fees, any refunds, and possibly chargebacks — all posted separately. Xero’s bank feed cannot break out marketplace fees, match refunds to original orders, or explain why margins change. You either click through and leave the fees unposted, or you spend time manually decomposing the payout. Neither is a good answer at scale.

Partial settlements

A customer pays £3,800 against two invoices totalling £4,200. Xero’s Find & Match feature lets you allocate the payment across invoices, but you cannot combine multiple bank statement lines into one transaction, and if a part payment has already been recorded on an invoice, the allocation can’t be adjusted at reconciliation time. In practice, partial payments generate a trail of manual steps that compound month over month.

Split transactions

A single payment needs to be allocated across multiple account codes — part to 7900 (direct costs), part to 4000 (revenue), part to a liability account for a deposit held. Bank rules and Xero’s built-in split function work when the split is always the same proportion. The moment a single split varies, the rule breaks and a human takes over.

Contras

You supply services to a company that also supplies services to you. Rather than two payments crossing, you agree to net the balances. The bank might show nothing, or a single small payment either way. Xero has no concept of a contra entry — you have to manually apply the offset and mark both invoices appropriately. As supplier-customer overlaps multiply, so do the manual adjustments.

Near-matches

A payment arrives £40 short of the invoice amount. It could be a bank charge, a deduction the customer decided to make, or a pricing dispute. Each explanation posts differently: bank charges go to 7901, credit notes reverse the revenue, disputed amounts sit on the debtor ledger. The bank feed sees a near-match and flags it. The decision of what it actually is sits entirely with you.

Why The Conventional Responses Don’t Scale

When founders hit this friction, they reach for one of three fixes, each of which works up to a point.

Bank rules

Xero lets you create rules that automatically categorise transactions matching a description or amount pattern. For genuinely repetitive transactions — the monthly Slack bill, the standing order to your landlord — rules work well. They break when the input varies: a Stripe description that changes format, a supplier whose payment amount shifts slightly each month, or any of the complex scenarios above where the right posting depends on context the rule can’t access.

Manual reconciliation sessions

Most founders with growing books fall into a weekly or monthly catch-up routine. This works, but the cost compounds. Research on month-end close times suggests that practices managing multiple client files run into the reconciliation ceiling around 200–300 bank lines per month per file, and Xero’s own guidance notes performance begins to strain around 4,000 bank lines per month across the whole organisation. Long before you hit those numbers, the manual sessions are taking hours you don’t have.

Bringing in a bookkeeper

A good UK bookkeeper handles complex reconciliation well — they know when a payment is a contra, they know which account the platform fees go to, they can read an email thread and understand why the client paid less. A competent bookkeeper in the UK costs £30–60 an hour. The problem is the cadence: most bookkeepers operate weekly or monthly, which means unreconciled backlogs build between visits, and exception decisions wait for the next session rather than being resolved on the day.

None of these are wrong approaches. They’re just approaches that stop scaling before the business does.

How TheBookkeeper.ai Handles the Gap

Reading what the feed cannot see

TheBookkeeper.ai approaches this differently. Instead of matching what the bank feed can see, it reads what the bank feed can’t: the invoice list, the open bills, any payout reports from Stripe or Shopify, and — when an ambiguous transaction needs context — your email inbox, if you’ve granted access.

For a payout settlement, it fetches the gross transaction breakdown directly from the Stripe API, matches each charge to its corresponding Xero invoice by amount, customer reference, and date, then composes the split posting — gross revenue allocated across the invoices, platform fees to the appropriate account code, refunds reversed against the original invoices. The bank line shows reconciled. The invoices show paid. The fees are posted. All of it happens without a reconciliation session.

For a partial settlement, it checks whether multiple open invoices from the same contact sum to the received amount. If they do, it applies the payment across invoices and posts the balance as a prepayment or notes it as unallocated. If the amount doesn’t match any clear combination, it flags the line with the two or three most likely explanations so you can confirm in one tap.

For near-matches, it presents the discrepancy, the delta, and a pre-filled proposal: “Post £40 difference to 7901 (bank charges) and reconcile?” You approve or override. The decision is yours; the legwork isn’t.

Narrated postings for year-end clarity

What it posts back to Xero carries a narration on every line — a short note explaining what the entry is and why it was posted that way. Your accountant can read the logic at year-end without needing to retrace your steps.

Worked Example

The scenario. Amber Falcon Ltd is a UK digital agency turning over £1.2m. They bill project milestones, and clients often consolidate payments. On Thursday 4 June a single bank transfer arrives for £8,750 from a long-standing client, Cobalt Heron Ltd. Amber Falcon has three open invoices for Cobalt Heron: INV-1041 (£4,200), INV-1055 (£3,800), and INV-1063 (£1,100 — a recent deposit invoice for a new project). The payment covers the first two invoices exactly and leaves £750 unaccounted for.

The Xero state before.

The bank feed shows one unreconciled line:

Date         Description              Spent    Received   Status
04 Jun 2026  COBALT HERON LTD BACS             £8,750.00  Unreconciled

In Xero’s invoices list, INV-1041 (£4,200), INV-1055 (£3,800), and INV-1063 (£1,100) all sit in “Awaiting payment.” No bank rule matches because the amount doesn’t equal any single invoice.

What TheBookkeeper.ai does.

  1. Detects the new unreconciled line from the Xero bank feed.
  2. Reads all open invoices for Cobalt Heron Ltd — three invoices, three different amounts.
  3. Tests combinations: INV-1041 + INV-1055 = £8,000 (no); INV-1041 + INV-1063 = £5,300 (no); INV-1041 + INV-1055 + part of INV-1063 = £8,750 (yes — £750 partial on INV-1063).
  4. Applies £4,200 to INV-1041, £3,800 to INV-1055, £750 as a partial payment on INV-1063, leaving £350 outstanding on that invoice.
  5. Posts the split reconciliation in Xero, with a narration: “BACS receipt from Cobalt Heron Ltd — settles INV-1041 and INV-1055 in full; £750 partial payment on INV-1063 (£350 outstanding).”
  6. Sends one notification: “Reconciled £8,750 from Cobalt Heron Ltd. INV-1041 and INV-1055 closed. INV-1063 part-paid — £350 remains. Confirm or adjust?”

The Xero state after.

The bank line shows reconciled. INV-1041 and INV-1055 show paid. INV-1063 shows a £750 part-payment applied and £350 still outstanding. The narration on the bank transaction tells the story. No manual session required.

What it flagged.

TheBookkeeper.ai noted that INV-1063 has £350 outstanding and flagged it as “awaiting final payment — no action needed now.” If the client pays the balance within 30 days, it reconciles automatically. If not, it resurfaces in the next exceptions digest.

Total time for the founder: reading a morning notification and tapping confirm. The exception handling that would have taken 15 minutes of Find & Match work in Xero is already done.

Takeaway

  • The Xero bank feed handles clean, one-to-one transactions well. JAX extends that to roughly 80% of lines. The remaining 20% — payouts, partial settlements, splits, contras, near-matches — is where time goes and errors accumulate.
  • Bank rules solve repetitive patterns but break the moment the pattern varies. They cannot reason about context outside the transaction line itself.
  • Manual catch-up sessions work until volume makes them unworkable. Xero’s own performance notes flag the strain around 4,000 bank lines per month; in practice, founders feel it well before that.
  • The cost of underreconciling is deferred: unposted fees, open invoices that should be closed, and year-end adjustments your accountant charges hours to unpick.
  • The bank feed is the starting point, not the finish line. It pipes data into Xero — what happens next still needs judgement, which is why TheBookkeeper.ai does it for you.

Get on the list

We’re running a private beta for UK Xero users whose bank feed backlog has started to compound. If your month-end reconciliation is taking longer than it used to, get on the waitlist and we’ll let you know when we’re ready for your books.


If you want to understand the specific failure modes that cause bank feed backlogs, Why Rule-Based Reconciliation Breaks on Real Businesses goes deep on the mechanics. And if you’re weighing how much of this to automate yourself versus handing off entirely, When to Stop Doing Your Own Bookkeeping covers the decision framework.


Sources:

Frequently asked questions

Why does Xero keep leaving transactions unreconciled even though my bank feed is connected?

Xero's bank feed can only match a bank line when the amount and timing align with a single invoice or transaction. When a payment covers multiple invoices, arrives short of the expected amount, or is a net payout from a payment platform, Xero cannot find a confident match and quietly queues the line for manual review. Those queued lines accumulate until you clear them manually.

Can Xero bank rules handle Stripe or Shopify payouts automatically?

Not fully. Bank rules work well for fixed, repetitive transactions — a monthly software subscription or a standing order. A Stripe payout is a single net deposit that bundles gross revenue, platform fees, and any refunds. Xero's bank rules cannot decompose that figure into its component parts, so the underlying fees and refunds remain unposted unless you break them out manually.

What happens in Xero when a customer pays two invoices with one bank transfer?

Xero's Find & Match feature lets you allocate a single receipt across multiple invoices, but you must do that allocation manually — the bank feed will not split it automatically. If the payment is also a partial amount, the reconciliation becomes more involved, and any previously recorded part-payments on an invoice cannot be adjusted at the reconciliation step.

How do I record a contra entry in Xero when a supplier is also a customer?

Xero has no dedicated contra-entry function. You need to manually apply a credit against each party's outstanding balance and mark both the invoice and the bill as settled, usually by posting a journal or using a clearing account. As the number of supplier-customer overlaps grows, these manual adjustments multiply and are easy to miss at month-end.

At what point does Xero reconciliation become unmanageable to do yourself?

Xero's own guidance notes performance can strain around 4,000 bank lines per month across the organisation, but most founders feel the manual burden well before that threshold — typically once complex transactions such as partial payments, split postings, or payout settlements make up a regular proportion of the feed. At that point, the time cost of each session tends to outweigh the saving from doing it in-house. Services such as TheBookkeeper.ai handle those exception transactions automatically, so manual sessions become the exception rather than the routine.

Continue

Want this running on your Xero?

We're running a private beta for UK Xero users. Get on the list and we'll show you what reconciled-by-morning looks like on your books.