Anyone who gives you a figure before asking what the thing does is guessing, and the guess will be high, because guessing low is how people lose money.
What can be said usefully is what you are actually paying for, which parts continue after the build, and which five questions move the number more than anything else. With those, a quote stops being a mystery and starts being checkable.
The four things you are buying
Working out what it should do. Consistently underestimated and consistently the difference between a useful tool and an expensive one. It is also the part you can make cheaper yourself, by turning up knowing how the process actually runs rather than how it is supposed to.
The build. The visible part, and rarely the largest. Most small internal tools are a handful of screens over a database, and the screens are not the hard bit.
Somewhere to run. Hosting, a database, a domain if it needs one. For something modest this is a small annual figure rather than a monthly worry, and unlike per-user licensing it does not grow when more people use it.
Keeping it alive. The one that gets left out of comparisons. Software does not rot on its own, but the ground moves underneath it: security updates, a supplier changing something, the business changing how it works.
The five questions that move the number
- Does it talk to anything else? A tool that stands alone is straightforward. One that has to stay in step with your accounting system is a different job, because now two systems have to agree forever.
- Who uses it? Internal staff who can be shown how it works, or the public, who cannot. Anything customer-facing carries design, accessibility and abuse-handling that internal tools do not.
- What happens if it is wrong? A tool that mislabels a job costs an apology. One that miscalculates money or touches health data costs considerably more, and the care taken has to match.
- How many exceptions are there? The real killer. “Except for Tuesdays”, “except for that one supplier”, “except when Mary does it”. Each one is a branch, and businesses always have more than they remember.
- Does it replace something, or sit beside it? Replacing means migrating existing data, which is regularly larger than the build itself, because real data is messier than anyone expects.
Question four is the one worth preparing. Write down the exceptions before anyone quotes. It will produce a better price and a better tool, and it is free.
The comparison that actually matters
A build is a one-off cost with small running costs. Licensed platforms are the opposite: little or nothing to start, then a charge per person, every month, forever.
Those cross over, and where they cross depends almost entirely on headcount. Twelve people on a licensed automation that reaches outside Microsoft costs a shade under six thousand euro over three years, before anyone builds anything. That is a real, published figure and it is a fair yardstick to hold a build quote against.
Compare over three years, not one. A single year flatters the subscription, and almost nothing gets replaced after twelve months.
Where the money actually goes wrong
Rarely the build being underpriced. Three other things.
Scope arriving in instalments. Each addition is reasonable on its own and nobody re-quotes, so the total drifts past what anyone would have agreed to at the start. Fixed price with a written scope solves this, and the discipline it imposes on the buyer is half the benefit.
Nobody owning it afterwards. A tool with no named owner gets neglected until it breaks, and repairing neglect costs more than maintaining it would have.
Building something that already exists. The most expensive mistake available. An hour searching properly for an existing product is the cheapest hour in the whole exercise, and there are good reasons not to build at all that are worth reading before you commission anything.
Three situations, worked through
An internal tracker replacing a shared spreadsheet. Few screens, one data source, internal users, few exceptions. The cheapest kind of build there is, and the one most often over-specified into something larger.
A customer-facing form that writes into a schedule. More expensive than it looks, because the public are involved. It has to work on every device, cope with people entering nonsense, and behave when two people book the same slot.
Replacing a system that already holds five years of records. The build is the small part. The data migration, the messy history and the period where both systems run at once are the real cost, and any quote that does not mention them has not thought about them.
Five things worth doing
- Write down the exceptions before asking for a price. The single highest-value hour available to you.
- Ask for the three-year cost, including hosting and support, not the build price on its own.
- Ask what happens when you want a change. Hourly, retainer, or a new quote each time. All are fine; not knowing is not.
- Ask who else could maintain it. If the honest answer is nobody, that is a real cost even if it never appears on an invoice.
- Search for an existing product first. Properly, for an hour. If one fits, buy it.
Common misconceptions
- “Custom means enterprise prices.” Custom means built for you. A small internal tool and a company-wide system are both custom and are not remotely the same purchase.
- “Once it is built, it is done.” Nothing that runs is ever finished. Budget something small and ongoing rather than nothing and a shock.
- “A fixed price protects us.” It protects you from drift, not from having asked for the wrong thing. The scope is what protects you, and the fixed price is what enforces it.
- “Cheaper quotes are cutting corners.” Sometimes. More often they have understood a smaller problem, which is worth checking before assuming either way.
The honest summary
The number depends on the answers to five questions, and anyone quoting before asking them is pricing their uncertainty rather than your problem.
What you can rely on is the shape. A build is a one-off with small running costs and no per-person charge, which is why it improves relative to licensing as more people use it. Below a handful of users it is usually the wrong answer. Somewhere above that it stops being.
If you have a quote in front of you, or a process you suspect might need one, describe what it does and where the exceptions are. Half the time the answer is that something off the shelf already does it, which is a cheaper thing to hear early than late.
Common questions
Why will nobody give me a price up front?
Because the same one-line description can be a week of work or three months, depending on what it connects to and how many exceptions exist. A price given before those are known is padded to cover the worst case, which usually costs you more than the conversation would have.
What should ongoing costs actually cover?
Hosting, security updates, keeping it working when something it depends on changes, and someone to contact when it does not. Changes to what it does are usually separate, and it is worth having that stated rather than assumed.
Is it cheaper than paying per user?
It depends on headcount and on how long the thing lives. Licensing costs little to start and never stops. A build costs more to start and then mostly stops. Compare over three years at your real number of users, and the answer is usually obvious.
What is the smallest thing worth building?
Smaller than most people assume. A single screen that replaces a shared spreadsheet and stops two people overwriting each other is a genuinely worthwhile build, and it is a much smaller job than the word “app” suggests.