When Custom Software Actually Beats Off-the-Shelf
BSc (Hons) Software Engineering, Liverpool John Moores University. Has shipped Shopify migrations, custom POS systems, and AI automation builds for ecommerce and regulated-retail clients.
BSc (Hons) Software Engineering, Liverpool John Moores University. Has shipped Shopify migrations, custom POS systems, and AI automation builds for ecommerce and regulated-retail clients.
In this article
Most operational problems are solved problems — SaaS exists for a reason. Before spending six figures on a custom build, it's worth being honest about whether the problem is genuinely unsolved or whether the real issue is that the team hasn't fully committed to making an existing tool work.
CRM, project management, HR, basic inventory management, accounting — these are categories with mature SaaS products that have been refined over decades of real-world usage. The workflows they support are well-understood, the edge cases have been handled, and the vendor's engineering team is larger than yours. Buying is almost always the right answer here, even if the tool isn't a perfect fit, because the cost of customisation and maintenance for a bespoke build will outpace the savings from a tailored workflow within 18 months.
The discipline of defaulting to 'buy' also forces a useful clarifying question: if the existing tools don't fit, is it because the tools are wrong, or because the workflow itself hasn't been examined closely enough? In our experience, about half of the custom software requests we receive turn out, after a proper discovery process, to be addressable with a well-configured off-the-shelf product and a workflow change. The other half are genuinely custom problems — and those are the ones worth building for.
Workflow is genuinely non-standard, integration cost exceeds build cost, or the tool is a competitive differentiator. These are the conditions where the 'buy' default breaks down and a custom build becomes defensible.
The first condition — genuinely non-standard workflow — is the most common. This isn't 'our team does things slightly differently from how the software expects.' That's a workflow problem, not a software problem. Genuinely non-standard means the data model itself is different. A lighting retailer with variant-level stock tracking across finish, wattage, size, and compatibility combination has a data problem that most inventory systems can't model without painful workarounds. A pharmacy with batch-level expiry tracking and controlled-substance reporting has compliance requirements that are architecture decisions, not configuration options. When the off-the-shelf tool requires you to distort your data model to fit its assumptions, you're paying for the wrong tool.
The second condition — integration cost exceeding build cost — is less intuitive but worth calculating. When you need a CRM to talk to three internal systems, an ERP module, a logistics platform, and a customer portal, the middleware cost (licensing, maintenance, failure handling) can legitimately exceed the cost of a single bespoke system that owns the whole surface area. Run the numbers over three years, not one.
The third condition — competitive differentiation — applies when the tool itself is part of your product advantage. A custom client portal that gives your customers visibility into their project status, a proprietary quoting engine that reflects your pricing logic, a workflow tool that embeds your methodology — these are cases where buying a generic tool means competing on generic capability.
Walking through the reasoning on a POS build we scoped as custom internal tooling instead of recommending an off-the-shelf system. The client was a multi-branch lighting and décor retailer. They had tried Square, Lightspeed, and a Shopify POS setup. Each one failed at the same point: variant complexity.
Their products have four defining attributes — finish, wattage, size, and fixture compatibility — and the combinations aren't just variations on a single product. A 'warm white 7W GU10 dimmable for downlight' is a different stock unit from a 'warm white 9W GU10 non-dimmable for track fixture,' and these differences drive purchasing decisions, return rates, and installation outcomes. Lightspeed's variant model couldn't handle the fourth attribute without workarounds that created inventory errors. The workarounds created errors that required manual correction. The manual corrections created staff training overhead that was measurable in FTE hours per week.
After mapping the actual workflow — how staff look up products, how they handle exchanges, how the purchase order system interacts with bin-level stock — it was clear that the right answer was a custom POS built around a data model that matched how the business actually ran. The build took 16 weeks. The inventory error rate dropped to near zero. Staff training time for new hires halved because the system described the products the way staff described the products, not the way a generic inventory system expected them to be described.
Custom software has an ongoing cost — budgeting for it honestly up front. The build cost is the visible number. The ongoing cost is the one that determines whether a custom build was actually a good decision over a three-year horizon.
A custom system needs to be updated when the operating environment changes: new browser versions, dependency updates, security patches, API changes from third-party integrations. It needs feature work as the business evolves. It needs a team or an agency that understands the original architecture to make changes without introducing regressions.
Our rule is to assume ongoing maintenance costs of 15–20% of the original build cost per year. A $60,000 build should be budgeted at $9,000–12,000/year for maintenance, updates, and incremental improvements. If that number is unacceptable, the custom build probably wasn't the right answer — a SaaS subscription that includes vendor maintenance and updates is almost certainly cheaper over the same period.
When the ongoing cost is acceptable, and the conditions for a custom build are genuinely met, the result is a system that fits the business precisely, evolves with it, and doesn't require the business to reshape its operations around someone else's assumptions about how it should work.
Start with three questions: Does the off-the-shelf option require you to distort your data model to fit its assumptions? Does the integration cost of connecting multiple tools exceed the cost of building one system? Is the tool itself a source of competitive advantage? If the answer to any of these is yes, a custom build is worth scoping seriously.
Internal tools and single-workflow automations typically land between $15,000 and $40,000. Purpose-built CRMs and ERP modules range from $40,000 to $100,000. POS systems for retail environments typically run $50,000 to $120,000 depending on branch count, hardware integration, and compliance requirements. These are build costs — budget an additional 15–20% per year for ongoing maintenance.
Simple internal tools: 8–12 weeks. CRMs and pipeline tools: 12–18 weeks. ERP modules and multi-branch POS systems: 16–24 weeks. SaaS platforms with multi-tenant architecture: 20–36 weeks. These timelines assume a defined spec — discovery and workflow mapping typically add 2–4 weeks before build begins.
Work with us
We build Shopify stores, custom software, and AI tools for ecommerce brands — remote, worldwide.
Related reading
Custom software costs: internal tools $10k–$30k, CRMs $30k–$80k, POS systems $40k–$120k, SaaS platforms $80k+. What drives the number and how to scope before requesting quotes.
Read moreMost agency selection advice focuses on portfolios and pricing. The questions that reveal whether a team will actually deliver are different.
Read more