Custom software vs off-the-shelf: what five years actually costs
Over five years the licence fee is rarely what decides the answer. KodDelta models the comparison on seat count, seat price, annual uplift, configuration, change requests, the manual work a package leaves behind, and maintenance. In our worked 25-seat model the package totals about $209,000 and an owned custom system about $33,000.
Most custom-versus-package arguments are won by whoever picks the assumptions. This page picks them out loud. Every number below is an input you can replace with your own, and the sections after the model show which inputs actually change the answer.
Two mistakes that make the comparison meaningless
Comparing year one. A subscription spreads its cost over months; a build is paid up front against milestones, so over twelve months the subscription always looks better. Operational software stays in place for five to seven years, and that is the horizon the decision has to be made on.
Comparing unequal scope. A packaged product may cover invoicing, stock, CRM, reporting and a mobile app, built over many years. Rebuilding all of it is not a project. The only fair comparison is between the package and the part of your work you would actually build — and if you use most of what the package does, stop reading and keep it.
The assumptions behind the model
| Assumption | Value used here | How to find your own number |
|---|---|---|
| Seats paid for | 25 | Your invoice, not your headcount. Count inactive seats too. |
| Price per seat per month | $90 | Total annual invoice divided by seats divided by twelve. |
| Annual price uplift | 8% | Compare this year's renewal against last year's. |
| One-off configuration | $9,000 | What you paid the implementation partner to set it up. |
| Change requests per year | $3,000 | Consultant invoices for new fields, reports and connectors. |
| Workaround labour | 30 hrs/month at $15 loaded | Ask each team to log spreadsheet hours for one week. |
| Custom build | $15,000 one-off | A quote for the subset of workflows you would replace. |
| Custom maintenance | 18% of build per year | The middle of our three tiers; see the maintenance guide. |
| Residual manual work | 5 hrs/month | Assume automation removes most, never all, of it. |
Worked five-year model at 25 seats
| Cost line over 60 months | Packaged SaaS | Owned custom system |
|---|---|---|
| One-off setup or build | $9,000 configuration | $15,000 build |
| Seat subscriptions (25 seats, $90, 8% uplift) | $158,400 | None |
| Change requests | $15,000 | Covered by the maintenance tier |
| Workaround labour | $27,000 | $4,500 residual |
| Maintenance | Inside the subscription | $13,500 |
| Five-year total | $209,400 | $33,000 |
| What you hold at the end | A renewal notice | Source code you own outright |
Under these inputs the difference is about $176,000 — a number only as good as the inputs, which is the point of the next section.
Change one assumption and watch the answer move
Each row below changes a single input and leaves the rest of the model alone.
| Change | Effect on the package side | Does the conclusion survive? |
|---|---|---|
| Seats drop from 25 to 8 | Subscriptions fall to about $50,700 | Yes, but the margin narrows sharply |
| Seat price is $35, not $90 | Subscriptions fall to about $61,600 | Yes, and workaround labour becomes the deciding line |
| Workaround labour is zero | Package total drops by $27,000 | Yes on cost, but this is the case for keeping the package |
| No annual uplift at all | Subscriptions fall to about $135,000 | Yes; uplift is a smaller factor than seat growth |
| Custom build is $40,000, not $15,000 | Unchanged | Yes at 25 seats, no at 8 seats |
Two inputs dominate everything else: how many seats you pay for and how much manual work the package leaves behind. The headline licence price barely moves the outcome by comparison. If you only measure one thing before deciding, measure the spreadsheet hours — the method is set out in the true cost of manual work.
A case where the package wins
A six-person consultancy runs client records, invoicing and time tracking on a $60-per-seat product and uses nearly all of it. Five years of subscriptions come to roughly $25,300, plus $2,000 setup and $3,000 of occasional configuration: about $30,300 in total. Building an equivalent system honestly costs $20,000 and produces about $42,500 over five years once maintenance and residual manual work are counted.
The package wins, and it is not close. Small team, standard process, high utilisation of the product — that combination beats a custom build every time, and we will tell you so during discovery rather than after the invoice.
Where off-the-shelf is the correct choice
- Statutory work. General ledger, payroll, tax filing and e-invoicing are legally defined and change with legislation. Packaged products track those changes for you. Do not rebuild them.
- Small teams with an evolving process. Below roughly ten people, and while the process is still changing every month, the flexibility of a subscription is worth its price.
- High utilisation. If you use most of the modules you pay for, the per-seat price is buying real work.
- Short-lived workflows. A process that will exist for six months does not deserve a build.
The hybrid pattern most companies end up with
The decision is rarely all or nothing. In practice, statutory accounting stays in the packaged product it belongs in, and the workflows that are specific to your business — production tracking, dealer ordering, field service, approvals — move onto custom modules that talk to the package through an integration. You get compliance from the vendor and fit from the build. How those connections are made in practice is covered on our integrations page.
Run the model on your own numbers
-
Pull the real invoice, not the list price
Take the last twelve months of subscription invoices, divide by seats and by twelve. Include seats nobody uses.
-
Log one week of spreadsheet hours
Ask every team to record hours spent working around the system. Multiply by the loaded wage, then by 52.
-
Count the modules you actually open
List which parts of the package are used weekly. That list, not the whole product, is the scope of any custom comparison.
-
Get a quote for that list only, then add the custom-side costs
Price the subset against the published bands, then add maintenance and residual manual work. A comparison that puts zero in those two rows is a sales sheet, not a model.
If you want the arithmetic done against your own invoices, send the numbers through the quote form, or read the decision framing on package versus custom first.
Frequently asked questions
Why compare over five years instead of the first year?
Because operational software stays in place for five to seven years. In year one a subscription looks cheaper, since the build is paid up front and the subscription monthly. From year two the subscription keeps compounding with headcount and annual uplifts while the build is already behind you.
What assumptions decide whether custom or off-the-shelf wins?
Seven: seats paid for, price per seat, annual uplift, one-off configuration, the yearly cost of change requests, the hours a month your team spends bridging gaps the package leaves, and your maintenance rate. Workaround labour moves the result more than the licence fee does.
What is workaround labour and how do you measure it?
It is the paid time staff spend exporting, cleaning and re-entering data because the package cannot do something your business needs. Ask each team to log the hours they spent in spreadsheets outside the system for one week, then multiply by the loaded wage and by 52.
When is off-the-shelf clearly the better buy?
When you use most of what the package does, when the process is standard and legally defined such as accounting, payroll and tax filing, when the team is small, or when the workflow will exist for only a few months. A package that genuinely fits is hard to beat.
Do I have to replace my accounting package to build custom software?
No. The common pattern is hybrid: statutory accounting stays in the packaged product and the workflows specific to your business run on custom modules connected to it. You keep compliance where it belongs and build only what the package cannot cover.
What does the custom column include over five years?
The one-off build, annual maintenance at 12%, 18% or 25% of build cost, hosting after the first year, and the residual manual work no system removes entirely. There are no per-user fees, and at the end of five years you own the code.
Let's talk about what you need.
The 30-minute discovery call is free and carries no commitment.