Skip to main content
← BACK TO BLOGS
e-commerce·Aug 27, 2026·9 min read

Subscription Billing for Online Stores

How to add subscription billing to an ecommerce store. Covers Stripe Billing, Recharge, custom builds, dunning, proration, tax handling and marketplace considerations.

P
Parallel Loop TeamEngineering Excellence

Subscription billing for ecommerce is different from subscription billing for SaaS. In SaaS, you charge a flat fee monthly and the product is digital. In ecommerce, each billing cycle triggers a physical fulfillment: pick, pack, ship, and handle returns. The billing system needs to know about inventory (do not charge if the product is out of stock), shipping (rates vary by destination and weight), tax (physical goods tax rules differ from digital), and customer preferences (skip, swap, pause, cancel). This article covers the architecture of subscription billing for online stores, the platforms that handle it out of the box, and when a custom build connected to your custom ecommerce tools and Amazon SP-API infrastructure makes more sense.

TL;DR

  • Ecommerce subscription billing is harder than SaaS billing because each cycle triggers physical fulfillment with inventory, shipping and tax dependencies.
  • Recharge and Bold handle Shopify subscriptions well for standard use cases. Stripe Billing handles custom builds.
  • Custom billing is necessary when subscription logic depends on external data (inventory levels, marketplace pricing, customer purchase history across channels).
  • Build cost starts at $11,000 for a custom subscription module. Integration with existing ecommerce infrastructure starts at $4,000.

Why ecommerce subscription billing is harder than SaaS

SaaS subscription billing is charge, deliver access, repeat. Ecommerce subscription billing is charge, check inventory, allocate stock, generate a pick list, ship, handle the return if it comes back, and adjust the next cycle if the customer wants a swap or skip. The billing system cannot operate in isolation. It needs to talk to the inventory system (is the product available?), the shipping system (what does delivery cost?), the tax engine (physical goods tax rates vary by jurisdiction), and the customer preference engine (the customer asked to skip this month or swap to a different product).

The second complication is payment failure. In SaaS, a failed payment means the customer loses access. In ecommerce, a failed payment means a fulfillment cycle was initiated (the box was packed), the payment was declined, and you are now holding allocated inventory that needs to be released back to the pool. Dunning (retry logic for failed payments) needs to be coordinated with fulfillment, not just with the payment processor. The inventory and order automation layer handles this coordination.

Platform options for ecommerce subscriptions

Recharge is the dominant subscription platform for Shopify stores. It handles subscribe-and-save, prepaid subscriptions, build-a-box, and basic skip/swap/pause logic. Bold Subscriptions is the second option on Shopify. For non-Shopify stores, Stripe Billing provides the payment infrastructure and you build the subscription logic on top. Chargebee and Recurly handle the billing lifecycle but do not integrate with fulfillment, so you need a middleware layer between the billing platform and your warehouse.

These platforms work for standard subscription models: a fixed box at a fixed price on a fixed cadence. They start to break when the subscription depends on external data (only charge if the product is in stock), when the pricing varies by customer segment or purchase history, when the subscription spans multiple sales channels (Shopify plus Amazon), or when the business model is more complex than subscribe-and-save (tiered subscriptions with different products at different price points).

Architecture of a custom subscription billing system

A custom system has four components. The subscription engine manages the subscription lifecycle: create, pause, skip, swap, cancel, resume. The billing engine handles payment processing via Stripe (charge, retry, refund, proration). The fulfillment bridge connects each billing cycle to the inventory and shipping systems. The customer portal lets subscribers manage their preferences without contacting support.

The subscription engine is the orchestrator. On each billing cycle, it checks inventory availability, calculates the correct price (including any discounts, loyalty tiers, or promotional pricing), sends the charge to the billing engine, waits for confirmation, and then triggers the fulfillment bridge. If the charge fails, it enters the dunning sequence and holds the fulfillment. If inventory is unavailable, it either substitutes (if the subscriber opted in), skips (if configured), or notifies the subscriber. This orchestration logic is where off-the-shelf platforms fall short and custom software development picks up.

