A language model can do three bookkeeping jobs well on a plain text file or a spreadsheet you export: sort transactions into categories you name, compare two lists and show the differences, and write a plain-English explanation of why the numbers moved. It cannot tell you the correct tax treatment, post a legally valid entry, or sign anything off. Keep a qualified reviewer on every output that touches the books.
That split matters because most people searching for accounting AI prompts want two different things. Some run a business and want their transactions sorted by Friday. Some are comparing what a model produces against what their software would produce. The prompts below are built for the first case, with the second in mind.
What accounting AI prompts can and cannot do
The capability is narrower than the marketing and wider than the sceptics claim.
A model is good at pattern work over text you paste in: grouping similar merchant names, spotting the one line that does not belong, drafting the sentence that goes into a management pack. A model is bad at anything that depends on a fact it cannot see: your jurisdiction's tax rules, your accountant's prior decisions, which of two similar vendors is the right one for this purchase.
So the design rule is simple. Let the model handle classification, comparison, and wording. Keep the ledger, the tax treatment, and the sign-off with a person who can defend them.
Categorise expenses without guessing at your chart of accounts
The failure mode here is not a bad answer. It is a confident answer that quietly invents a category your accountant never agreed to.
Sort the transactions below into the categories I provide. Use only these category names: [paste your category list]. For each transaction output a table with: date, description exactly as it appears, proposed category, and a confidence flag of high, medium, or low. Put any transaction you are unsure about in a separate "needs review" table with the reason you are unsure. Do not create new categories. Do not merge two of my categories into one. Do not infer a tax treatment or a business purpose. Do not convert currencies. Where the description is truncated or the merchant is unfamiliar, say so rather than guessing. Transactions: [paste date, description, and amount]
Fill in these details
- Category list: Your own chart of accounts, shortened to the categories you actually use. The prompt cannot guess at your structure.
- Currency: State one currency per table. Mixed-currency output is where silent conversion errors start.
- Confidence flags: Decide what medium means before you run it. A useful definition is that the merchant is recognisable but the business purpose is not obvious from the line alone.
Why the "needs review" table matters
It is the mechanism that keeps the model inside its competence. Without it, a model facing an unfamiliar line will pick the nearest category and hide the doubt. A separate table makes the doubt visible, and you can usually resolve it in seconds by looking at the receipt or the invoice.
Reconcile a bank statement against your ledger
Reconciliation is a comparison task, and comparison is what models do reliably. The prompt should state the two inputs, the matching rule, and the output shape.
Compare the bank statement lines below with the ledger lines below and produce a reconciliation. Match on date and amount, allowing a maximum difference of [amount or "zero"] and a date window of [number] working days. Produce four tables: matched pairs, bank lines with no ledger match, ledger lines with no bank match, and amounts matching but with different descriptions. For each unmatched item, state the likely reason if the data supports one, such as a transfer, a chargeback, or a timing difference. Do not invent a match to make the totals agree. Do not adjust the totals. If the two totals differ, state the difference and the sum of the unmatched items, and say whether they reconcile. Bank statement: [paste] Ledger: [paste]
Three details decide whether this prompt is useful. The date window stops a payment cleared on the first from being reported as missing. The amount tolerance stops small fees becoming investigation items. The ban on inventing a match is what stops the model from producing a tidy table that is wrong.
Explain a variance in language a manager can act on
Once the numbers are correct, the remaining work is judgement about why they changed. This is where the phrasing matters, because a variance report that restates the number in a longer sentence has added nothing.
Explain the variance below. Audience: [the person who will read this]. Give: one sentence stating the direction and size of the change, the three most likely contributing factors ranked by how much of the gap each could account for, what evidence in the data supports each factor, and the single question you would ask a human to confirm which factor is correct. Do not state a cause as fact. Do not use the words because, driven by, or due to unless the data names the cause. If the data cannot distinguish between two explanations, say so. Period: [dates]. Actual: [figure]. Prior period: [figure] or [budget]. The line items behind both figures: [paste].
Fill in these details
- Audience: A board member and an auditor need different sentences from the same analysis.
- Ranking instruction: Asking for contributing factors ranked by size forces the model to separate the plausible from the merely interesting.
- Evidence field: Without it, models produce plausible-sounding causes with nothing behind them.
Worked example: a month of expenses with no software
Suppose a small design studio exports three months of card and bank lines and has no accounting package. The owner wants the spending sorted and one page to hand the accountant.
The categorisation prompt returns high confidence on recurring lines such as rent, utilities, and software subscriptions, because the merchant names are unambiguous. It returns medium on "AMZN MKTP" lines and sends them to the review table, because a marketplace line can be a client purchase or a personal one. The owner resolves those against receipts in a few minutes.
The reconciliation prompt then compares one bank statement against a ledger the owner exported by hand. It returns four unmatched bank lines totalling a specific figure, and it does not adjust the total to make the two sides agree. That mismatch is the useful output. It tells the owner the ledger is incomplete before the accountant sees it, rather than after.
The variance prompt describes month three against month two, ranks two contributing factors, and states that the data cannot distinguish between them. The owner then adds the one missing fact.
| Output | Who uses it | What to check |
|---|---|---|
| Categorisation table | Owner | Spot-check the medium and low confidence rows against receipts |
| Needs-review list | Owner | Every line is resolved before anything is posted |
| Reconciliation | Owner and accountant | Unmatched totals must be explained, not absorbed |
| Variance note | Management | Factors are labelled as candidates, not findings |
How to check the output before it goes in the books
1. Reconcile the model output to your source total
Count the rows in, count the rows out, and check that the amounts add to the same figure you pasted. A model that drops a line rarely announces it.
2. Sample the high-confidence rows anyway
Take ten random high-confidence rows and check them against receipts. If the sample rate is wrong, the confidence flag is not telling you anything useful.
3. Keep categories separate from tax treatment
A category is a filing decision; a tax treatment is a judgement with rules attached. Ask for categories, then ask a qualified person about treatment. Do not let a prompt collapse the two.
4. Record the instructions alongside the output
Save the prompt text with the month's file. Next quarter you will need to know why March's categories differ from June's, and the answer is usually in the prompt you used.
Three ways these prompts go wrong
- Letting the model build the chart of accounts: It will produce a plausible structure that does not match your accountant's, and every later report inherits the mismatch.
- Pasting amounts with no dates or currency: Sorting and reconciliation both degrade, and the model will not tell you it has guessed.
- Asking for a tax answer instead of a category: Ask "which category is this" and get a discussion you can use. Ask "what is the tax treatment" and get an answer you should not rely on.
Frequently asked questions
Can ChatGPT do bookkeeping?
It can sort, compare, and summarise text you provide, which covers a large share of the clerical load for a small business. It cannot maintain a ledger, file returns, or make entries that stand up to an audit. Use it on the preparation work and keep a qualified person on the records.
How accurate is automatic expense categorisation?
Accuracy depends almost entirely on how specific your category list is and whether the merchant descriptions are clear. Ambiguous lines should be expected and routed to review rather than treated as failures.
Will this replace my accountant?
No. It reduces the volume of material your accountant has to sort through. The judgement calls, the compliance work, and the responsibility stay where they are.
Categorise one month, then verify
Pick a single closed month, run the categorisation prompt with your own category list, and resolve every needs-review row against a receipt before you do anything else. That single cycle tells you more about whether this fits your work than any feature comparison. For more prompts for finance and operations work, browse the financial management topic collection.