|
BUILD WITH AI |
BUILD WITH AI · PART 2 OF 5
Build a bank transaction categorization workflow with an AI assistant
The workflow replaces the first-pass sort, not the accountant - here is how to set the boundaries before you run it.
Manual bank transaction categorization is one of those tasks that feels fast per line but compounds badly at volume. A bookkeeper working through a month of transactions is essentially running a pattern-matching exercise: merchant name in, account code out. An AI assistant can handle that first pass reliably enough that the human can shift from doing the sort to reviewing it, which is a different and more defensible use of time.
BUILD WITH AI
Bank transaction categorization, step by step
This workflow hands the first-pass sort to an AI assistant and routes everything uncertain to a human queue. Set it up once with your chart of accounts and it repeats cleanly each period.
1 |
Export the month's bank statement as a CSV with columns: date, description, amount, and a blank 'category' column. |
2 |
Open your chart of accounts and copy the account codes and names you want the model to work from - include only the accounts relevant to this bank account. |
3 |
Open your general-purpose AI assistant and paste the following prompt, replacing the bracketed sections with your actual data: "You are a bookkeeper categorizing bank transactions. Use only the account codes listed below. For each transaction row I provide, return a table with these columns: date, description, amount, assigned_account_code, assigned_account_name, confidence (high or low), and |
4 |
Paste the CSV rows (without the header) at the end of the prompt and run it. |
5 |
Copy the model's output table into a spreadsheet and filter for all rows where confidence is 'low' - review and resolve each of those manually before touching anything else. |
6 |
Spot-check ten rows marked 'high' confidence against the original bank statement to verify the categories are correct. |
7 |
Correct any errors in the spreadsheet, then import the finalized category column back into your accounting system using its standard import or journal entry process. |
8 |
Note any recurring miscategorizations and add a clarifying rule or example to the prompt for the next month's run. |
The failure points are predictable. An AI will confidently miscategorize anything ambiguous - a payment to a hardware store that should go to job-cost materials rather than office supplies, a transfer that looks like revenue but is not. It will also hallucinate account codes if you do not give it your actual chart of accounts. The prompt below forces the model to work only from a list you supply, flag anything uncertain, and output a structured table rather than prose.
Checking the output means doing two things a human would have done anyway: scanning the flagged rows first, then spot-checking a sample of the confident ones against the source statement. If the spot-check turns up repeated errors in the confident rows, the categorization rules or the chart of accounts you fed the model need tightening before the next run. The workflow does not eliminate review; it concentrates it on the rows that deserve it.
WORKED EXAMPLE
In practice
A bookkeeper has 310 transactions from a business checking account for the month just ended. The file is a CSV exported from the bank portal. The firm's chart of accounts has 22 relevant codes.
What came back. The model returned a 310-row table in under a minute. It flagged 18 rows as low confidence, mostly payments to general contractors where the description gave no clear indication of job materials versus professional fees. One high-confidence row was wrong: a payment to a tool supplier had been categorized as 5010 Office Supplies rather than 5070 Job Materials because the merchant name contained the word 'supply.'
How it was checked. The bookkeeper compared ten high-confidence rows side by side with the original bank statement PDF, found the tool supplier error, corrected it in the spreadsheet, and noted the merchant name as an example to add to next month's prompt.
A constructed example. The prompt is usable as written; the figures show the shape of a result, not a measured one.
WHEN TO USE IT
| WHEN NOT TO
|
WHAT TO TAKE FROM THIS
| Feed the model your actual chart of accounts - generic codes produce generic, wrong output. | |
| Treat any row the model flags as uncertain as a mandatory human decision, not a suggestion. | |
| Spot-check confident rows each cycle; a rising error rate signals a prompt or rules problem. |
SPONSORED
QUESTIONS THIS ANSWERS
Can an AI assistant categorize bank transactions without my chart of accounts?
It can, but it will invent or guess account names that may not match your books. Always paste your actual account list into the prompt so the model is constrained to codes you use.
How do I handle transactions the AI marks as uncertain?
Treat them as a mandatory human queue. Do not let uncertain rows pass through on a default category. Review each one against the underlying statement and make the call yourself.
Does this workflow work for high-volume transaction files?
Context window limits vary by assistant. If your file exceeds the model's input limit, split it into weekly batches, run each separately, and combine the outputs before the review step.
SOURCES
Where this comes from
The career portal does the rest.
GO DEEPER
Go deeper
IN THIS SERIES
Previously: Build a client doc extraction workflow today
Next: Build with AI: engagement letter drafting (coming)
An original workflow written for practitioners. Replicate it in a sandbox first; nothing here replaces your review.
How accountants are using AI, automation and smarter workflows to close faster, audit cleaner, and free up time for real work.
Accounting Stack · Audit Friendly Data · Remote A&F Jobs
Audit Friendly · modernaccounting.ai