Back to Blog
Strategy26 September 20267 min read · 1,627 words

Custom Ecommerce Development: Configure, Extend or Rebuild?

N7

No7 Engineering Team

Growth Architecture Unit

Strategy: Custom Ecommerce Development: Configure, Extend or Rebuild? (illustration)

Custom ecommerce development is worth its cost in three places: pricing rules that depend on data the platform does not own, integrations with systems such as an ERP or warehouse, and checkout logic. If a native setting or a well-built app handles the workflow without slowing the storefront, configure it instead of building it. Write code only when a platform limit blocks how you take orders or price them.

The examples below use Shopify and BigCommerce, and the same configure, extend or rebuild question comes up on other hosted platforms.

Where does custom ecommerce development deliver a real return?

Custom code is justified when it removes a platform limit in checkout rules, pricing that depends on ERP data, or warehouse and ERP synchronisation. Outside those areas it mostly adds code you have to maintain.

Custom ecommerce development is code you own (an app, an integration service or a checkout extension) that meets a business rule the platform settings cannot. Code you own has to keep up with platform changes, so spending it on commodity presentation such as carousels or blog layouts buys maintenance, not advantage.

Start with these three categories:

  • Checkout rules: stopping an order that breaks a rule, such as a maximum quantity per customer or a product that cannot ship to a region.
  • ERP-dependent pricing: credit limits, contract prices or payment terms held outside the platform, beyond what native B2B price lists cover.
  • System synchronisation: keeping orders, stock and customer records in step with an ERP, a warehouse management system or a product information system.

When to configure native settings and vetted apps

Configure when native settings or a vetted app already model your catalogue and checkout flow. Configuration keeps you on the platform's upgrade path and costs the least to launch.

A standard retail model rarely needs code. Collection discounts, international markets and shipping profiles are admin settings on both platforms. Where your plan supports B2B, Shopify's B2B features add trade price lists without code. A reviews app or a transactional email tool solves a narrow problem with little setup.

The risk with configuration is app sprawl. When a team installs apps to avoid development, the storefront gathers overlapping script tags, leftover data and monthly fees. Two review widgets and a tracking script nobody uses can slow mobile rendering before the customer reaches checkout. Configuration is only the cheaper option while the app list stays short and audited.

For project planning across platforms, read our overview of ecommerce scoping and delivery before committing budget.

When to extend using custom apps and platform APIs

Extend when you need your own logic inside the platform but do not want to host a commerce engine. You keep the platform's checkout and hosting and change behaviour only at the points the vendor exposes.

On Shopify, Shopify Functions run your code inside checkout. They cover discount logic and cart and checkout validation, which blocks an order that breaks a rule. Delivery customisation renames, sorts or hides the delivery options on offer, and payment customisation hides or reorders payment methods. Per Shopify's API availability note, custom apps using Function APIs are limited to Shopify Plus stores. Public App Store apps that contain Functions work on all plans.

Checkout UI extensions add your own interface to checkout. On the information, shipping and payment steps they are available only to Shopify Plus stores. Extensions on the Thank you and Order status pages work on every plan except Starter. Structured data lives in metafields and metaobjects. On BigCommerce, the REST Management API lets you sync orders, inventory and customer records with outside systems without touching storefront code.

For the cost side of this layer, see our breakdown of Shopify custom app development cost, and for deployment patterns, our review of Shopify Functions in production.

The ongoing cost of extending is API upkeep. You work within rate limits and webhook retry rules. Shopify also releases a new API version every quarter and supports each stable version for at least 12 months, so budget for a scheduled upgrade rather than an emergency one.

When to rebuild, decouple, or replatform

Rebuild or decouple only when a platform limit stops the business model working. Typical cases are several brands that need one storefront the platform cannot model, or a data model the platform cannot represent.

A headless storefront such as BigCommerce Catalyst or Shopify Hydrogen lets a team build its own frontend. It can also merge regional stores behind one interface or release frontend changes apart from the backend. A multi-vendor marketplace or a product configurator can go further and need a custom backend, for example on an open-source engine such as Medusa.

The cost teams often miss is hosting. Hydrogen can deploy to Oxygen, Shopify's edge hosting, which keeps hosting off your team. A frontend you host yourself moves caching, CDN setup, session routing and zero-downtime releases onto your engineers, and a traffic spike becomes your on-call problem rather than the platform's.

If a platform move is on the table, read our guide to BigCommerce development costs in the UK before signing a multi-year contract.

A framework for choosing between configure, extend, or rebuild

Configure by default, extend when a business rule touches checkout or an integration, and rebuild only as a last resort. Price the maintenance before you write any code.

Architecture Decision Matrix

