Engineering and commercial decisions

When to Build Custom Software Instead of Buying SaaS

Compare a purchased product and bespoke development against workflow fit, integration effort, ownership and long-term operating cost.

Describe the non-negotiable workflow

Before you compare products, write down what must happen for one real transaction to succeed. For a distributor portal, that might mean showing regional prices, getting approval before an order is placed and applying account-specific credit rules. Include who makes each decision, what they can see and what happens when approval is refused.

We would use that same example in every product demonstration. Ask the vendor to walk through an order that needs approval, then change the account or region and try again. A polished demonstration of placing a standard order leaves these harder questions unanswered.

Separate business requirements from habits inherited from your current spreadsheet. If staff copy an order number between two sheets, the requirement may be that both teams can identify the order; copying it by hand need not survive the change. That distinction gives you more room to use an existing product without losing the part of the workflow that matters.

Compare the complete operating model

Put the purchase and build options beside the same list of costs and responsibilities. For SaaS, include setup, integration, data migration, administrator time, support, required add-ons and the effort of leaving the platform. For a custom build, include ongoing maintenance, infrastructure, security updates and a person responsible for its operation. Subscription fees and development costs alone do not show what either option will take to run.

For the distributor example, ask who will maintain regional prices and account permissions after launch. If a purchased product needs a separate integration, include the work of maintaining that connection. If you build the portal, decide who staff will turn to when an order cannot proceed. These responsibilities belong in the comparison even where you cannot yet attach a reliable price to them.

Keep uncertain costs visible as questions to resolve. For example, “Does the quoted subscription include the approval feature?” is more useful than assuming it does. Use the same comparison period for both options, and show setup costs separately from recurring costs so a low first payment does not obscure later work.

Make a reversible decision first

Test the requirement most likely to rule an option out before committing to a larger implementation. A configured trial may show whether a purchased product can handle your permissions; a limited prototype may help you examine a custom workflow. A purchased core with one custom integration may be enough, while repeated workarounds around a business-critical permission model can justify bespoke development.

For the portal, a useful trial would follow one order from the correct regional price through approval and the account’s credit rules. Agree in advance which behaviour must work, who will check it and the date for the decision. Also define what would make you stop: if a required permission cannot be enforced, which alternative will you assess next? This keeps a promising demonstration from becoming a commitment before the important requirement has been tested.

Apply this to your brief

Bring your current workflow, a representative example and the decision you need to make. A marked-up spreadsheet or a short account of a difficult order can be a useful starting point. Include the exceptions staff currently handle by hand and any product you are already considering, so we can focus the discussion on the gaps that could change your choice.

Explore Willan’s consulting approach, review development services or discuss your project.

Planning guidance from Webvelopment Editorial. Confirm platform requirements and project assumptions before committing budget.

Let’s move things forward

Start a conversation

Tell us what you are working towards. We’ll help you find a practical next step.

Discuss your project