Tax, proration and dunning

Physical goods tax is jurisdiction-specific and product-specific. A subscription box containing food, clothing and electronics may have three different tax rates in the same jurisdiction. The billing system needs to calculate tax at charge time, which means it needs to know the box contents and the shipping destination before generating the invoice. TaxJar or Avalara handle the tax calculation via API, but the billing system needs to call them with the correct product codes and addresses.

Proration applies when a subscriber upgrades or downgrades mid-cycle. If a customer switches from a $30 per month box to a $50 per month box on day 15, the system needs to calculate the prorated difference and either charge it immediately or apply it to the next cycle. Stripe Billing handles proration natively. Custom systems need to implement the proration logic and decide on the billing policy (immediate charge, next-cycle credit, or proportional adjustment).

Dunning is the retry sequence for failed payments. A typical sequence is: retry 3 days after failure, retry again at 7 days, send a payment update reminder at 10 days, pause the subscription at 14 days. The key is coordinating dunning with fulfillment so you do not ship a box to a subscriber whose payment is in retry. The data pipeline engineering patterns for event-driven workflows apply here.

Marketplace considerations

If you sell subscriptions on your own site and also sell the same products individually on Amazon, inventory allocation between the two channels matters. Subscription orders are predictable (you know how many boxes ship next cycle), so the inventory system should reserve subscription stock before making the remainder available on Amazon. This reservation needs to flow through the marketplace connectors layer so Amazon's available quantity reflects the true sellable stock after subscription reservation.

The timing matters too. Subscription billing typically runs 3 to 5 days before the fulfillment date to allow time for payment processing and dunning retries. During that window, inventory is committed to subscriptions but the boxes have not shipped yet. The marketplace connector needs to reflect this committed-but-not-shipped state by reducing available quantity on Amazon and Shopify during the billing window, then releasing any uncommitted inventory (from failed payments or skips) back to the pool after the dunning window closes. Without this coordination, you risk overselling on the marketplace during the billing window or underselling after it.

Build cost and timeline

A custom subscription module integrated with Stripe Billing and an existing ecommerce platform starts at $11,000 and ships in 6 to 10 weeks. Integration of an off-the-shelf subscription platform (Recharge, Bold) with custom fulfillment logic and inventory coordination starts at $4,000 and ships in 4 to 6 weeks. A full custom subscription commerce platform with customer portal, multi-channel inventory reservation and Amazon integration starts at $21,000 and ships in 12 to 16 weeks. The Amazon SP-API development page covers the marketplace integration pricing.

Frequently Asked Questions

Why is ecommerce subscription billing different from SaaS?

Each billing cycle triggers physical fulfillment with inventory, shipping and tax dependencies. Payment failures need to coordinate with fulfillment, not just the payment processor.

What platforms handle ecommerce subscriptions?

Recharge and Bold for Shopify. Stripe Billing for custom builds. Chargebee and Recurly for billing lifecycle without fulfillment integration.

When do I need a custom build?

When subscription logic depends on external data (inventory, marketplace pricing, cross-channel purchase history), pricing varies by segment, or you span multiple channels.

What does it cost?

Custom subscription module from $11,000. Platform integration with custom fulfillment from $4,000. Full custom platform from $21,000.

How long to build?

Custom module: 6 to 10 weeks. Platform integration: 4 to 6 weeks. Full platform: 12 to 16 weeks.

How does dunning work?

Retry sequence for failed payments coordinated with fulfillment. Typical: retry at 3 days, 7 days, reminder at 10 days, pause at 14 days.

How is tax handled?

Physical goods tax is jurisdiction and product-specific. TaxJar or Avalara via API, called with product codes and shipping destination at charge time.

Can subscriptions work with Amazon inventory?

Yes. Reserve subscription stock before making the remainder available on Amazon. Reservation flows through the marketplace connector layer.

READY TO SHIP?
BOOK A 30-MINUTE CALL.

<45mAVG. RESPONSE
FixedPricing
2 to 8WEEKS DELIVERY