When off-the-shelf SaaS stops being cheap
Per-seat SaaS hides its cost in workarounds and exports; custom tools hide theirs in maintenance. How to fill in the four terms of the break-even.
The comparison most companies run is the monthly fee against a build quote, and both numbers are wrong. The subscription's real cost is the fee plus everything the misfit generates: the workarounds, the export rituals, the spreadsheet that grew up beside it. The custom tool's real cost is the build plus maintenance for as long as it runs. The break-even only has an answer once all four terms are filled in.
The short version: a custom internal tool starts winning when the misfit produces ongoing work and the seat count scales with headcount rather than with value delivered. It keeps losing when the tool basically fits, because a build is paid once but maintenance is paid forever, and a comparison that leaves maintenance out is a sales pitch, not a comparison.
Where the subscription's cost hides
The fee is the visible part. It arrives on one invoice, one line, easy to budget. The rest arrives as payroll and never gets attributed to the tool.
Workarounds are the first hidden line. When a platform's model of the work does not match the work, the process bends to fit the tool, and every bend is labour: the dummy record created so the system will allow the next step, the field repurposed to mean something the vendor never intended. Each contortion is small. They recur weekly, and they compound as the team grows.
Exports are the second. The data is yours in the legal sense and the vendor's in every practical one. If answering a question means downloading a CSV, cleaning it, and joining it to another CSV from another tool, that cleanup is a recurring cost of the subscription, billed in hours instead of currency.
Seats are the third. Per-seat pricing charges for access, not for value. The operations lead who lives in the tool and the warehouse colleague who checks one screen twice a day cost the same. When the price scales with how many people you employ rather than with what the tool does for you, every hire silently raises the bill.
Where the custom tool's cost hides
The build quote is the visible part here, and the overselling starts with what gets left off it.
A custom tool is a small product you now own. Dependencies age, hosting needs attention, the login provider changes its API, and the person who can fix it has to exist somewhere, in house or on a retainer. The workflow the first version encoded will also drift, because workflows do, and a tool that cannot follow becomes the next thing people work around.
None of that means custom is a bad idea. It means the honest comparison puts a recurring maintenance line next to the build quote, the same way the subscription has a fee. If someone quoting you a build waves that line away, they are selling the first year and leaving you the rest.
Signals you have outgrown the tool
- The written procedure is mostly workaround. When onboarding a new hire means teaching the tricks before the work, the tool is dictating the process instead of serving it.
- A spreadsheet has become the real system. If the honest answer to "where do we actually check this?" is a spreadsheet fed by exports, the SaaS has been demoted to a data-entry frontend for the thing you actually built yourselves.
- Seats scale with headcount, not value. The bill goes up every time you hire, while most of the new seats open one screen.
- Your own data sits behind an export button. You generate it, but using it beyond the vendor's built-in reports means the CSV ritual, every week, forever.
Signals you have not
- The tool fits and the pain is adoption. If the workflow matches and people just have not learned it, a custom tool inherits the same adoption problem at a much higher price.
- The volume is small. A contortion performed three times a month is cheaper than any build, and it will stay cheaper for a long time.
- The misfit is at the edge. One missing report or one absent integration can often be a small script that sits beside the SaaS rather than a replacement for it. That is the cheapest custom software there is.
Running the number
Count the hours the workarounds and exports consume in a month, price them at real wages, and add the fee. That is the subscription's true monthly cost. Against it, put the build quote spread over the years you would honestly expect the tool to live, plus a maintenance line that is not zero.
If the custom tool only wins when maintenance is pretended away, keep the subscription. If the subscription only wins when the workaround hours are ignored, you already have your answer.
We build internal tools, and the first thing we will tell you is which side of this break-even you are on, even when the answer is to keep what you have. See internal tools.