Custom Software for E-Commerce: Beyond the Off-the-Shelf Store
Shopify and BigCommerce are the right answer for most stores. They are the wrong answer for stores whose business model depends on something those platforms cannot do.

Shopify powers over four million stores. For the vast majority of e-commerce businesses — direct-to-consumer brands, retail operations, straightforward product catalogs — it is an excellent answer. The platform handles payments, taxes, fulfillment integrations, and the basic purchase experience better than anything a team starting from scratch would build in the time available. The question of when to leave Shopify (or BigCommerce, or WooCommerce) is not "when do you want to move faster" — it is "when does your business model require capabilities the platform fundamentally cannot support."
The businesses that graduate to custom e-commerce software are not necessarily the ones with the most revenue. They are the ones whose differentiation depends on something the platform treats as edge case: dynamic pricing that varies by customer segment, purchase history, and real-time inventory; subscription logic more complex than recurring orders on a fixed schedule; product configuration with deeply nested rules that determine what can be combined; inventory management that spans warehouses, third-party logistics providers, and in-store stock across locations. When the workarounds required to make a platform do these things are more complex than building the thing directly, custom is the correct answer.
Pricing engines: when "percentage off" is not your pricing model
Off-the-shelf e-commerce platforms model pricing as: a base price, plus discounts (percentage or fixed amount), plus possibly tiered pricing by quantity. For a large proportion of B2C e-commerce, this covers the full pricing universe. For B2B e-commerce, wholesale, and businesses with complex pricing arrangements, it does not come close.
Custom pricing engines handle the real complexity: customer-specific contract pricing where account X has negotiated rates on a subset of SKUs, volume price breaks that calculate correctly across partially fulfilled orders, promotional pricing with complex rule interactions (this promotional price applies when the cart contains product A and at least two units of product B, but not if the customer has used this promotion in the last 90 days), and dynamic pricing that adjusts based on inventory levels, demand signals, or competitive data. Shopify's discount and script APIs can handle some of these cases; the complexity ceiling is lower than most B2B businesses need.
Inventory management that spans your actual supply chain
Standard e-commerce inventory management assumes inventory lives in a warehouse and fulfillment is either the platform's native fulfillment or a small number of integrated 3PL providers. Businesses with more complex supply chains — multiple warehouses with different SKU availability, vendor drop shipping with real-time inventory feeds, pre-order products with production-date-based fulfillment commitments, in-store and online inventory that shares stock across channels — need inventory logic that goes further.
Custom inventory management typically involves: a warehouse management layer that tracks real-time stock levels across locations, reservation logic that prevents overselling of limited inventory (particularly important during flash sales), purchase order management that tracks inbound stock and enables pre-selling against confirmed purchase orders, and allocation rules that determine which warehouse fulfills which orders based on customer location, shipping cost, or inventory availability. The integration between the e-commerce frontend (which needs to know what is available right now) and the inventory backend (which may be updated asynchronously from warehouse scans) is where most custom inventory systems require careful engineering.
Real-time inventory reservation: when a customer adds to cart, reserve inventory immediately to prevent oversell. Release the reservation if the cart is abandoned.
Multi-location fulfillment optimization: route each order to the warehouse that minimizes shipping cost while meeting the promised delivery date.
Pre-order management: oversell against a confirmed PO, track fulfillment as stock arrives, communicate proactively when production is delayed.
Vendor drop-ship integration: receive real-time inventory feeds from vendors, route eligible orders to vendor for fulfillment, receive tracking back into your order management system.
Subscription and recurring purchase models beyond "ship every 30 days"
Subscription e-commerce has matured well beyond the coffee and pet food categories that pioneered it. Businesses now run subscriptions for professional tools, consumable business supplies, curated experiences, and software-adjacent services delivered physically. The subscription logic that fits these models is frequently more complex than what Recharge or Bold Subscriptions handle natively: pause-and-resume logic with different billing implications, subscriber-tier pricing that unlocks products not available to one-time buyers, usage-based billing where the subscription covers a base quantity and overages are billed at a per-unit rate, and churn intervention workflows that offer specific retention offers based on cancellation reason.
Building subscription logic on a custom payments stack (Stripe Billing or Recurly as the billing engine, custom application logic on top) gives complete control over every aspect of the subscriber lifecycle at the cost of owning that complexity. The decision to build versus buy subscription management is one of the clearest "build when your model is genuinely different" cases in e-commerce. If your subscription model is "ship the same product on the same schedule for the same price," Recharge is the right answer. If your model has rules on top of rules, custom is worth the investment.
The right time to go headless or fully custom is when your business advantage lives in the commerce logic itself — and that logic cannot be expressed inside the constraints of a platform built for the average store.
The headless approach: when to use it and what it costs
Headless commerce — using a platform's backend (Shopify, Commercetools, BigCommerce) via API while building a fully custom frontend — is a middle path between full off-the-shelf and fully custom. It keeps the platform's checkout, payment, and compliance infrastructure while giving complete control over the customer experience. The trade-off: headless builds are significantly more expensive to develop than a Shopify theme, require a frontend engineering team capable of building against REST or GraphQL APIs, and shift the performance and reliability burden of the frontend to the team rather than the platform.
Headless makes sense when the customer experience is the competitive differentiation — highly interactive product configurators, complex product visualization, deeply personalized storefronts — and the backend commerce logic fits within the platform's model. Fully custom makes sense when neither the frontend experience nor the backend commerce logic fits the platform. See building an MVP that scales for the framework for deciding where to invest the custom build budget, and connect with TTGC at /growth-assessment to scope your e-commerce build.
E-commerce that cannot be replicated by a competitor installing the same Shopify apps — TTGC builds the custom layer that makes your commerce model defensible.
Book a free Brand and Growth Assessment and see exactly how Through The Glass Creatives would approach it.
Sources
- Shopify — Shopify Partner Program documentation: API capabilities and limits (2024).
- Gartner — Magic Quadrant for Digital Commerce (2024).
- Forrester Research — The Forrester Wave: B2B Commerce Solutions (2024).
- McKinsey & Company — "The state of fashion: e-commerce and the limits of platform dependency" (2024).

