“I almost cried it worked so well”
Mark’s a CPA. The above is what he said in one of our workshops:
He added straight away that he is not a crier lol.
Matching and reconciliations are always super painful for finance, especially at his scale.
He works with a client running ~500 Amazon delivery drivers on city contracts across the US.
They own the vans, and the routes, but nobody had ever managed to match the Amazon invoices against the cash in the bank.
About 60% of the revenue is route delivery, the rest is efficiency and safety bonuses, drivers staying under a monitored speed limit, this kind of thing. So the cash arrives sporadically and it doesn’t line up with anything.
You have an account like this somewhere in your ledger. And every year you promise yourself you will find a way to clean it.
Two years of Amazon invoices, 90% matched, and a month of work done in about two hours
Mark put 2024 and 2025 through ChatGPT Work.
|
|
He did a full transaction and revenue line dump out of the Amazon customer portal on one side, as well as the cash payments sitting in QuickBooks on the other. On top, there was also no cleaning of the QuickBooks data because the company had already accepted those transactions into the ledger.
In ~25 minutes, about 90% of the cash payments were matched to invoices. It gave back a short list of payments for further investigation. This is a month of manual work, done in roughly two hours end to end, on the first try.
90% is a big claim, no?
Well, Mark did not get lucky. He did five things that any of you can copy, which I’ve built into a framework for you.
The M.A.T.C.H. Framework
|
|
M – Master side.
Mark started from cash instead of invoices.
Cash received is the ultimate source of revenue. If you work from the bank side, by definition you are working from 100% of it. But, start from the invoice side instead and you only ever prove something about the invoices you happened to raise.
Here he was thinking like an auditor, and it is the reason the exercise worked so well.
Tip 1 – Pick your master side first, and tell the AI which one it is.
A – Agree the match rules.
The concept you need here is called fuzzy matching, and I have been telling people in accounting to learn it since a long time.
It’s basically an approximate match with the highest probability of being right. But AI does not know your rules. Somebody has to explain when it is a good match and when it is a bad match.
Yes, you need to get the AI to do the reconciliation for you, but you need first to give the intelligence inside.
Concretely, write the rules down before you upload anything. Things like: Amount tolerance. Date window either side. How to treat partial payments, one payment covering many invoices, and one invoice paid in two installments.
Tip 2 – You need to explain AI what are the rules of your reconciliation.
T – Teach the context.
This is what takes you from 70% to 90%.
A first run with no context documents might give around 70% matched. But, add your chart of accounts, your vendor list, your payment terms, and that number can increase to 80, 90, even 95%.
So when somebody tells me AI only got 70% of their reconciliation, my first question is never about the tool, or the model. It is: what data did you give it?
Your vendor master file is not magic, it is the thing that tells AI that "AMZN FLEX 4471" and "Amazon Logistics Inc" are the same vendor.
Tip 3 – Provide as much context and data as is useful.
C – Check tab.
Always ask AI to add an audit documentation.
That is the best practice I repeat in every crash course. Ask for a separate tab that confirms three things: every invoice you provided was used, every bank statement line was used, and the totals tie back to the source files.
On top, ask for the exceptions sorted into named buckets: Matched. Wrong amount. Unpaid. Bank line with no invoice.
Then do one spot check on something material, by hand, against the original file.
Tip 4 – Build in checks / an audit process into your AI reconciliation rules
H – Hand it to a skill. A one-off catch-up saves you a month, once.
Once the prompt is validated, stop treating it as a prompt.
It is now a functional specification: how transactions get categorised, which rules apply, how edge cases are handled.
Persist it in a dedicated assistant or skill instead of rewriting the reasoning every close. Like this you own a control that runs every month and gets better each time.
Tip 5 – Add the prompt to an AI Project so that it persists, or turn it into a skill (you can do this in ChatGPT and Claude)
Different Tools You Can Use
1. ChatGPT Work
|
|
This is the tool that Mark used. You can run it locally on your machine, pointed at a folder where all of your transactions are. Or use the OneDrive or Google Workspace connectors in the web version.
Pro tip – Using ChatGPT locally is faster, tends to be more accurate, and saves you AI consumption as it doesn’t have to run connectors to find the files before it starts it’s task.
2. Claude Cowork with the Finance plugin
|
|
Claude has a dedicated plug-in specifically for reconciliations.
Install it from Customize -> Browse Plugins -> Finance. Then point it at a folder of invoices and a bank statement.
In my own walkthrough it came back with 70 matched, 3 amount mismatches, 27 unpaid ready to accrue, 8 bank lines with no invoice, plus a duplicate invoice number I hadn’t told it to look for.
Try this first, before you build from scratch to see how it does.
3. Copilot Cowork, if your company is Microsoft everywhere
|
|
If you already have Microsoft 365 Copilot, Cowork does the same kind of agentic work.
Important – Cowork is not included in your Copilot licence. It runs on Copilot Credits, billed on consumption. so a long multi-step reconciliation across a big folder uses a lot more credits than a quick question.
Two practical things before you start. Type /cost in any task window and it tells you exactly what that task has used so far. And ask your admin to set spending limits in the Microsoft 365 admin centre, so your usage is capped.
Pro tip – Prove the workflow in normal Copilot Chat first. Chat is covered by your licence and costs you nothing extra. Once you’ve got it working give it to Copilot Cowork (never test in Cowork)`
4. Python and Google Colab
|
|
I only recommend you use this route if you have a LOT of complicated data, and are happy using AI to generate code.
Google Colab is the environment that handles large data properly, and fuzzy matching in Python is code you that you can audit easily.
There is no hallucination inside Python.
Super important – None of this replaces your review. Not everything that comes out of these tools is good. AI prepares the work, and produces documentation and files that are much easier to check than anything you do manually. But you are still the one who signs it.
The One Thing to Remember
A 75% match rate can beat a 90% one.
Everybody quotes the match rate because it is the number the looks most impressive.
But, on its own it tells you almost nothing. A 90% match where it’s difficult to tell what the 10% left over is worse than a 75% match where the remainder comes back sorted into wrong amounts, unpaid, and missing documents.
One is something that speeds up your work. The other creates more work.
Follow M.A.T.C.H and your recs will become so much easier 😉
Best,
Your AI Finance Expert,
– Nicolas
P.S – The best way to learn from me directly is to join my weekly masterclasses. 60-mins + Q&A where I’ll get all your AI in Finance questions answered. Join me here.
P.P.S – Ready to run your first reconciliation in ChatGPT Work? Here's the setup → How to Use ChatGPT Work in Finance (Tutorial)
