How to Auto-Categorise Bank Transactions in Xero
Bank rules, cash coding, and AI categorisation — in order of sophistication. Where each method helps, where VAT trips them up, and what rules can't reach.
You open Xero on a Monday morning. Forty-three unreconciled lines are waiting. Thirty-seven of them are things you’ve seen before — the same suppliers, the same recurring subscriptions, the same card terminal settlements. Six of them are genuinely new. The question is why all forty-three need your attention, when thirty-seven of them should have sorted themselves out by now.
They didn’t, because you haven’t yet given Xero the tools to make the pattern-matching decision for you. That’s fixable. This post works through the three layers of auto-categorisation Xero makes available — bank rules, cash coding, and AI-backed reconciliation via JAX — in order of sophistication, alongside an honest account of where each one breaks, particularly on VAT.
What Bank Rules Are and How to Set One Up
How a bank rule works
A Xero bank rule is a saved condition-and-action pair. When an imported statement line matches the condition — a keyword in the description, an amount range, a specific payee — Xero applies the action: assign an account code, set a tax rate, allocate to a tracking category.
Creating and prioritising rules
To create one: go to Accounting → Bank Accounts, open the account you want, and click Bank Rules → New Rule. You can match on description contains, description starts with, amount equals, or combinations of those using AND/OR logic. Xero processes rules in priority order (1 = highest), so if two rules could match the same line, the higher-priority one wins.
A well-built rule covers the bulk of your recurring spend within a session:
- HMRC PAYE → code to 820 (Wages), tax rate: No VAT
- AWS EMEA SARL → code to 410 (Software & subscriptions), tax rate: Reverse Charge (if you’re VAT-registered and the service is B2B from the EU)
- BP SERVICE STATION → code to 449 (Motor expenses), tax rate: 20% (VAT on Expenses)
The setup itself is a 10-minute job once you have your chart of accounts in front of you. The ongoing maintenance is where the time goes.
Cash Coding: Bulk Categorisation Without the Setup
What cash coding does
Cash coding is Xero’s spreadsheet-style bulk tool. It displays unreconciled statement lines in a grid — up to 200 at a time — and lets you assign account codes, tax rates, and contacts across rows at once, then reconcile the whole batch in a single click.
It is faster than line-by-line reconciliation for high-volume simple transactions: café takings, petty cash, daily card settlements from a card terminal. You can select a range of similar lines with Shift+click and push one code across all of them.
When not to use cash coding
The key constraint: cash coding creates new transactions and reconciles them immediately. It does not match against invoices or bills you’ve already raised in Xero. If Amber Osprey Ltd paid invoice 1022 for £840 via bank transfer and that transfer is sitting in your feed, cash coding the line will create a duplicate payment, not settle the invoice. For anything that should match an existing document, you need the standard reconciliation screen and Find & Match.
Cash coding is available on Xero Grow and above — it is not included in the Starter plan.
JAX: What Xero’s Automatic Reconciliation Actually Does
How JAX auto-reconciles transactions
JAX (Just Ask Xero) is Xero’s AI-backed automatic reconciliation layer, currently in beta. When turned on per bank account, it reads each newly imported statement line and attempts to reconcile it — either by matching it against an existing Xero transaction, applying an existing bank rule, or using its own prediction based on your reconciliation history and anonymised patterns from across the Xero user base.
JAX only acts when its confidence is high. If the confidence falls short, it still surfaces a suggestion, but leaves the line for you to confirm. You’re always in the loop; it doesn’t silently post anything it’s uncertain about.
In practice, JAX handles the clean, stable, high-confidence lines well: the direct debit to your landlord that hits on the same date every month for the same amount, the standing order to your PAYE payment reference, the recurring Xero subscription. The Illumin8 review found it handled routine lines capably while leaving anything with split logic or context dependencies for review.
What JAX cannot handle
What JAX does not do: decompose a payment that needs to be split across multiple invoices, resolve a line where the correct VAT treatment depends on the supplier relationship rather than the description string, or pull in context from outside Xero to classify an ambiguous transaction. It is a pattern-completion tool, not a judgement-and-posting tool.
Where VAT Treatment Breaks Every Automated Method
The shared failure mode
This is the section that matters most if you’re VAT-registered.
Bank rules, cash coding, and JAX all make the same fundamental error in the same situation: they code the VAT rate that was correct the last time they saw this payee, not necessarily the rate that is correct this time.
VAT rates that vary by transaction
VAT treatment is not always stable per-supplier:
- A supplier who sells you both standard-rated goods and zero-rated goods (common in trade merchants) will appear under the same bank description both times. A rule set to 20% will mis-code the zero-rated order.
- Professional subscriptions can move between exempt (membership fees) and standard-rated (conference tickets, publications) under the same payee name.
- Reverse charge applies to B2B digital services from overseas suppliers — but only if you’re VAT-registered. A rule that was correct when you set it up at registration date may have been wrong before it.
- Some expenses sit at 5% (reduced rate): certain domestic energy bills, some residential property renovation costs. Defaulting to 20% because the utility company previously appeared at 20% creates a recoverable error — but it accumulates.
Fixing VAT errors at the rule level
The practical consequence: a bank rule that looks correct for 95% of its matches will silently mis-code the 5%, and because the line goes straight through to reconciled, you won’t find the error until your accountant reviews your VAT return or your year-end figures. Outbooks’ common mistakes guide identifies wrong VAT rates as one of the most frequent recurring errors in Xero clients’ books, precisely because automated tools propagate the first coding choice forward.
The fix at the rule level is adding more specific conditions — matching on a narrower description string, splitting one rule into two (one for each VAT rate), or flagging certain payees for manual review rather than auto-posting. None of these are unreasonable, but they do mean your bank rules system requires ongoing curation by someone who understands VAT, not just someone who can click “New Rule.”
For the genuinely complex cases — reverse charge, partial exemption, the distinction between input-taxable and business entertainment — no rule-based system can substitute for judgement. See Xero Central on non-standard tax rates for the full landscape of edge cases.
The Judgement Cases Rules Cannot Reach
Three categories automation cannot resolve
Three categories of transaction fall outside everything a bank rule or JAX can handle:
1. Context-dependent categorisation. A payment to a freelance designer might be a marketing cost (7110), a product development cost (7200), or a website build being capitalised as a fixed asset — depending on a brief that lives in an email, a purchase order, or your own memory. The bank description says “Sapphire Gecko Freelance.” No rule knows which cost centre is correct.
2. Split transactions. A single £1,420 bank payment settles two invoices in full (£680 and £600) and partially pays a third (£140 on account). Xero’s reconciliation screen lets you split this with Find & Match, but no bank rule can decompose a payment into three journal lines automatically. You’re coding it manually, or you’re posting it wrong.
3. Partial VAT recovery on mixed-use expenses. A mobile phone bill for a sole trader who uses the handset 60% for business. The input VAT is only 60% recoverable. Xero can hold the transaction; it cannot decide the percentage. That decision sits with the person who knows the usage split.
These cases are not rare. Every real business generates them every month. They are why reconciliation takes time even after you’ve set up every rule you can think of. The honest summary from the FHP Accounting reconciliation guide is that bank rules handle your most predictable spend; everything unusual still requires attention.
For more on this distinction, the post on why rule-based reconciliation breaks on real businesses goes deeper on the structural limits. And if you’re comparing Xero’s built-in tools against broader automation options, Xero bank rules vs AI: which should you trust? covers the trade-offs directly.
Worked Example: Amber Osprey Ltd
The scenario
Amber Osprey Ltd is a UK digital agency — 8 staff, £1.8M annual revenue — running Xero on the Grow plan with JAX turned on and a set of 22 bank rules covering most regular supplier payments. Their accounts manager reviews the bank feed on Friday afternoons.
On a typical Friday, the feed for their NatWest business account shows 31 unreconciled lines for the week.
What JAX and rules handle automatically
JAX has auto-reconciled 19 of the 31 lines: rent, payroll, insurance direct debit, Xero subscription, Microsoft 365, three regular supplier payments, and nine small card purchases that matched previous coding at high confidence. No input required — they’re done.
Eight lines were bank-rule-coded but left for confirmation: Xero applied the rule and surfaced its suggestion, but didn’t auto-confirm because JAX’s confidence threshold wasn’t met (perhaps the description string was slightly different this week).
Four lines are uncoded and unmatched:
Date Description Spent Received Status
Mon 8 Jun AMBER OSPREY - CLIENT REF 142 £4,200.00 Unreconciled
Tue 9 Jun SAPPHIRE GECKO FREELANCE £840.00 Unreconciled
Wed 10 Jun HMRC PRTX 2604 £318.40 Unreconciled
Thu 11 Jun OCEAN RIDGE SUPPLIES £96.00 Unreconciled
What the rules and JAX handle. The £318.40 HMRC payment matches a bank rule (“HMRC PRTX” → account 820, No VAT). The accounts manager confirms it in one click.
The four lines that need judgement
What requires judgement. The other three lines each need a decision:
- £4,200 client receipt — this partially settles invoice 1081 (£3,400 balance outstanding) and should have £800 applied on account. No rule can split a receipt against an invoice plus an unallocated credit. The accounts manager opens Find & Match, allocates £3,400 to close the invoice, and posts £800 as a prepayment against the client’s account.
- £840 Sapphire Gecko Freelance — needs the accounts manager to check the brief before they know whether it’s marketing (7110) or web development (7200, potentially capitalised). They check the purchase order in their project management system, code it to 7200, and note it in the transaction narration.
- £96 Ocean Ridge Supplies — a trade merchant. Amber Osprey sometimes buys standard-rated tools from them and sometimes zero-rated materials. The accounts manager checks the delivery note (stored in their email), confirms the delivery was materials, and codes to 5% reduced rate construction materials — not the 20% their bank rule would have applied.
Total Friday session: 12 minutes. The 19 JAX auto-reconciled lines and 8 rule-coded confirmations took none of it. The 4 judgement-dependent lines took all of it.
What TheBookkeeper.ai adds. The 19 auto-reconciled lines and 8 rule confirmations are already handled. The gap is the four judgement cases. TheBookkeeper.ai reads the purchase order for Sapphire Gecko (via email/CRM context), confirms the Ocean Ridge delivery note tax treatment from the invoice PDF, resolves the partial payment split against the open invoice, and posts all four — with the reasoning written into the narration field of each Xero transaction. The accounts manager’s Friday session drops from 12 minutes to reading a summary notification and approving the exceptions.
Takeaway
- Xero bank rules automate your most predictable recurring transactions — set them up for any payee you’ve coded the same way three or more times.
- Cash coding handles high-volume simple lines in bulk but creates new transactions rather than matching existing invoices; use it only where no open invoice or bill exists.
- JAX (Xero’s automatic reconciliation) handles clean, high-confidence lines without any setup; it steps back rather than guessing when confidence is low.
- VAT treatment is the failure mode for all three methods: a rule correct for 95% of a payee’s transactions will silently mis-code the 5% where the rate differs, and the error compounds until someone reviews the VAT return.
- Context-dependent categorisation, split payments, and mixed-use VAT recovery are outside the reach of any rule or prediction system — they require judgement from someone who has access to the documents and the commercial context.
You’ve set up the rules. Now for everything else.
Rules handle the easy part. The judgement cases — the split receipts, the ambiguous supplier invoices, the VAT calls that depend on a purchase order — are what takes the time. That’s exactly what TheBookkeeper.ai handles for you. Get on the waitlist if you want the whole job done, not just the predictable half.
Sources:
- Create a bank rule — Xero Central
- Reconcile statement lines in bulk — Cash coding, Xero Central
- About automatic bank reconciliation powered by JAX (BETA) — Xero Central
- Xero’s new Auto Bank Reconciliation Feature — Illumin8
- Common Xero Bookkeeping Mistakes UK Businesses Make — Outbooks
- Xero Bank Reconciliation Like a Pro — FHP Accounting
- About non-standard tax rates — Xero Central
Frequently asked questions
Can Xero bank rules set different VAT rates for the same supplier?
Yes, but only if you create separate rules with more specific matching conditions. For example, you can split one supplier rule into two — one matching a narrower description string at 20% and another at 0% — so each line routes to the correct rate. Without that extra specificity, Xero applies whichever rule fires first, which will mis-code any transaction where the rate differs from the default.
What is the difference between cash coding and normal reconciliation in Xero?
Cash coding creates brand-new transactions and reconciles them immediately in a bulk grid. Standard reconciliation uses Find & Match to settle lines against invoices or bills you have already raised. If a customer payment should close an outstanding invoice, you must use standard reconciliation — cash coding will create a duplicate payment rather than settle the existing document.
Does Xero automatically reconcile bank transactions without me doing anything?
JAX (Just Ask Xero), currently in beta, can auto-reconcile high-confidence lines — recurring direct debits, standing orders, and previously coded transactions — without any input. It steps back rather than guessing when confidence is low. You can review what it has processed at any time, and it will not silently post anything it is uncertain about.
Why do my Xero bank rules keep applying the wrong VAT rate?
Bank rules apply the VAT rate that was correct the last time you set up the rule, not the rate that is correct for this particular transaction. If a supplier sells you both standard-rated and zero-rated goods under the same bank description, one rule cannot distinguish between them. The fix is to split the rule on a more specific description string, or flag that payee for manual review rather than auto-posting.
How do I handle a single bank payment that covers multiple invoices in Xero?
Use the standard reconciliation screen and select Find & Match. You can split a single bank line across as many invoices or bills as needed, including a partial allocation on account. Bank rules and JAX cannot decompose one payment into multiple journal lines automatically — this type of split always requires manual handling in the reconciliation screen.
My books look clean but my accountant keeps finding VAT errors — what is going wrong?
Automated tools propagate the first coding choice forward. A bank rule correct for 95% of a payee's transactions will silently mis-code the remainder, and the reconciled line gives no visible warning. Errors accumulate until someone reviews the VAT return. If the judgement cases — mixed-rate suppliers, reverse charge, partial VAT recovery — are handled by a dedicated bookkeeper rather than automation alone, TheBookkeeper.ai is built exactly for that gap.
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.