I Tried to Fully Automate Cash Flow Reporting More Than Once. Here's Where I Settled.
I Tried to Fully Automate Cash Flow Reporting More Than Once. Here's Where I Settled.
A rule-based helper now assembles the weekly cash view from the bank reconciliation in minutes. It still doesn't produce a report anyone should act on until someone senior has reviewed it. Here's why I stopped chasing full automation, and where the line sits.
For a client's weekly cash flow, I've built a helper that reads the accounting system's bank reconciliation export, sorts every transaction into cash flow categories by rule, carries forward last week's manual corrections, and produces a draft cash view with a list of everything it couldn't place.
What used to be a couple of hours of copying, sorting and cross-checking is now a few minutes of running a script and opening a workbook.
And I've given up, for now, on making it fully automatic.
Not for lack of trying. More than once I set out to make the whole thing run end to end, from bank feed to a finished cash flow report, with nobody touching it. Each time, the output looked complete, and each time it contained something that would have misled the person reading it. So I've settled on a split: the helper assembles, and I review. That review is where the report actually becomes useful.
Why rules, not AI, do the assembling
The first decision was to make the assembly step rule-based rather than asking an AI model to read the bank data and classify it fresh each week.
Cash flow reporting needs to be repeatable: the same transaction should land in the same category every week. It needs to be explainable: if a number looks odd, you need to see exactly which rule put it there. And it needs to remember: when I correct a classification once, it should stay corrected.
A rule-based helper does all three. An AI model asked to classify from scratch each run is better at handling something new, but it can classify the same transaction differently on different days, and it can't always tell you why. For a report people make payment decisions from, consistency has mattered more to me than cleverness.
Where AI earned its place was in building and maintaining the helper itself, and in explaining odd items when I asked about them. It wrote most of the code. It didn't get the final say on the numbers.
What kept going wrong when nobody reviewed it
These are the kinds of misses that made me stop chasing a fully automatic version. None of them were dramatic. All of them would have made the report wrong in a way that looked right.
Plausible matches that were wrong. The accounting system suggests matches between bank lines and recorded transactions. Most are right. Some pair a bank line with a transfer of the same amount from a different day, or to a different account. Accepting those automatically leaves the books balanced and the story wrong, and the real item turns up weeks later as something nobody can explain.
Transfers recorded twice. A transfer between two of the organisation's own accounts has two sides. When each side gets recorded separately, you get duplicates, and working out which copy is real means checking the other account, not just the one in front of you. A helper looking at one account at a time can't make that call reliably.
The tempting shortcut for money you can't trace. Some transfers went to accounts that couldn't be identified from the records. The quick fix is to code them somewhere convenient, such as a director's loan account, so the reconciliation closes. That's not just a coding choice. Recording an unexplained payment as a loan to a director tells the books the company has lent money to a shareholder or their associate, which is exactly the kind of transaction the Division 7A rules deal with in a private company. Whether Division 7A actually applies depends on where the money really went, and that's a judgement for the tax adviser once the facts are known. The honest interim answer is a clearly named suspense account and a question to the client, not a guess written into the ledger.
Scope that was quietly too narrow. One summary the helper produced only picked up items that were still unreconciled. Items in the same period that had already been reconciled were left out, so the total was understated. It looked complete. It wasn't, and only a review against what the total should roughly be caught it.
Facts that only a person can supply. Whether a large payment was a loan or settlement of an invoice isn't in the bank data. It's in someone's head or an email thread. No amount of rules or AI gets you there without asking.
Where the line sits now
|
The helper assembles
Reads the reconciliation export. Classifies by rule. Applies last week's corrections. Builds the draft cash view. Lists everything it couldn't place, and anything that looks like a duplicate or an unmatched transfer.
|
The review adds
Decides the exceptions. Checks totals against what they should roughly be. Spots the item that's technically correct but commercially wrong. Writes the "so what": what the cash position means for the next few weeks and what to do about it.
|
Here's the uncomfortable part for anyone hoping software replaces the senior review. What the helper produces is roughly what a good accountant or finance officer would hand you: the data collected, sorted and tidied. That's valuable, and it saves real time. But it's an input. It becomes a report someone can make decisions from only after a person with the context and the authority has looked at it, questioned it and said what it means.
Automation shrank the assembly from a couple of hours to minutes. It didn't shrink the review. If anything, the review matters more, because a fast, tidy-looking output is easier to trust than it should be.
Three things I'd tell anyone starting this
Make the helper show its exceptions loudly. The most useful output isn't the cash view. It's the list of things the helper wasn't sure about. If that list is empty, be suspicious, not relieved.
Keep corrections as data, not as edits. When you fix a classification, the fix should be stored so the next run applies it. Otherwise you're re-doing the same review every week and wondering where the time saving went.
Never let the helper post anything to the ledger. It reads and proposes. A person accepts. The moment it writes on its own, every miss above stops being a line on an exceptions list and starts being a wrong entry in the books.
So, how are you using it?
I've landed on "automate the assembly, keep the judgement". I don't think that's the final answer. The tools are improving quickly, and some of the misses above may be handled well within a year or two. But today, for cash flow, I'd rather have a fast draft and a careful review than a finished-looking report I can't fully trust.
I'm genuinely curious where others have drawn the line. Have you got a fully automated cash flow or reconciliation process that you trust without review? Or did you end up somewhere similar? Let me know in the comments.
Note: The scenarios in this post are based on real experiences — mine and those shared by colleagues across the sector. Details might have been changed and modified slightly to protect confidentiality, and mostly used 1st person perspective for convenience.
This post is general commentary and does not constitute tax or accounting advice. Always seek independent professional advice before acting.
Want the speed without losing the review?
We build rule-based helpers around your existing accounting system and pair them with senior review, so your cash view arrives faster and still means something. Start with a free Finance Function Health Check. PFL provides senior-level outsourced finance, management reporting, and AI automation for Australian NFP, NDIS, and SME organisations.
Book your free health check →
Comments
Post a Comment