I started the call this morning a little nervous, which I tried not to let into my voice. I wanted a relaxed catch-up on the first run, so I got in early with the small talk and waited to see her face load on the screen. She came on bright and smiling.
"Well, you're smiling," I said, "so I must not have completely hosed the books."
We both laughed. Me a touch more shrill, and more out of relief because even though things seemed fine on my end, the CFO is the one who needs to sign off.
This was the first full month closed by the ai financial controller I have spent the last forty-five days building for an enterprise client. It reads their live books, compares them to the bank across several entities, and proposes the entries that bring the two into line. I planned this go-live a few weeks back and have written about the morning it ran clean and still missed half a statement. So I knew the ways this could go sideways. Sitting there before she answered, I did not know which way it had gone. Either it had taken a week of grind off her desk, or it had tucked a wrong number into a column nobody would notice until an auditor did.
The first seven days of the month were the unknown part. For about five days I was convinced everything was fine, but then came one surprise after another, and my confidence began to shake. I would post a batch, read the ledger back the next morning, and find lines undone, journals I had keyed gone. I sat there for longer than I want to admit, half certain the controller was fighting a human on the other side and losing. Were we about to lose the month? Was I going to have to call her and explain that my clever automation and her manual work had quietly cancelled each other out?
It was neither, and it was both. We were both writing into the same set of books at the same time, her doing the payment run, the controller doing the bank lines, neither of us telling the other when. Two people standing in the same doorway. The fix was not code. It was a five minute conversation about who owns what. She runs the payments and the wires. The ai controller owns the non-payment lines, the allocations, and the reporting. One writer per job. The stepping on toes stopped.
By the end of the month the two sides matched. There were some questions still, but we were balanced on both sides of the ledger. Posted plus held tied to the bank statement to the cent. That is the only grade reconciliation gives you. There is no eighty-five percent in a closed month. The numbers agree or they do not, and if they do not, you are not finished. This morning, for the first time, they agreed, and it felt like the crazy ai controller idea had worked.
Why this one felt different
I have shipped a lot of things in twenty years of working for myself, for others, for big teams and small scrappy teams. Most of it lived on a screen and stayed there. Software you build, software you sell, software that gets replaced. This felt closer to the day I finish a bit of work around the house, a shed that stands square, a wall that holds. Not a painting, I would not flatter the work that much. More like the satisfaction of a builder stepping back from something solid that was a mess this time last month.
I took a job that was tedious and manual and easy to get wrong, the kind of work a person does late and tired and resentful, and I turned it into something that runs. A hundred hours into the build, there is finally a thing here that works, that saves a real person real time, and that takes a recurring headache off their week. After a long stretch of half-built and almost-working, that is a good feeling, and I do not get it from much of what I make. The glow even lingered for the full day, knowing the hardest part was done, and that next month it gets better. For both of us. Small ratchetings to wring every last bit of manual work out, so the human can focus on the work that needs the attention. Not keying digits straight off a paper bank statement from six different banks.
What comes next
The controller works. It is not yet smooth, but it is close. There are edge cases it hands back to a human to decide, a few manual steps I want gone, reports I want it writing on its own. The next sixty to ninety days are about taking the thing that holds and making it quiet, fast, and boring to run. Boring is the goal. Boring means trustworthy.
The goal? An error free finance department, mostly hands off on the statement and AP parsing.
But that is tomorrow's job. This morning a CFO came on a call smiling, the books balanced to the cent, and I built the thing that did it. I am going to sit with that one for a day before I start tearing it apart to make it better.
Monthly Revenues $11,000 | Clients 2 | Prospects (AI outbound agent now live) | Team: Me + part time Jan (CTO)
Day 78 of 365.