AI Account Reconciliation
Reconciliation is the part of the close that never makes the recruiting video. Two lists that should agree, one that does not, and an evening spent finding the 47 dollars.
It is also the first place in finance where AI does real work rather than demo work, because matching is a pattern problem and pattern problems are what these models are for.
What follows is how I run a reconciliation now, what the model does, what it never touches, and the prompt I use when the break will not surface.
What a reconciliation is doing
Two records of the same thing, compared, with every difference explained. Bank against ledger. Subledger against general ledger. Intercompany against its mirror. The mechanics are identical no matter which one is in front of you.
Three outcomes for any difference. Timing, so it clears next month. An error, so somebody fixes it. Or unexplained, which is the one that matters, because an unexplained difference you sign off is a control failure with your name on it.
If the debit and credit side of that still feels shaky, the debits and credits cheat sheet is the shortest way back to solid ground.

The five steps, and which ones AI took
| Step | Who does it now |
|---|---|
| Pull both sides into the same shape | Power Query, with the transformation written by a model |
| Match the obvious items | Rules and formulas. This was already automated and stays that way |
| Match the awkward items | This is the new one. Fuzzy matching against descriptions and amounts |
| Explain what is left | You, with a model as a first pass |
| Sign it | You. Only you |
Step three is where the hours went. A payment that arrives as one bank line and three invoices, a vendor whose name is spelled four ways across two systems, a wire that lands with the reference truncated. Rules-based matching gives up on all of those and hands them to a person.
Step 1, getting both sides into the same shape
Most reconciliation pain is formatting pain. A bank export with the date as text, an ERP extract with the amount split across debit and credit columns, and a description field where somebody once pasted a spreadsheet.
Describe both files to a model and ask for the Power Query that lands them in one shape. Paste twenty real rows of each so it stops inventing your column names.
Do this once and it runs every month afterwards. That is the difference between a tool that saves you an afternoon and a tool that saves you an afternoon every month, and the second one is worth the setup.
The longer version of that step lives in Power Query data cleaning.
Step 3, the matching that used to be manual
Here is where I would point a model. Give it the unmatched items from both sides after your rules have run, and ask for candidate pairs with a reason attached.
Two lists of unmatched transactions. List A is the bank, list B is the ledger.
Find likely matches. A match can be:
- one A line to several B lines, or the reverse
- amounts within 2 dollars, if the description supports it
- dates up to 5 business days apart
For each candidate give me: the A ref, the B ref(s), the amount difference,
the date gap, and one sentence on why you think it matches.
Sort by how confident you are. Do not propose a match you cannot justify
from the data in front of you.
The output is a worklist, not an answer. I accept maybe seventy percent of what comes back, reject a few outright, and the rest need one lookup each. That still beats scrolling two sheets side by side.
Sorting by confidence matters more than it sounds. The high-confidence block clears in two minutes, and what is left is the genuinely interesting pile, which is where the actual errors live.

The prompts, written out
The AI library for finance teams
The matching prompt above, the transformation prompt, and the reconciliation review checklist. Free, and it lands in your inbox in about a minute.
Step 5, the part that does not move
Sign-off is a control. A model proposing a match has performed no control at all, and if your reconciliation is in scope for an audit, the reviewer is going to ask who reviewed the proposals and on what basis.
So write it down before you need it. Which reconciliations use model-assisted matching, what the confidence threshold is, who reviews anything below it, and where the evidence sits. One paragraph in your control documentation, written in advance, saves a very tedious conversation in March.
The broader version of that question is in AI governance for finance teams, which covers what you write down for AI across the whole function.
The four reconciliations you will run
The steps are the same. What changes is where the breaks come from, and knowing that in advance is most of the speed.
| Reconciliation | Where the breaks come from | What the model is good for here |
|---|---|---|
| Bank to ledger | Timing on deposits and payments, bank fees that never got booked, wires with mangled references | Fuzzy matching on description text, which is where bank exports are worst |
| Subledger to general ledger | Postings made direct to the control account, a manual entry that bypassed the subledger | Spotting the entry that has no counterpart, because it can read the entry description |
| Intercompany | FX on the two sides, one entity booking a month later than the other, disputed charges | Pairing amounts across two currencies once you give it the rate you used |
| Credit card and expense | Personal charges, missing receipts, the same expense claimed twice in different months | Duplicate detection across months, which rules miss because the dates differ |
Intercompany is the one where teams lose the most time and get the least sympathy, because the fix usually lives in another country’s inbox.
The credit card one is worth automating first if you have it. Duplicate detection across a rolling six months takes a model about four seconds and takes a person about a morning, and it is the reconciliation most likely to find something.
Three breaks that keep showing up
These are the ones I see most, and each one has a shape you can learn to recognize.
- The timing difference that is really an error. A cheque outstanding for five months is not timing. It is a payment that failed and never got chased.
- The compensating pair. Two breaks that net to zero, so the reconciliation ties and both are still wrong. Rules-based matching is blind to these by design, and this is one place the anomaly pass genuinely earns its keep.
- The rounding drift. Fractions of a cent per line, six thousand lines, a difference that grows every month and sits under everyone’s threshold until it does not.
I lost a Thursday to a compensating pair in a subledger that had reconciled cleanly for eleven months. Both errors started the same week. Neither was noticed because the total was right.
What about the reconciliation software
BlackLine, FloQast, Numeric and the rest all do this, and they do it well if your volume justifies them. They also cost real money and take a quarter to implement.
My read: if you are reconciling more than about twenty accounts a month with a team, buy the tool. Below that, Power Query plus a model plus a documented review step gets you most of the value for the price of a subscription you already have.
Either way the sign-off does not change hands, which is worth remembering when a vendor demo makes it look like it does.
Where to start
Take your worst reconciliation. The one with the most manual matching, the one you dread. Run one month of it with the matching prompt above and time both halves.
If it saves you two hours, do the setup work properly and it saves you two hours every month for as long as you hold the job. If it saves you twenty minutes, you learned that cheaply.
From there, automating the month-end close is the same exercise applied to the whole close, and the AI financial reporting workflow covers the reporting that comes after it.






