|
EXPLAINER |
AI FOR ACCOUNTANTS · PART 6 OF 16
Prompt patterns for reconciliations: ask for exceptions, not summaries
The model is better at spotting what does not match than at telling you what does - structure your prompt accordingly.
Most accountants who try an LLM on a reconciliation ask the wrong question. They paste in two lists and ask for a summary, and they get one - fluent, confident, and almost useless. The model will tell you that the bank statement and the general ledger both show activity in the same general range, when what you actually need is a list of every item on one side that has no counterpart on the other, net of a tolerance you specify.
The mechanism worth understanding is this: a language model is a next-token predictor, which means it is very good at pattern completion and very bad at guaranteeing exhaustive enumeration on its own. When you ask for a summary, you are asking it to do what it does naturally - produce a coherent narrative from the material. When you ask for exceptions, you are asking it to behave more like a lookup table: for each row in list A, find the matching row in list B within a given tolerance, and surface only the rows where no match exists. That second task is harder for the model but far more useful for you. The prompt structure is what forces the behavior.
A concrete example helps. Suppose you have a vendor subledger export and a statement from the vendor, both covering the month just ended. The subledger has 140 line items; the vendor statement has 137. You do not want the model to tell you both lists total to roughly the same figure. You want it to return the specific invoice numbers present in one list but absent from the other, and any item where the amounts differ by more than your materiality threshold - say, five dollars on a single line. The prompt that produces that output looks nothing like a question. It looks like an instruction set: here is list A, here is list B, the matching key is invoice number, the tolerance is five dollars, return only unmatched items and amount variances that exceed the tolerance, formatted as a table with a column for the source list.
The tolerance specification is the part most practitioners omit, and it is the part that matters most. Without it, the model will either flag every rounding difference - producing noise - or smooth over small discrepancies in its narrative - producing false comfort. Stating the rule explicitly (match on this key, flag differences above this threshold, ignore differences at or below it) converts an open-ended generation task into something closer to a structured filter. The model still cannot guarantee it caught every case the way a formula in a spreadsheet can, so a human check on the output is not optional. But you will be reviewing a short list of genuine candidates rather than a wall of text.
The practical change is small but specific: before you paste any data, write the matching rule and the tolerance as explicit instructions at the top of the prompt, then tell the model the output format you want. Ask for exceptions only - not a narrative, not a count, not a summary. If the reconciliation has a second pass (confirming that the exceptions you investigate are actually cleared), prompt that as a separate step with the updated data, not as a follow-up in the same thread where the model may conflate the original and corrected lists. Emburse's AP and payments solution, built for growing organizations, is one of several tools positioning AI at the transaction-matching layer - but the prompt discipline described here applies regardless of which platform you are working in.
WORKED EXAMPLE
In practice
A vendor subledger export and a vendor statement for the month just ended, both as pasted plain-text tables. The subledger has 140 rows; the vendor statement has 137. The matching key is invoice number; materiality threshold is five dollars per line.
What came back. The model returned a nine-row table. Seven rows were genuine unmatched invoices - three on the subledger side, four on the vendor side. Two rows showed the same invoice number on both sides with an amount variance above the threshold. One of the three subledger-only items turned out to be a duplicate entry the model had missed because the invoice numbers differed by a transposed digit; that required a manual scan of the source data to catch.
How it was checked. The practitioner sorted both original lists by invoice number in a spreadsheet and used a COUNTIF column to confirm that every item flagged by the model was genuinely unmatched, and that the transposed-digit duplicate did not appear in the model's output.
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
| State the matching key, tolerance threshold, and output format before pasting any data. | |
| Ask for unmatched items only - summaries bury the exceptions you actually need to review. | |
| Run the cleared-items check as a fresh prompt, not a follow-up in the same thread. |
SPONSORED
QUESTIONS THIS ANSWERS
Can an LLM replace a spreadsheet VLOOKUP for reconciliations?
Not reliably for large lists. A formula guarantees exhaustive row-by-row checking; a language model does not. Use the LLM to draft the exception list quickly, then verify the output against your source data before signing off.
What should I include in a reconciliation prompt?
The two lists, the matching key (invoice number, transaction ID, etc.), the dollar tolerance, and an explicit instruction to return only unmatched items and out-of-tolerance variances - formatted as a table, not a paragraph.
Why does asking for a summary produce bad results on a reconciliation?
A summary prompt lets the model do what it does naturally - generate a coherent narrative - which tends to smooth over discrepancies. An exceptions prompt forces it to flag specific rows that fail the matching rule you gave it.
SOURCES
Where this comes from
What the accounting job market is actually asking for.
GO DEEPER
Go deeper
IN THIS SERIES
Previously: What human in the loop means in an audit file
Next: How to evaluate an AI feature before it touches client data (coming)
An explainer, not a study: it carries no statistics on purpose. Examples are illustrative.
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 · Accounting & Finance Jobs
Audit Friendly · modernaccounting.ai