INSIGHTS
How a National Fire Protection Company Found $300K in Its Own Contracts and Books
A workshop became a custom app their inspectors use on site, and a data project across 1,000+ contracts. We found more than $300,000 in work that was done and never billed, and services billed with no contract on file.

Our journey started the way many of our partnerships do: a curious discovery call, a specific request to train the team, and a four-hour workshop on a Saturday in January to do it. The AI Fundamentals workshop covers the basics of what AI can do, what it should not, how to find your best uses for it, and a few tricks that inspire the team to keep thinking for themselves. A month later the company came back with a specific idea. They wanted an app their inspectors could use on site, during assessments, with the client standing right there. The goal was to trim the turnaround time on assessments from weeks to hours.
So we scoped it and we are building it. The custom front end and the experience is becoming an edge. Instead of notes that turn into a report weeks later, the inspector has a clean app experience, gets the information they need on site, and the report goes out in a fraction of the time. For a company that competes on service, and carries the liability in the meantime, that is a real wedge.
The timing helps. The company is moving its field and quoting work off Jobber and HubSpot and onto Simpro, and Rob is leading that migration. Our app connects to Simpro through its API, so the platform handles the system-of-record work while the inspectors get an experience built around how they actually work on site.
Getting to the data
An app like that is only as good as the information behind it, so the real work started with the data. The first challenge was practical: getting years of agreements off the local NAS drive they lived on. We set it up for local ingestion, which is our standard practice. We do not want to hold a client's data, and if we can save them the $4,000 to $5,000 a month it costs to rent a server, we do.
What we looked at
We ingest everything we are legally clear to use, and nothing we are not. With no direction to touch the HR files, we left them alone and focused on the commercial record: the agreements themselves, more than 1,000 active service contracts, the related orders in Jobber, and the financial extractions from QuickBooks Online. Then we reconciled what we could. Contract against the work that was done, work against the invoice, invoice against the cash that came in.
The reconciliation matters because the data drifts. Every contract carries pricing, scope, escalation clauses, renewal terms, and obligations tied to inspection and maintenance. Those contracts get signed, filed, and then typed by hand into the field platform, the CRM, and the accounting system. Pricing changes do not carry through. Scope changes get lost between versions. Deficiencies get written up and stall. The billing system says one thing and the signed contract says another. No one was checking, so we built a pipeline that does, and it flags anything that does not line up.
What we found
Across the book we found more than $300,000, in two forms. The first is work that was agreed, performed, and never billed. Much of it is still collectible. The second is services being invoiced with no contract on file, which means the annual assessments those contracts are supposed to trigger can slip their schedule and go unbilled. The company's own accountant had already noticed the year-end books did not balance. No one had audited why. This exercise found it.
That total does not include the work that was agreed to and never done. In this business that is the bigger problem. When a contract says work will be performed and it never happens, a building is not protected the way the owner believes. If there is a fire, that gap lands on the company and its insurers, and the fines and liability can run into the millions.
What it exposed about the business
The process surfaced more than numbers. As we asked questions, the business saw some turnover, which we believe was unrelated. It made a real risk plain. Much of the institutional history lives in a few people's heads, not in any system, and when they leave it goes with them. A clean, shared source of truth is what protects against that. On the upside, the sales leads are glad to have cleaner data, and they are keen to pilot use cases that help their field people keep the CRM and their tasks up to date.
Where it stands
We ran this on a retainer plus success fee, which is how we structure a mandate when the scope is clear, the business is large, and aligning incentives is best for everyone. The $300,000 is the headline, but it is a fraction of the value, and the arrangement made this a win for both sides.
Where things stand now:
- The company has a real AI development budget, funded out of the money the work found.
- The books are much closer to reconciling.
- The foundation of a Postgres or SQL source of truth is in place and ready to build on.
- The next step, filing the agreements properly, is being confirmed this week.
- With HR and legal approval, there is far more clarity to come from ingesting the company's calls and old emails and mapping those notes back to the tasks and agreements they belong to.
The budget of found revenue is what makes the deeper work possible, which yields better foundations and starts to eliminate these problems for good. On top of it we run an ongoing oversight service we call the eye in the sky, watching the data integrity, the outputs, and how the tools get used, so transparency and accountability stay high.
What it was worth, and the playbook
The value is the $300,000 found, plus the opportunity cost that no longer repeats, plus the liability and fine risk that could have run into the millions. Put together, the return on this kind of mandate is visible and countable, and that clarity is the real lesson.
So here is the playbook. Start with the clear wins and the clear risks. Prove the return. Then use that return to invest in what the business actually needs, so everyone knows exactly what they are getting for the money.
If you want the lessons we are taking from this as we go, we wrote those up separately, here. And if you run a fire protection or inspection company and want to see how we approach this kind of work, start here.