Blog · · 5 min read

Don't let AI do the books. Let it build the tools.

Most finance teams try AI by pasting a spreadsheet into a chat window. That's the wrong way round. Use the model to write deterministic programs, and let reconciliations keep it honest.

An LLM guesses. Your ledger can't.

The current AI hype is about one kind of AI: large language models. An LLM is a program trained to predict the next word. To get good at that it picked up grammar, reasoning patterns and a lot of code. But it still returns a likely answer, not a calculated one. It can look like it did the maths without running any. It will invent an account code or a dimension rather than admit a gap. And it tends to go along with however you framed the problem.

Probabilistic An LLM answering
  • Same question, different answers
  • Can't show how it got there
  • Confident when wrong
Deterministic A program running
  • Same input, same output
  • Every step inspectable
  • Breaks loudly, can be debugged
Fig. 1 Two kinds of software. Finance needs the second.

Finance processes have a low tolerance for error, must be traceable and auditable, repeat on a fixed cadence, and span several systems, often with Excel as the glue. Every item on that list favours a deterministic program over a probabilistic reply.

So have it write the program.

Don't hand a model a month of transactions and ask for journal entries. You can't audit how it got there. Have it build the pipeline instead: describe what you want in plain language, run it, check it, refine. That's vibe coding. Code is inspectable, testable and identical on every run, so the model's unreliability gets caught when you build, not when you close.

Then have it build the checks too. The simplest one is also the most useful: do the journal entries sum to the transactions in the source? Checks that fail loudly are what let you automate aggressively.

Not this
  1. Raw data
  2. LLM
  3. Journal?
Untraceable
Instead
  1. Raw data
  2. Code written by the LLM
  3. Journal
Auditable
Source transactions4,812,390.25
Journal entries4,812,390.25
Difference0.00
Reconciled
Fig. 2 The model writes the pipeline; a reconciliation proves every run.

Three builds that work.

1. Bookkeeping for high-volume transactions

Before: the data team exported the month's transactions and split them into 500,000-row files so Excel could open them. Finance mapped and filtered them by hand; external bookkeepers did the VAT coding and the upload. After: SQL and Python map every transaction type to G/L and VAT codes, create missing customers, post journals through the ERP's API and reconcile every run. The work moved in-house, close got faster, and more than one full-time role was freed.

  1. SourcePlatform transactions
  2. MapG/L, VAT & customer
  3. PostERP via API
  4. CheckReconcile every run
Transactions / month
5M
Transaction types
350
Invoices / month
12k
Freed up
1+ FTE
Fig. 3 From 500k-row Excel files to a pipeline that posts itself.

2. Bank reconciliation

The ERP's matching rules cleared only 30% of incoming payments. Unmatched payments were the top cause of finance support tickets and touched three people on the team. A colleague pulled bank lines from the data warehouse and had the model match them against open invoices, locally, connected to nothing. It quickly matched most of the rest, which justified a real tool: hosted behind a VPN, with role-based access, posting through the ERP's API and keeping a full audit trail. Two months to build. Almost one full-time role saved, and customers see their money sooner.

Fig. 4 Share of incoming payments matched, first prototype.

3. A fraud triage agent

An agent is an LLM running in a loop with tools: it reads the context, decides what to do next, and repeats. Here, threshold rules flag suspicious transactions: an implausible unit price, or one card used at two distant locations minutes apart. The agent gets a prompt of known fraud patterns, pulls whatever extra data it needs from the warehouse, and assesses each case. Only the likely ones reach a person in Slack. It runs on a small, cheap model.

  1. RulesThresholds flag candidates
  2. AgentInvestigates with warehouse data
  3. SlackPosts likely cases
  4. HumanAnalyst decides
Fig. 5 The agent narrows the list. A person makes the call.

How to roll it out.

  1. 01Set upGive the team access. Connect every tool you can; if you can't, connect the data warehouse.
  2. 02ExperimentTry it on everything you do today. Protect time for it. Share what works.
  3. 03BuildSave repeatable instructions as shared skills. Turn big, repetitive processes into your own tools.
  4. 04AutomateRun those tools on a schedule, or hand them to agents.

FoundationClean data. Tidy up your ERP and chart of accounts first.

Fig. 6 Four steps, one foundation.

Guardrails from day one.

The tools are here now. Don't wait for one magic AI product to automate finance. Turn the team into people who build their own.