Essays

Why Enterprise AI Needs Determinism

What five years inside fund administration taught me about where machines belong

Ronak Singh · July 13, 2026 · 6 min read

In five years of fund administration, I never once saw an accountant paid to calculate a NAV. They were paid to explain why two numbers didn't match.

The software already produced the number. What the firm was actually paying for — what the client called at 9pm about, what the audit hinged on, what separated a good accountant from a replaceable one — was the answer to a harder question: when two numbers disagree, which one is wrong, and why?

That question is the whole job. And it is the one part of the job that nobody had automated. I found that strange, and the longer I sat with it, the more it seemed like the most important thing I understood about the industry that outsiders didn't.

Here is the shape of it. Every day, a fund records what it thinks happened: we bought this, we received that dividend, we paid this fee. Separately, the banks and brokers who actually hold the money send their own version of events. The two are supposed to match. When they don't, it's called a break. Chasing breaks — finding them, then explaining each one — consumes most of the human effort behind a NAV. And the strange thing about breaks is that they are almost never new. The same dozen root causes recur endlessly: a broker omitted a cost field, a dividend landed a day late, an FX rate was pulled from a different source. Yet every morning, a junior accountant opens a differently-formatted PDF from each broker and re-derives the same handful of explanations by hand, from scratch, as if seeing them for the first time.

The industry's answer to this was to hire more people. That answer never sat right with me. It was treating an intelligence problem as a headcount problem.

So I started automating — first the small things, with VBA, then PowerShell, then Python. Each script made me faster. None of them changed anything. I was paving the cowpath: making a broken workflow run more efficiently instead of asking why the workflow existed. The turn came when I stopped asking “how do I automate this task?” and started asking “why does this task exist at all?”

The answer went deeper than I expected, all the way down to how accounting software stores information.

Almost every system stores the current answer. The cash balance is a number in a field; when it changes, the old number is overwritten and gone. This is efficient and, for a system of record for other people’s money, quietly dangerous — because when a number is wrong, you often cannot reconstruct how it got that way. Neither can your auditor. The system remembers the answer but forgets the evidence.

I wanted the exact opposite. So I rebuilt the accounting core from first principles around a single rule: never store the answer, store the facts. Every trade, dividend, fee, and price enters as an immutable, timestamped event in an append-only, cryptographically chained log — closer to a bank passbook than a whiteboard. Nothing is ever overwritten; a correction is a new event that supersedes the old one, and the original stays visible forever. The NAV, the ledgers, the journals — none of them are stored. They are recalculated from the events every time they’re needed. Ask how a NAV from two years ago was produced, and the system replays the exact events and returns the identical number, to the last digit. The answer is always reproducible because the answer is never kept — only the facts are.

Building it this way solved the audit problem I’d started with. But it also, almost as a side effect, answered a question I hadn’t known I was asking: where does AI actually belong in a system like this?

The determinism made the boundary obvious. Reading a messy broker PDF, connecting scattered evidence, forming and testing a hypothesis about why two numbers disagree — these are reasoning tasks, and they are exactly what modern AI is extraordinarily good at. But posting an accounting entry is not a reasoning task. It changes a legal book of record. It carries responsibility. That is a governance task, and it must remain deterministic and human-owned. Most of the confusion in “AI for enterprise” comes from collapsing these two things into one. They are not the same, and the architecture should refuse to let them blur.

So in what I built, the AI investigates and never decides. It gathers evidence, argues with itself — one agent proposes a cause, another is built specifically to argue against it — and produces a recommendation with its reasoning and a confidence score. When its independent reasoners disagree, it does not pick a side; it escalates to a human. It never books the entry. A qualified person approves every accounting decision, and that approval is itself recorded as an event. The software replaces the operational work. It never replaces the accountability.

I’ve come to think the principle reaches far past fund administration. An enormous amount of enterprise work is a small deterministic core surrounded by a vast amount of repetitive operational effort — gathering, checking, chasing, explaining — that exists only because no machine could do it before. Wherever software produces deterministic outcomes but people spend their days gathering evidence, explaining exceptions, and making accountable decisions, AI belongs in the investigation, not the judgment. The opportunity was never to replace human judgment. It’s to clear away the manual work that keeps humans from exercising judgment where it actually matters.

Humans should remain the decision-makers. Machines should become the workers. I happened to start with fund administration. I don’t think that’s where this idea ends.

About the author

Ronak Singh spent more than five years in fund administration before teaching himself software engineering to build Xatva, AI-native software for fund administration.