ApproachBest ForPrimary MechanismMaintenance Profile
ConfigureStandard catalogues, native B2B price lists, fast launchAdmin settings, vetted appsVendor updates, no hosting
ExtendERP-driven pricing rules, integrations, checkout rulesShopify Functions, Management APIs, custom appsMiddleware upkeep, API version upgrades
Rebuild / DecoupleMulti-brand frontends, data models the platform cannot representHeadless frameworks (Catalyst, Hydrogen), custom APIsFrontend hosting unless on Oxygen, monitoring

Test each new requirement in this order:

  1. Check native settings: can admin settings, metafields or built-in B2B features meet the requirement with no third-party code?
  2. Check vetted apps: does a reputable app solve it without adding render-blocking JavaScript to the storefront?
  3. Check extension points: can a Function, a checkout extension or a webhook consumer carry the logic?
  4. Keep integrations outside the store: put ERP and warehouse logic in a small service of its own, so checkout stays on the platform.
  5. Rebuild only when blocked: replatform or decouple only when the data model or checkout itself blocks revenue.

Two worked examples for pricing and integration requirements

Two common requests show how the order above plays out: one is a pricing rule, the other is an integration.

Take a wholesaler that needs quantity breaks per trade account. Discount codes handle this poorly. Shopify's B2B catalogues attach a price list and quantity rules to each company location, so the configure route needs no code where your plan supports B2B. The extend route starts only when a rule depends on ERP data, such as a credit limit. Functions cannot call outside systems by default: Shopify grants network access only to custom apps on Plus and Enterprise stores, on request. On Shopify Plus, a custom app syncs each account's limit from the ERP into a metafield. A validation Function reads it and blocks checkout when the order would exceed it. Rebuilding the storefront for wholesale pricing is not worth it.

Consider a merchant whose warehouse system accepts only fixed-width files over SFTP every two hours. The platform publishes order events as JSON webhooks over HTTPS, so something has to translate. Check first whether a marketplace export app can write the file on a schedule. If not, the extend route is a small worker on Cloudflare Workers or AWS Lambda. It consumes order webhooks, batches them and writes the file to the SFTP server. A platform migration is unnecessary because the problem sits entirely in the middleware.

RequirementRouteTechnical MechanismWhy
Trade account quantity breaksConfigureB2B catalogue with price list and quantity rules (B2B-capable plan)Native, no code to maintain
ERP credit limit at checkoutExtendCustom app (Shopify Plus) syncs limit to a metafield; validation Function blocks checkoutThe limit originates in the ERP
Legacy WMS SFTP exportExtendWebhook consumer and SFTP workerFile format lives outside the store
Product reviews on the storefrontConfigureVetted app with theme blocksA custom review engine adds nothing customers notice

What a scoped custom build actually contains

A scoped build has a written specification with testable acceptance criteria, staging environments, a repository you own with automated tests, and agreed maintenance terms. A vague scope is how budgets drift.

Five parts belong in every scope:

  • Architecture specification: data models, data flow diagrams, webhook retry handling and API rate-limit budgets.
  • Acceptance criteria: testable requirements for the normal path and the edge cases, including timeouts and invalid payloads.
  • Staging and sandbox environments: development stores and middleware environments that mirror production.
  • Repository ownership and CI/CD: your own Git repository with automated tests and repeatable deployments.
  • Maintenance terms: who upgrades API versions, applies dependency security patches and watches uptime, and on what schedule.

Without written acceptance criteria, nobody can say when an integration is finished, and edge cases surface later as support tickets.

The short version

Custom code belongs where it protects margin or connects systems the platform cannot reach on its own. Before commissioning any work, list the apps you already run and remove the ones nobody uses, note exactly where each workflow fails, and write acceptance criteria for the fix. Then set up a development store or sandbox, map the data flows between the store and your ERP or warehouse, and agree who owns API version upgrades. That sequence usually shows whether you need a setting, an extension or a rebuild before any money is spent on code. If you would rather have this handled than scoped, that is what our ecommerce development work covers.

Frequently Asked Questions

The questions buyers and engineers ask us most about this topic.

When does custom ecommerce development make sense over standard apps?

Custom development makes sense when a business rule touches checkout, depends on ERP data such as a credit limit, or needs an integration no maintained app provides. Catalogue display, basic discounts and native B2B price lists are settings to configure, not code to build.

What is the difference between extending a platform and rebuilding headless?

Extending uses native APIs, webhooks, and extension points like Shopify Functions to run custom logic inside the hosted platform. Rebuilding headless replaces the storefront with your own frontend, such as Shopify Hydrogen or BigCommerce Catalyst. That gives more frontend control; Hydrogen can run on Shopify's Oxygen hosting, while a frontend you host yourself makes caching, CDN setup and uptime your team's job.

What are the biggest pitfalls when scoping bespoke ecommerce development?

The biggest pitfalls are vague acceptance criteria, no budget for API version upgrades (Shopify releases a new version every quarter), and custom code for commodity features that standard apps already handle. Clear specifications with explicit error handling and rate-limit budgets prevent scope and budget drift.