← Back to blog

Matching bank statements with AI: what works and what does not

TL;DR Proposing yes, final matching no. The assistant can pull your outstanding items, line up the bank entries and say per transaction which invoice it probably is. It can create a bank entry with the right account and the invoice number in Our reference; linking it to the outstanding item happens in Exact Online. There is no matching tool, and that is better said plainly than dressed up.

For many finance teams, matching is where the loose minutes disappear: pick up a bank transaction, work out which invoice it belongs to, link it, next. So the question of whether AI can take it over comes up often. The honest answer is partly, and it is worth knowing exactly which part.

Can AI match my bank statements?

The proposal yes, the final link no. An assistant can retrieve your outstanding items, line up the bank transactions and say per line which invoice it probably is, including the ones it is unsure about. What it cannot do over the connection is actually link that payment to that invoice. That happens in Exact Online.

What matching actually does

A payment on your bank account is at first just an amount with a description. Matching is the act of connecting that transaction to the outstanding item it belongs to. Only after that does your debtor position hold up, does the invoice drop out of your reminder list, and do your ageing reports mean anything.

Which is exactly why the step is sensitive: a wrong link does not show up in a total, but it does propagate into your reminders and your VAT. The error is quiet, and that makes it expensive.

What the connector can do today

What you wantToolRead or write
Retrieve outstanding itemsfinancial_outstanding_getread
Search receivablescashflow_receivables_searchread
Debtor ageing reportfinancial_aging_receivablesread
Inspect existing bank entriesfinancial_bank_search, financial_bank_getread
Create a bank entryfinancial_bank_createwrite
Add a line to that entryfinancial_bank_add_linewrite

Those six get you a long way: you can have the assistant work out which invoices are still open, what the amounts are and which bank line sits closest to each.

Where the line is

There is no tool that links a payment to an outstanding item. Two things that regularly cause confusion:

  • cashflow_receivables_update sounds like it does, but only updates the description, payment method and payment reference of a receivable. It changes no amount and no status.
  • financial_cash_add_line (for cash entries) has no Our reference field. Of the two routes, only the bank route can carry an invoice number.

Why Our reference is the field that matters

On a bank line against a debtor, Our reference is the field that says which invoice this is about. financial_bank_add_line accepts it as ourRef, alongside the account (accountCode), the GL account and the amount. Fill that in properly and the entry is ready with everything needed to make the link — turning the last step in Exact Online into a confirmation rather than a search.

The workflow that does work

  1. Ask for the proposal. For example: "Which invoices for customer Bakkerij de Groot are outstanding, and for what amounts?" Then line up the bank transactions and have the assistant say which invoice fits each amount.
  2. Ask for the doubtful cases. Explicitly ask which transactions cannot be matched unambiguously. That list is worth more than the easy ones.
  3. Confirm yourself. Create the entry (or have it created) and finish the match in Exact Online.

This is not a stopgap while waiting for something better. It is the shape that fits an action which can fail quietly: the assistant does the searching, you do the confirming.

Where it goes wrong in practice

  • Partial payments — an amount that does not equal the invoice. The assistant can propose the combination, but the remainder is your judgement.
  • Bulk payments — a customer paying five invoices in one amount. Ask for every combination that adds up to the amount; that is exactly the work where arithmetic beats searching.
  • Credit notes — they reduce the amount due and are easily overlooked.
  • Bank charges and rounding — small differences you have to deliberately put somewhere.
  • Currency differences — with foreign currency the amount on your account is rarely the invoice amount exactly.

What you need

Basic is enough for querying and comparing: that is all reading. If you want the assistant to create the bank entry as well, you need Advanced, because those are write tools. If read-only is enforced for a colleague, those tools are refused even on Advanced — which is the entire point of that setting.

Further reading: sending payment reminders with AI covers what is left after matching, and forecasting cash flow with AI covers what a correct debtor position lets you do. The full tool list is in the tool catalogue.

Frequently asked questions

Can AI match my bank statements automatically?

Not completely. An AI assistant can retrieve the outstanding items, line them up against the bank transactions and propose a match per line. Actually linking a payment to an invoice happens in Exact Online itself; there is no tool for that over the connection.

Which tool do I use to record a receipt?

financial_bank_create creates a bank entry and financial_bank_add_line adds a line to it, with the account, the GL account, the amount and optionally Our reference. To find the right invoice, use financial_outstanding_get or cashflow_receivables_search.

What does cashflow_receivables_update actually do?

It updates an existing receivable: description, payment method and payment reference. Despite the name it does not match anything and does not change amounts or status.

Why is there no matching tool?

Matching is an irreversible financial action where a wrong link quietly propagates into your debtor position and your VAT return. As long as there is no path on which an assistant does that demonstrably safely, a proposal with human confirmation is the honest answer.

Do I need Basic or Advanced?

Basic is enough for querying and comparing. As soon as you want the assistant to create a bank entry you need Advanced, because that is a write tool. If read-only is enforced for a colleague, that tool is refused even on Advanced.

FW
Frank Woutersen is the founder of Ledger Botje and writes about AI, MCP and Exact Online. He helps businesses manage their administration smarter with AI assistants.

Ready to use AI with Exact Online?

Try Ledger Botje for free and discover how AI simplifies your daily work.

Try free