Cash matching that closes the month in days
Bank transactions arrive through open banking, pair with ledger entries automatically and get flagged for anomalies, so people review only the exceptions.
Example project
Based on a project our team built. Client details are left out or changed, and the demo uses invented data.
- Sector
- Organisation managing grant and donor funds
- Typical duration
- 8 to 12 weeks

Typical client situation
A finance team that manages grant and donor funds across several bank accounts and currencies and reconciles them against the accounting system every month. Funder reporting depends on the books being closed on time.
Challenge
Reconciliation is done by hand in spreadsheets. Someone retypes each statement line, searches the ledger for a matching entry and ticks it off, so a single month takes days and errors slip through.
Unmatched items are discovered late, often when a donor asks a question. There is no record of who changed a match or why, which makes audits slow and uncomfortable.
Solution
The solution is a Dataverse model for statements, transactions and pairings, with a model-driven app for the finance team. Bank transactions are fetched through open-banking APIs, with a connections screen that shows the last sync and consent validity of every account, so nobody uploads files. A business process flow moves each statement from synced to booked.
Power Automate flows send and fetch entries through the REST API of the accounting system. A C# plugin pairs each transaction to a journal entry using amount, date and reference, and stores a confidence score and a status: auto-paired, proposed, needs a look or open. Currency conversion differences are booked automatically to the FX differences account.
Anomaly detection screens every transaction and flags a possible duplicate payment, an unusual amount or a new payee, with the reason shown on the line. When a small difference needs a write-off, an approval card is sent to the approver in Microsoft Teams and the decision is recorded on the statement timeline. A second plugin writes a change history, and results export to CSV for posting.
Bank feeds through open-banking APIs with a connections screen and last sync per account
Anomaly detection that flags duplicates, unusual amounts and new payees with a reason
Write-off approval cards in Microsoft Teams, recorded on the statement timeline
Automatic pairing with a confidence score and a clear status per transaction
Automatic booking of currency conversion differences
Change history of every edit and CSV export of the results
Stack
- Dataverse
- Model-driven apps
- AI Builder
- Power Automate
- C# plugins
- REST APIs
- Power BI
Screens from the demo
We rebuilt this solution as a demo with invented data, so you can see how it works without exposing any client system. Click through it yourself.
Open the interactive demoWhat it is built to deliver
- Transactions arrive through open-banking APIs, with no file uploads
- Live bank data
- Duplicates, unusual amounts and new payees are marked with a reason
- Anomaly flags
- Write-offs are approved on a card and logged on the timeline
- Teams approvals
Recognize the situation?
Tell us where your process is stuck. We will tell you honestly whether we can help.

