Recurring billing & subscriptions

Automatically bill your membership as a subscription or a subscribe & save model.

Beka Rice Avatar

Written by

Last updated


Zendra supports several subscription billing models for your membership, from a recurring access fee to subscribe & save deliveries. Subscriptions create more predictable cash flow, raise customer lifetime value, and make more from the customers you already have. Subscribers are also more likely to buy from your store again, with higher average order values and stronger brand affinity.

The one decision that shapes everything else is what your Shopify product price represents: a one-time access fee, the price of each delivery, or the price of one billing cycle. This page walks through the three models and how each billing plan gets its price.

When you’d use this

  • Sell memberships as recurring subscriptions.
  • Offer subscribe & save for physical products on a schedule.
  • Set billing intervals and options for paid plans.
  • Understand why a billing option shows the price it does, and how to change it.

For a subscription contract with several membership lines, Zendra creates a separate membership for each membership line. Renewal, billing-failure, and cancellation handling follows the relevant membership.

Offer subscriptions for digital access

If your membership is for perks or digital content access, you’ll choose An access fee or A billing cycle for what the product price represents.

  • Choose An access fee if you want to offer a lifetime or one-time purchase for a single variant product. You can also offer subscriptions alongside the one-time purchase; each subscription billing plan then needs its own price override, since the product price is the one-time fee.
  • Choose A billing cycle if you only want to offer subscriptions, or if your membership product has variants that do not affect access or digital perks (e.g. different physical welcome gifts the member can choose). The product price is the price of one cycle of your default billing plan, and other intervals are priced from it.

If you want to offer tiered perks, create a new membership plan for each tier. Trigger each plan by the tier’s variant, not the parent product, so the correct perks apply for that tier when purchased.

Bear in mind that price overrides on the billing plans override the product price for every variant. That’s usually fine for a simple product or a single variant, but it gets complicated once variants carry different prices. See Choose the right product structure for your membership for how to line up products, variants, and plans.

Check out our recipes for similar membership setups: you can sell a single premium membership like Barnes & Noble, or a tiered premium membership like Best Buy.

Offer subscribe & save for regular deliveries

If you want to sell a subscription to the product itself, with a physical item shipped each cycle, choose An item purchase. The product or variant price is the price of each delivery, and every billing plan inherits it. You can optionally offer a discount on a billing plan, as a percentage or amount off the variant price, for example to reward more frequent deliveries.

We recommend you avoid price overrides if your product has variants. With discounts instead, Zendra inherits the selected variant’s price for the billing cycle and calculates the discounted amount from it.

For example, if you sell coffee bags in 0.25 kg and 1.0 kg sizes (variants), you can still set up multiple billing plans (e.g. every month, every 2 weeks). Without a price override, Zendra charges the selected variant price on your schedule. To encourage more frequent deliveries, apply a discount to the more frequent billing plan; it adjusts the variant price whenever that interval is selected.

Check out our recipe for a similar setup: sell a coffee subscription like Counter Culture.

How billing plan prices are calculated

Every billing plan gets its price from the product price, and the product price represents setting decides how.

Product price representsThe Shopify variant price is…Other billing plans are priced by…
An access feeA one-time feeA price override on every subscription billing plan (required)
An item purchase (subscribe & save)The price of one deliveryInheriting the variant price, minus any discount you add
A billing cycle (recurring membership fee)The price of one cycle of the default billing planAn automatic calculation scaled by interval length, unless you set a price override

The default billing plan

When the product price represents a billing cycle, one billing plan is the default: the option shown first in the purchase widget. The variant price is that plan’s price. If your default is monthly and the variant is $5, the monthly option costs $5.

How the other intervals are calculated

Every non-default billing plan gets an automatically calculated price, scaled by the ratio of the two intervals in days: a week counts as 7 days, a month as 30, and a year as 365.

  • Variant price $5, default monthly: the annual option calculates to $5 × 365 ÷ 30 = $60.83.
  • Variant price $49, default yearly: the monthly option calculates to $49 × 30 ÷ 365 = $4.03.

The calculation is proportional, so it never gives a “discount” for committing longer, and it rarely lands on a number you’d put on a pricing page. That’s what price overrides are for.

Overrides versus discounts

A billing plan can have a price override or a discount, never both, and the two are tools for different models:

  • Price overrides are the recurring membership fee tool. Set one on a non-default billing plan to replace the calculated price with a clean number: $49 per year on a $5 per month plan, for instance, or $50 per year to give “two months free.”
  • Discounts are the subscribe & save tool. They take a percentage or fixed amount off the inherited delivery price, so a more frequent schedule can cost a little less per box.

When the product price represents a billing cycle, a discount on a non-default billing plan is ignored while a calculated price exists. If you want an annual option to cost less than the calculated figure, use an override, not a discount.

Our recommendation for a recurring membership fee

Put the price of the interval you want customers to see first, usually monthly, on the Shopify variant, and make that billing plan the default. Then price every other interval with an explicit override so the widget shows numbers you chose.

Before you set the annual override, decide whether annual should carry a discount at all. Twelve times monthly is no discount ($60 per year on a $5 per month plan); ten times monthly is two months free ($50 per year). Either is a fine choice, but neither is the $60.83 the calculation produces, so you’ll want an override in both cases.

Configure billing plans

Each billing plan has a few settings. Some options are forced or disabled depending on the others in use.

  • Price override: forces a specific price for this billing interval, for every variant of the product. Required on every subscription billing plan when the product price is an access fee; optional (and usually the right move for non-default intervals) when it’s a billing cycle; best avoided when it’s an item purchase on a product with variants.
  • Discount: takes a percentage or fixed amount off the inherited product price when this billing plan is selected. Useful to reward more frequent deliveries on a subscribe & save plan. A billing plan can have a discount or a price override, not both.
  • Trials & signup fees: choose what happens at signup. Offer a free trial for a set number of days, or charge a signup fee immediately when the customer subscribes. A billing plan can have a trial or a signup fee, not both. Available on the Growth and Plus plans.
  • Minimum orders: the minimum number of orders / cycles before the member can self-cancel (e.g. they must complete 3 cycles before they can cancel the subscription). Available on Growth and up.
  • Maximum orders: a maximum number of cycles to charge, helpful when a subscription has a natural end (e.g. 12 boxes are shipped). Available on Growth and up.

Common issues

  • An annual option shows an odd price like $60.83. That’s the automatic calculation (monthly price × 365 ÷ 30). Set a price override on the annual billing plan to show the price you want.
  • A discount on a billing plan isn’t applying. If the product price represents a billing cycle, discounts on non-default billing plans are ignored while a calculated price exists. Use a price override instead. Discounts apply when the product price represents an item purchase.
  • Variant prices are ignored at subscription checkout. A price override applies to every variant. Remove it if the billing plan should inherit the selected variant’s price.
  • Customers can only buy once. Add a billing plan to the product so a recurring option appears.
  • A renewal didn’t charge. See Membership lifecycle & billing recovery for retries and recovery.

Keep learning