Skip to content

Article

AI in corporate finance: what to automate and what not to hand to a model

After a dozen deployments in the finance of small and mid-sized companies I have a simple rule: the language model gets what consists of reading; code gets what consists of computing; a person keeps what consists of accountability. Below — what that looks like in practice, with three examples and a list of things not to do.

Author: Tomasz FordymackiPublished:

Three baskets: automated, never delegated, human-checked

Automated (code or model)Model proposes, a person checks a sampleNever handed to the model
Loading an XML registry filing and reconciling it (assets = liabilities)Classifying posting descriptions into management linesArithmetic — every multiplication in code, with a test
Ledger control rules: VAT, deadlines, official register, rates, balancesExtracting fields from contracts and invoices (parties, amounts, dates)EBITDA normalisation adjustments and valuation method weights
Report, dashboard and presentation generated from one modelA first draft of the results commentary (“what changed and why”)Forecast assumptions and the conclusion for the board
Allocating working time to clients from a ticketing exportTranslating a report into a second language (numbers checked by rule)Personal data and salaries — stay in a zone the model cannot reach

Three examples from deployments

  1. 1A registry-filing parser — eight companies with one methodXML e-filings have one structure but three variants (small, other, micro entity) and different notes. A script loads the balance sheet, P&L and cash flows, reconciles them and computes fourteen ratios in five modules with a rating. No language model here — pure code, because the structure is known. Effect: a comparative analysis of a dozen companies in an hour instead of a week; same ratios, same method, zero retyping.
  2. 2A ledger controller for an accounting office — a hundred rules instead of an eyeThe accounting-system export, the chart of accounts and the accounting policy as inputs; around a hundred rules (VAT and deadlines, counterparties against the official register, e-invoicing, central-bank rates, accounts that should never carry a balance) and several hundred tests. The language model appears in one place: for an unclear posting description it proposes a classification the accountant approves. Effect: errors visible before month-end, the accountant works on exceptions, a dashboard for the office owner shows which company failed what today.
  3. 3A management report from the model — one number in three documentsA script reads the Excel model (management P&L, allocation, liquidity), builds an HTML dashboard, a PDF report and a presentation — in Polish and French for an owner abroad. Closing checks (segments sum to the P&L, the balance sheet balances) stop publication when something does not match. The language model writes a first draft of the “what changed” commentary; I correct and sign it. Effect: report closing from a week to an hour, no more three versions of the same margin.

Why the model must not compute

A language model predicts the next piece of text. For “2 × 3” it will predict “6”, having seen it a million times; for “7.96 + 14.75 discounted at 11.3 %” it will predict something that looks like a result — and be wrong by a few percent in a way you cannot see. In a valuation a few percent is hundreds of thousands. That is why in my tools the model never returns a number that goes into a report: it returns a classification, a proposal or text, and code with a test does the computing. That is not caution — it is the difference between a tool and a risk.

A checklist before deployment

  1. Which single report eats the most hours? Start there — not with an “AI strategy”.
  2. Does data enter through one gate with validation and a log? If not, the gate comes first.
  3. Where are personal data and salaries — and can the model reach them? It must not.
  4. Which controls can be written as a rule with a test? All of those go to code, not to the model.
  5. Who signs the result? If the answer is “nobody, it is automated”, the deployment is not ready.
  6. Is there a register of pitfalls and refresh instructions? The tool must outlive its author.

Service: finance automation and AI

Frequently asked questions

Which language model?

For reading documents — Claude; where data cannot leave the company — a locally run model (Ollama). The choice is secondary to the architecture: a gate, zones, rules before the model, code for computing. A poor model in a good architecture does less damage than the best model in a bad one.

What does it cost and when does it pay back?

A first deployment (one report, one export) is two to three weeks of work; the cost of language models at this scale is negligible — tens of złoty a month. I count payback in team hours: a report from a week to an hour is 30–40 hours a month, i.e. payback within the first quarter. I do not publish a price list — scope and price follow from a conversation.

Is it GDPR-compliant?

It is, if the architecture is: personal data in a zone the model cannot reach, identifiers for analysis, an external model receiving only anonymised content, a processing agreement where required. That is a condition for me taking on a deployment at all — not an option to switch on later.

Let’s talk about your situation

Write a few sentences about the company and the problem. I reply within two working days and the first conversation is free.

Write to me

This site counts visits without cookies. With your consent I will also enable Google Analytics (a cookie for 2 years) to see which calculators and articles are read. Without consent nothing goes to Google. Details in the legal notice.