Custom Software vs Off-the-Shelf: When Building Pays Off, and When to Buy
Written by Usama Afzal, founder and director · Published
Buy first. Build custom software only when the way you work is itself what sets your business apart, or when the cost of joining tools together keeps growing and nobody owns it. For everything else, an existing product wins on speed, support and risk. We build bespoke systems for a living through our web application development work, and we will say so plainly when buying is the better answer.
Six reasons to stop thinking about building
If any of these is true, buy, configure or automate instead. They are disqualifiers, not preferences.
- The process is standard. Payroll, bookkeeping, email, file storage and calendars work the same way in most businesses. Nobody wins customers because their invoicing screen is unique.
- You cannot yet describe the process. Software written from a vague idea records the confusion and charges you for it. Run the work with a spreadsheet and a checklist first.
- Nobody on your side can own it. Someone must decide what changes, test releases and chase fixes. If that person does not exist, the software drifts.
- A rule or regulation attaches to the function. Where a certified, audited product exists for a regulated task, a bespoke replacement takes on duties you may not be able to carry.
- The product already does it and you have not tried its settings. Unused features are more common than missing ones.
- The goal is vague. "A better system" is not a goal. "Sales staff stop re-typing quotes into a second tool" is.
The build-versus-buy scorecard
This is a rule of thumb that we use when scoping, not a formula. Answer each row for your own business, then count where the answers fall.
| Question | Answer that points to buying | Answer that points to building |
|---|---|---|
| Is the process a source of advantage? | No, competitors do it the same way | Yes, it is how you win work or serve people |
| How well do products fit? | One product covers the core flow with settings changes | Every product needs a workaround for the core flow |
| How many systems must share data? | One or two, with a maintained connector | Several, each with its own copy of the customer |
| Who sees the data? | Staff only | Customers or partners, with different views and permissions |
| How often does the process change? | Rarely | Often, and changes need to ship in days, not vendor roadmaps |
| Do you need to export or own the data model? | Standard exports are enough | Reports and rules depend on how the data is structured |
| Can you maintain software over years? | No dedicated owner | A named owner and a budget line for upkeep |
| How bad is a vendor change? | You could switch with a few weeks of effort | A price or feature change would damage the business |
Our reading: if the buying column wins most rows, buy. If the building column wins the first row and at least two others, a build is worth scoping. A split result usually means a middle path, covered below.
Run the scorecard with the people who do the work, not only with whoever signs the budget. Ask each of them to name the single step that wastes most of their week. If the answers point at the same step, that step is your candidate for building. If they point at many different steps, the problem is probably habits or training, and software will not fix it.
The integration tax
The cost people forget is not the licence. It is the work of making several products behave like one. We call it the integration tax, and it is paid in these ways:
- Mapping. Each tool calls the same thing something different. Somebody decides which "customer" is the real one.
- Duplicates. Two tools hold the same record, and sooner or later they disagree.
- Failure handling. A connection that usually works still needs someone to notice the day it silently stops.
- Change. Vendors alter their interfaces, retire features and change sign-in rules. Your connection breaks on their schedule.
- Ownership. When the person who built the automation leaves, nobody knows why it exists.
Buying is cheaper while the tax is small. Building becomes attractive when the tax is large, recurring and growing, because one system with one data model pays it once. It does not disappear: custom software still has integrations with banks, couriers or email providers. But you choose where the seams are. A practical test: draw your tools as boxes and every place data is copied, by hand or by connector, as a line. Mark each line with the person who would notice if it broke. Lines with no name beside them are where the tax is being paid unseen.
A hypothetical walkthrough
Consider a typical small business that installs and services equipment. This is a hypothetical example with no figures and no real client behind it. Staff take enquiries by phone and email, a spreadsheet tracks jobs, accounting software sends invoices, and a separate calendar holds visits. They wonder about building a job-management system.
Row by row: the process is not a source of advantage for invoicing, so buy accounting. But the scheduling logic, which matches engineers to jobs by skill and location and tells the customer which time window to expect, is how they win repeat work, and no product fits it without workarounds. The connection between calendar, spreadsheet and invoices is where staff re-type data most.
The sensible answer is a split: keep the accounting product, and scope a thin custom layer that holds jobs and scheduling and pushes finished jobs to the accounting tool. Rebuilding the accounting side as well would add risk and upkeep for no gain.
The middle path: configure, automate, then build the thin layer
Most good outcomes follow this order.
- Configure. Use the product's own settings, fields and permissions properly.
- Automate. Connect products with maintained connectors or a workflow tool, and record who owns each connection.
- Build the thin layer. Write custom software only for the part that is yours, and leave commodity tasks to commodity products.
Building a thin layer does not start from nothing. Laravel's documentation, for instance, lists routing, validation, caching, queues and file storage as part of the framework, so a first version can reach people sooner than the same idea in raw code. If you would like a first working version to test the idea before committing to a full system, see our MVP development approach. If you plan to sell the software to others as a subscription, that is a different decision with its own concerns, and our AI SaaS development page covers it.
What a build quote should itemise
We quote in writing and do not publish prices, so use this list to compare any supplier:
- A scope document that names what is in the first release and what is deferred.
- Each integration on its own line, with the third-party account it needs.
- Roles and permissions: who can see and change what.
- Data migration from your current spreadsheets or tools, including who checks it.
- Testing, including how you will accept the work.
- Hosting and who pays the provider, with the account in your name.
- Ownership of the code, a repository you can access, and written setup notes.
- What upkeep after launch covers: updates to the framework and packages, fixes and small changes.
- How change requests are scoped and approved.
If a supplier cannot tell you how you would leave them, the quote is incomplete.
Where this advice is wrong
Buy first is wrong when you have already tried two or three products and each one forced a workaround on the same core step. It is also wrong when customers or partners need to log in and see their own data, since most off-the-shelf tools were designed for staff. And build is wrong if the main driver is wanting to stop paying subscriptions: that is a cost argument that rarely survives the cost of upkeep.
Next step
If your scorecard leans towards building, send a short description of the process, the systems involved and who uses it through the contact page. We will give you a written quote, and say so if buying would serve you better.
How we work: refund policy · terms of service · about Website Prism
Related Services