Collecting invoices for the accountants: three mailboxes, an e-invoicing platform, portals that never send anything by email and a checklist of twenty-odd items to tick off. Ninety minutes every single month. Too small a process to commission a system for, too tedious to live with. It was built in 2-3 working hours and costs around 42 cents a month.
This system was built right after another in-house project, the Fortress finance system. That result was surprising enough that the next target became a problem postponed for years: collecting invoices for the accountants every month.
A first attempt a few months earlier had failed. Our knowledge of the tools was far smaller back then, and the problem turned out to have more layers than it appeared to. Only the experience gathered while building the systems that followed made it possible to return and finish the job in a few hours.
We show this project openly, because it is an honest illustration of how far the break-even threshold has moved. The same person, the same problem, a different level of skill after several months of working with AI-Assisted Engineering.
The problem was never the number of documents, it was that the setup differs in every company. In a one-person business the invoices had scattered over the years across private and company mailboxes alike. Tidying that up is not an option, because some of the accounts serve private purposes as well and cannot be moved to a company address.
On top of that come the channels: some documents arrive through the national e-invoicing system, some by email, and some stay inside portals that require a login. A few systems never send an invoice at all, which is the hardest case of the three, because a missing document announces itself in no way whatsoever.
The starting point was unusual: a rule-based job stood no chance here. Rules are enough when documents arrive in a predictable shape, whereas here some invoices never arrive at all and others hide inside messages that look like ordinary confirmations. That is why the core of the system is a language model that reads the content of each message and works out what is missing.
The very list that used to be ticked off by hand became a file in the repository. Twenty-odd entries, each one knowing where to look for its document: in which mailbox, by which phrase, from which sender. One source of truth for the system and for the human alike.
The whole list in a single view. Every entry carries its own status, so what stands out first is whatever is missing: documents to fetch from a portal, invoices still expected and entries inactive in a given month. All screenshots come from the demo version, on sample data.
On the third day of the month at six in the morning the system wakes up in the cloud and collects the documents for the previous month. Nobody has to be present for that. A re-run on demand is available from the command line as well as from the portal.
Documents outside the checklist neither disappear nor slip quietly into the folder. They land in a queue together with the system’s recommendation, and the decision belongs to the human: approve, approve and add to the list permanently, or reject. The reason is concrete: some of the findings are private purchases, quotes or duplicates that are not a business cost at all.
When a train ticket is bought, the invoice sometimes arrives by email and sometimes does not, with no legible rule behind it. The model recognises the purchase confirmation itself, adds the journey to the list and looks for the matching invoice. Journeys for which it finds none go onto a separate list with a request to download the document from the portal, including those from earlier months.
This is the case an ordinary rule-based job cannot handle. A missing invoice produces no signal at all: no email, no file, no error. It can be detected only by understanding the content of another message and setting it against what is absent.
Once the review is done, the system arranges the complete set of documents on Google Drive in an agreed folder structure, split into costs and revenue, and then prepares a draft message to the accountants. The message waits in the mailbox, because sending anything to a person is always clicked by a person. The same rule holds across every system we build.
Every month carries its status, the number of costs and revenue documents collected and the date of the last run. The question “have I already sent the documents for May” no longer requires searching the mail.
The sequence was reconstructed from the project deployment log. Total effort came to 2-3 working hours. It is worth adding that this was the second attempt, because the first one, made a few months earlier, had failed.
The most interesting part of this project is not the ratio of hours saved, it is how low the barrier to entry turned out to be. Below are the outcomes and the test run against a month settled by hand earlier.
To find out whether the system could be trusted, we ran it backwards over a month that had already been closed by hand, then compared the result document by document with the folder handed to the accountants.
A conclusion that matters more than the hours saved: the manual work was being done correctly, yet it cost ninety minutes of focus and required checking things several times over. The system does the same thing repeatably, and shows the doubtful entries for a decision instead of settling them on the human’s behalf.
The accountants kept their own list of what should arrive and chased the missing documents. Sometimes twice a month, sometimes not at all. That correspondence has disappeared, because the complete set now reaches them the first time.
In my head this problem was unsolvable. Every company has a different set of tools, mailboxes and expenses, so an off-the-shelf solution does not exist, while building your own always looked out of proportion to the result. It took a few hours. We have dozens of processes like this one in our companies.
Usually a dozen or so, sometimes several dozen. Each one too small to commission a system for, and each one taking hours every month. The savings on the first fund the automation of the next, which is why it pays to start by working out where you lose the most. A free digital audit will point to at least three such areas, with no obligation on your side.
Book a free digital audit