Hand the AI your own category list, each with a one-line definition and an example, send recurring payments to fixed bank rules, and let it suggest categories only for what's left. Then check every low- or medium-confidence line, plus 20 random high-confidence ones each month. If more than one of those 20 is wrong, check the whole month.
The checking matters more than the categorising. AI coding usually fails in patterns rather than randomly: one type of transaction, such as card-terminal payouts or transfers between your own accounts, gets coded wrongly every time it appears. A small monthly sample catches that pattern within weeks. Skip the check, and the same error sits in every month's figures until year end.
Write the category guide before the AI touches anything
An AI given only a bank statement will invent sensible-sounding categories that don't match your chart of accounts (the list of income and expense headings your accountant uses). Give it the exact list, and for each heading a definition, two typical descriptions from your bank feed, and anything that looks similar but belongs elsewhere.
A filled-in extract for an illustrative six-room guest house:
| Category | Includes | Typical bank text | Not this |
|---|---|---|---|
| Room income | Direct bookings, booking-platform payouts | "BKG PAYOUT", "STRIPE PAYOUT" | Refundable deposits (Deposits held) |
| Card and platform fees | Processor and commission charges | "STRIPE FEE", "COMMISSION" | Bank account fees (Bank charges) |
| Breakfast supplies | Food for guests | "CASH AND CARRY", butcher, bakery | Household shopping (Owner drawings) |
| Laundry | Commercial laundry invoices | Laundry firm's name | Buying new linen (Linen and furnishings) |
| Utilities | Gas, electricity, water | Supplier names, "DD" | Broadband (Telephone and internet) |
| Transfers | Moves between own accounts | "TFR TO SAVINGS" | Anything paid to someone else |
Writing the "not this" column forces you to spell out the confusions an AI will make. It takes about an hour for a typical small business with 30 to 40 categories, and it's worth asking your accountant or bookkeeper to glance at it, because they'll know which headings your year-end accounts depend on.
Split the work: bank rules first, AI for the remainder
Most bank feeds are dominated by the same payees every month: rent, utilities, payroll, software subscriptions, the laundry. These don't need AI. A bank rule (a fixed instruction such as "anything containing LAUNDRY goes to Laundry") is predictable, free and never changes its mind. Both Xero and QuickBooks Online let you create bank rules from the bank feed.
The guest house's September feed had 214 transactions. Rules covered 118 of them (55%). That left 96 for AI suggestions, which is where the time saving and the risk both sit. As a rough guide, if rules cover less than half your feed, spend another hour writing rules before relying on AI for the rest.
There are three places the AI suggestions can come from:
- Your accounting software's own suggestions. QuickBooks Online suggests a category for each downloaded transaction based on how you've categorised similar ones; you can turn suggested categorisation off in bank transaction settings, though Intuit says its wider AI features can't currently be switched off one by one. Xero's automatic bank reconciliation by JAX, still labelled beta in Xero's own updates, reconciles lines on its own and labels each one Rule, Match, Memory (based on your past coding) or Prediction (based on similar transactions across Xero users). It can be switched on or off per bank account, and there's a Reconciled page listing everything it did.
- A chat assistant working on a CSV export. Useful for a backlog, a year of unreconciled lines, or software without AI coding.
- A bookkeeping add-on connected to your software. Check that it shows a reason and confidence for each line; if it doesn't, you can't run the checks below efficiently.
Whichever you use, the checking routine is the same. For Xero specifically, using Xero's JAX for invoices and cash-flow questions covers the rest of what the assistant does.
Prompt for a CSV backlog, and what came back
For a chat assistant, export the uncategorised lines as CSV, delete account numbers and card numbers, and keep only date, description, amount and a row ID. Then:
You are categorising bank transactions for a [type of business].
Use ONLY these categories: [paste the category guide, including the "Not this" column].
For each row, return: Row ID | Category | Confidence (high/medium/low) | Reason (under 12 words)
Rules:
- If a transaction could belong to two categories, choose low confidence and say which two.
- Money moving between our own accounts is always Transfers.
- Never guess at splitting a transaction; flag it as SPLIT? with low confidence.
- Do not total anything.
Transactions:
[paste CSV rows]
Six lines from the guest house's output (illustrative):
| Description | Amount | AI category | Confidence | Reason given |
|---|---|---|---|---|
| STRIPE PAYOUT 0914 | +1,843.20 | Room income | High | Card processor payout for bookings |
| CASH AND CARRY 221 | -312.46 | Breakfast supplies | High | Wholesale food supplier |
| TFR FROM J SAVER | +2,000.00 | Room income | Medium | Incoming payment, possibly booking |
| BKG REFUND 88231 | -180.00 | Card and platform fees | Medium | Payment to booking platform |
| HOMEWARE STORE | -146.99 | Linen and furnishings | Low | Could be linen or household (SPLIT?) |
| WASTE SERVICES | -64.00 | Utilities | High | Waste collection service |
What needed fixing: the $2,000 was the owner moving money from a personal savings account, so it's a transfer or owner's capital, not income. Coding it as Room income would have added $2,000 of takings that never happened. The $180 was a refund to a guest, which reduces Room income rather than counting as a fee. The homeware receipt really was split, and the owner had to look at it. The card-processor payout is subtler and gets its own section below. Four of six needed a human look, which is normal for the first month; the point of the reason column is that each one took seconds to judge.
The monthly checking routine
This routine takes 15 to 25 minutes a month for a feed of about 200 lines. Run it before you treat a month as closed.
- Check every medium- and low-confidence line. These are the AI telling you it isn't sure. In the guest house's September run, that was 25 lines.
- Check every line over your threshold, whatever its confidence. Pick a figure that matters for your size; the guest house uses $500. One miscoded large item distorts a month more than twenty small ones.
- Sample 20 high-confidence lines at random. In a spreadsheet, add a column with =RAND(), sort by it, and take the top 20. Mark each one right or wrong.
- Apply the rule: more than 1 wrong in 20 means check them all. One wrong in 20 is a 5% error rate on the lines the AI was sure of; two or more suggests a pattern.
- Compare category totals with last month and the same month last year. A category that moves by more than about 30% with no obvious reason usually hides a misclassification.
- Make sure the categorised lines add up to the bank's movement for the month. If they don't, a line has been dropped, duplicated or excluded by mistake.
Here's how that played out. In September the random sample of 20 high-confidence lines found 3 wrong, so the owner checked all 71 high-confidence lines and found 9 errors in total. Seven were the same pattern: card-processor payouts coded as income at the net amount. One bank rule and one line added to the category guide fixed it. In October the sample found none wrong, and in November one, so the routine stayed at 20 lines a month.
Net payouts: the error that looks right every time
Card processors and booking platforms don't pay you what the guest paid. They pay you that figure minus their fee or commission. So a payout of $1,843.20 might represent $1,881.60 of room sales and $38.40 of fees. Code the payout as $1,843.20 of income and your income is understated, your fees are invisible, and neither error shows up anywhere obvious.
The AI's reason ("card processor payout for bookings") was true, and its confidence was high, which is exactly why a sample catches this and a confidence filter doesn't. The right treatment depends on how your bookkeeping records sales: some businesses raise an invoice per booking and match the payout against it, others record gross sales and fees from the processor's monthly statement. That choice is one to agree with your bookkeeper or accountant. Once it's agreed, write it into the category guide so the AI and your bank rules follow it.
Four businesses, four traps the AI can't see
Every sector has a transaction type that looks like one thing in the bank feed and is really another. The AI only sees the description and the amount, so these need a rule, a note in the category guide, or a human. The figures in the four examples below are illustrative.
A holiday-let manager holding owners' money. A guest pays $1,450 for a week. Of that, $1,050 is rent that belongs to the cottage owner, $250 is a refundable damage deposit, $95 is the cleaning fee and $55 is the booking fee. The manager's own income is the booking fee, the cleaning fee and its commission on the rent (at 20%, $210), so $360 in all. An AI that codes the whole $1,450 as income overstates the manager's income four times over. Money held for others needs its own treatment, often in a separate client account; ask your accountant how yours should be set up before any AI goes near it.
A church office with restricted gifts. A $500 transfer with the reference "ROOF APPEAL" is a gift for a specific purpose, and many charities must track those gifts separately from general funds. The AI coded it as General donations because the amount and payer looked like every other donation. The fix was a line in the guide: "Reference contains APPEAL, FUND or a project name: Restricted donations, low confidence, flag for the treasurer."
A members' club taking function deposits. A $600 deposit in March for a September wedding reception isn't September's income yet, and it may be refundable. The AI coded it as Function income on the day it arrived. The club now codes all deposits to a Deposits held account and moves them to income after the event, which the treasurer does at month end from the events diary.
A campsite paying for everything on one card. A single supermarket transaction of $146 might be $90 of shop stock, $40 of cleaning materials and $16 of the owner's own groceries. No AI can split that from the bank line. The practical answer is a receipt-capture app or a rule that sends every supermarket line to a "To split" category for the owner to deal with weekly; the setup in AI receipt capture and bank categorisation shows how bookkeepers handle it.
Clearing a year's backlog without checking every line
A backlog changes the arithmetic. Take a members' club, invented for this example, that had let its bank feed pile up for a year: about 2,600 uncoded lines. Checking every one by hand would take a volunteer treasurer several evenings; checking none would mean trusting a year of AI guesses.
The workable approach is to code in monthly batches, not all at once. Pasting 2,600 rows into one chat invites dropped rows and drifting categories, while a month of roughly 220 lines fits comfortably in a single prompt. Run the same six-step check on the first two months before coding the rest, because that's where the category guide gets its corrections. After the guide stopped changing, the club's treasurer checked only the low- and medium-confidence lines, the lines over $500 and a 20-line sample per month.
The arithmetic: 12 months at about 45 checked lines each is 540 checks. At around 20 seconds a line, that's three hours of checking instead of the fourteen or so it would take to review all 2,600. Before importing anything, count the rows in each batch's output against the rows you sent. An AI that silently skips three lines in a batch leaves a gap the bank reconciliation will show later, but it's far quicker to spot at the batch stage.
Turn every correction into something permanent
Correcting the same error every month wastes the time the AI was meant to save. Each correction should end in one of three places:
- A bank rule, if the transaction always goes to the same category. The guest house turned its processor payouts, laundry and waste collection into rules within two months, which took rule coverage from 55% to 64%.
- A line in the category guide, if it needs judgement the AI can follow ("Refunds to guests reduce Room income; they are not fees").
- A manual queue, if no rule or instruction can decide it. Split purchases, owner transfers and anything involving money held for others belong here.
In software that learns from your coding, such as Xero's Memory method or QuickBooks' suggestions, corrections also teach the system. That's useful, but it cuts both ways: if you accept a wrong suggestion, it learns that too. Don't click through a list of suggestions just to clear it.
Signs the coding is holding up, month by month
Keep a small log with one row per month: lines in the feed, percentage covered by rules, lines checked, errors found in the sample, and errors found overall. For the guest house, four months looked like this:
| Month | Lines | Rules | Sample errors (of 20) | Action |
|---|---|---|---|---|
| September | 214 | 55% | 3 | Checked all; new payout rule |
| October | 231 | 61% | 0 | None |
| November | 168 | 63% | 1 | Guide note on refunds |
| December | 149 | 64% | 0 | None |
Three signs the coding is drifting: sample errors creeping up for two months in a row, a new supplier or payment method appearing (which the AI has never seen), or your accountant finding reclassifications at year end that your monthly checks missed. The last one is the most telling. If the year-end adjustments are in categories your sample never flagged, your sample is too small or your threshold too high. Tell your accountant what AI is doing in your books, too; automating bank reconciliation and checking the matches covers the reconciliation side they'll ask about.
What to keep manual regardless of accuracy
Even with a clean record, some lines stay with a person because the cost of a wrong answer is out of proportion to the time saved:
- Anything involving money that belongs to someone else: client funds, deposits, restricted gifts.
- Loan repayments, which often mix capital and interest in one payment.
- Large purchases that might be equipment rather than an expense; your accountant decides the treatment.
- Owner drawings and money the owner puts in.
- The first two or three months of any new income stream, supplier or payment method.
If you're weighing whether a package's built-in AI or a bookkeeper would handle this better for your volume, AI bookkeeping software vs a human bookkeeper compares accuracy and cost. For most small businesses, the answer is both: AI and rules for the routine lines, and a person for the handful that carry the risk.
Questions about checking AI categorisation
Is it safe to upload a bank statement CSV to ChatGPT or Claude?
Use a business plan that doesn't train on your content by default, or switch off the model-training setting on a personal plan. Delete account numbers and card numbers from the CSV first; the AI needs only date, description and amount. If your accountant's engagement terms restrict where client data goes, follow those.
How accurate is AI categorisation?
It depends almost entirely on how settled your transactions are. A business with the same suppliers every month can see very few corrections after the first quarter; one with lots of one-off purchases will see more. Measure your own rate with the monthly 20-line sample rather than trusting any vendor's headline figure.
Should I let the software post categorised transactions automatically?
Only for transaction types that have scored zero errors in your sample for two or three months running, and only where the software shows you what it posted and lets you correct it. Keep anything over your review threshold, and anything involving money that isn't yours, as manual.
Does my accountant still need to check the books?
Yes, for anything with tax consequences: capital purchases, loan repayments, owner drawings, and year-end adjustments. AI coding makes their review faster because the routine lines are already tidy, but it doesn't replace their judgement on treatment.
Further reads
- Xero vs QuickBooks AI: Which Saves More Bookkeeping Time? — Which of the two main packages saves more coding time.
- Can AI Do My Bookkeeping? What Still Needs an Accountant — What stays with an accountant once coding is automated.
- How to Catch Duplicate Invoices and Payment Fraud With AI — Use the same bank data to catch duplicate or fraudulent payments.
- How Much Does AI Bookkeeping Software Cost per Month? — What AI bookkeeping software costs each month.
- ChatGPT Prompts for Bookkeepers: Client Queries, Chasers, Notes — More prompts for the queries that categorisation throws up.
- Best AI Accounting Software for Small Businesses in 2026 — Seven accounting platforms compared on what their AI actually does, what it costs at list price, and which kind of small business each one suits.
- What Finance Tasks Can AI Automate in a Small Business? — Fifteen finance jobs AI can take over in a small business, each with an example, a first step and the check that stops it going wrong.
- AI Expense Management: Receipts, Mileage, and Approvals — How AI reads receipts, logs mileage and approves in-policy claims, with an estate agency's month of expenses and a policy you can adapt.
- Can AI Do My Business Taxes? What It Can Safely Prepare — What AI can safely prepare for your business tax return, where its tax answers go wrong, and a year-end pack you can build before the accountant sees it.
- What Is Cash Flow Forecasting? A Plain-English Guide With AI Examples — Cash flow forecasting explained with a six-week example for an importer, five ways AI speeds it up, the errors it introduces and a weekly routine.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Xero product update posts and Xero Central help on automatic bank reconciliation by JAX; QuickBooks Online help article on categorising and matching bank transactions.