The following is a guest post from Harsh Mohta, senior finance manager at HERE Technologies, a location platform company. Opinions are the author’s own.
The first time I built an AI agent to automate actual vs. plan variance commentary, I gave it everything I had: actuals, forecast, plan, access to my mailbox and access to the shared drives where our working files were stored. A few minutes later I had a first draft. It was very well structured and sounded quietly confident.
One revenue line had slowed, and the agent put this down to a weakening macroeconomic environment. On the surface, that sounds reasonable. However, the markets it referred to were ones the company did not operate in at all.
I would have struggled to spot the problem at a glance. The numbers reconciled, and the tone was appropriate. It read like every decent variance paragraph I have seen in a monthly reporting pack, and anyone reviewing it (especially late at night before a deadline) could easily have waved it through.
What stayed with me was the gap between the two things the agent was doing at once. When it came to describing the movement, it was flawless. When it came to explaining it, it was making things up. In finance, explaining is the most important part of the job.
Finance often runs on what is not written down
Technology was not the problem. The answer just was not anywhere the agent could look.
Consider how variance explanations are written in practice. Costs come in below plan because someone renegotiated a supplier contract over a phone call. A segment's revenue slips because a big customer pushed out their go-live by a quarter; the sales lead mentioned it once, in passing, and that was that. An accrual looks odd because of a one-off treatment agreed last year that the whole team just knows about. You likely will not find any of this in the ledgers, and you will find very little of it in anyone's inbox.
That is institutional knowledge. It is the history, the context, the word-of-mouth understanding that experienced finance people carry around without thinking about it. It is also why a good controller can glance at a number and immediately say "timing difference".
Give an agent access to your mailbox and your shared drives, and it will correctly capture the movement of numbers. It might not always be able to see why. So, it does what language models are designed to do and reaches for the most plausible explanation. Plausible and correct are two very different things. When the real reason is missing, the gap gets filled with something that is increasingly referred to as AI slop.
Gibberish would be easy to deal with, because anyone would catch it. Slop is harder to catch. It is fluent and well-formatted, but it has quietly drifted away from the facts.
Enabler, not outsourced partner
Much of the disappointment with AI agents in finance comes from treating them like an outsourced partner. You hand over the task (and with it the accountability), get the finished product back and sign off. That arrangement works with a good outsourcing firm because, over time, the firm builds its own understanding of your business, pushes back when something does not add up, and answers for what it delivers. An agent does none of that. It does not know what it does not know. And in the end, there is nobody to hold accountable.
I have found it far more useful to think of agents as enablers. They take the mechanical, rules-based and slow parts of the work, and I keep the parts that need judgement. The output is still mine. I just get there quicker.
It might sound like a semantic distinction, but it shapes everything downstream, from what you choose to build to how you review the result. If the agent is your partner, you are reviewing its conclusion. If it is an enabler, the conclusion was never its own to reach in the first place. You own it; the agent only did the legwork underneath.
A three-question test
These days I ask three questions before handing anything to an agent.
1. Where does the context live? If everything needed to get the task right is written down somewhere (a ledger, a contract, a file or a system), an agent can work with it. If it depends on history, on judgment or on undocumented institutional knowledge, the agent will invent whatever is missing.
2. Can I check the output faster than I could produce it? Saving an hour of drafting only to spend an hour checking is not a saving. Agents do best where checking is quick, like a comparison you can spot-check or a summary you can hold up against the source.
3. What happens if it is wrong? A mistake in an internal working draft costs you a few minutes. A mistake in a board pack, a filed return or something that goes out to a client costs credibility and trust. The higher that cost, the further the agent should stay from anything that looks like a decision.
Where a task passes all three, agents genuinely help. Where it fails the first, you get slop, and it has little to do with how good the tool is.
Where AI agents actually help
I have built a few agents for my own work. The ones I use daily have passed the three-question test easily. None of them are making judgment calls on my behalf. They are there to take the friction out of the work around those calls, so that I can move faster.
One compares two versions of a financial model and writes up a changelog (the equivalent of red-lined contracts in law): inputs that changed, formulas that were edited, outputs that moved as a result. If you have ever inherited a model halfway through a cycle or tried to reconcile two versions after a long review, you will recognize the difficulty. Here the context lives entirely in the files and checking is quick. If the agent misses something, I will see it the moment I open the model.
Another triages my inbox, sorting and summarizing so I start the day knowing what needs me and what can wait. If it gets one wrong, I lose a few minutes.
Neither sounds very exciting, but they give us time to focus on what really matters.
Anything that turns on judgment or client history stays with people: going concern, provisioning, your stance in a tax dispute or how you handle a difficult conversation with management.
A word on client data
One caution, mainly for those in practice: An agent running inside your organization's own secured environment is a very different thing from a free public chatbot with a client's ledger pasted into it. Convenience does not change our duty of confidentiality, especially where personal data is involved.
So, before you put client information into any AI tool, find out where that data goes, who can see it and whether it is used to train the model. If you cannot answer those questions, do not upload it.
There is a worry in the profession that AI will make finance professionals redundant. I do not see it that way. Agents are already very good at the mechanical layer of finance, and they will keep improving. However, they cannot know what the business knows and has never written down, and they cannot take responsibility for a conclusion.
What changes is the shape of our job. We will spend less time preparing and more time reviewing, questioning and deciding. Professional skepticism stops being a section in the audit file and becomes the main thing we are paid for.
So by all means use the agents, and build your own if you can. Just be clear about which of you did the legwork, and which of you signs.