Subscriptions & Reordering

Revenue you can count on

Subscribe & Save for meal prep customers. One-click reordering for regulars. Automated order processing with configurable discounts turns one-time buyers into predictable recurring revenue.

One-time orders are unpredictable revenue

Meal prep services, regular lunch customers, and weekly catering clients all want the same thing: their usual order, delivered on schedule, without re-entering it every time. Without a subscription system, these customers either leave for a competitor who offers auto-delivery or simply forget to reorder. One-time order revenue is feast-or-famine. Recurring subscriptions smooth out cash flow and increase customer lifetime value.

How Subscriptions & Reordering work

1

Enable subscriptions and set your discount

Toggle subscriptions on in your Merchant Settings and configure a default discount percentage (0–50%). Choose which subscription frequencies to offer: weekly, biweekly, or monthly. The discount is applied automatically when customers subscribe.

2

Customers choose their frequency at checkout

The storefront widget shows a Subscribe & Save toggle. When enabled, customers select their preferred frequency and see the discount applied in real time with a savings callout. The subscription is created when they add the meal to cart.

3

Automated scheduler generates orders

A BullMQ-based scheduler runs every 6 hours (with cron fallback when Redis is unavailable), discovering subscriptions due for their next delivery. It submits per-shop processing jobs to the queue for distributed execution. Each subscription generates a full order through the OrderService with inventory validation and pricing verification.

4

Customers manage subscriptions and reorder from history

Customers can pause, resume, or cancel their subscriptions from their account. They also see their order history with a one-click Reorder button that rebuilds the order from the previous selections, detects unavailable items or price changes, and allows customization before resubmitting.

Why merchants choose Subscriptions & Reordering

Predictable recurring revenue

Subscriptions convert one-time buyers into recurring customers. Monthly subscription revenue provides a stable baseline that makes business planning and inventory management reliable.

Configurable discounts up to 50%

Set the discount that works for your margins. The discount is applied as a post-calculation line item with a visible savings callout, so customers see exactly how much they save by subscribing.

One-click reorder from history

Regular customers who don’t want a subscription can still reorder with one click. The reorder endpoint validates availability, detects price changes, and allows customization before the new order is placed.

Fully automated processing

The BullMQ job queue handles everything: finding due subscriptions, submitting per-shop processing jobs, verifying tier access, generating orders, advancing delivery dates, and reporting errors to Sentry. Falls back to node-cron when Redis is unavailable. No manual intervention required.

Under the hood

Subscription state machine

The SubscriptionModel tracks status (active, paused, cancelled), frequency (weekly, biweekly, monthly), next delivery date, and discount percentage. State transitions are enforced: only active subscriptions can be paused, only paused subscriptions can be resumed, and cancelled subscriptions cannot be reactivated. Each subscription generates a unique ID in the format SUB-{shopHash}-{counter}.

BullMQ job-based scheduler

The SubscriptionScheduler uses BullMQ repeatable jobs (every 6 hours) with node-cron as fallback when Redis is unavailable. Discovery runs submit per-shop subscription-process jobs to the queue for distributed processing. Each shop job verifies Professional+ tier access before calling SubscriptionService. BullMQ deduplicates by name and pattern, making it safe on restart. The re-entry guard prevents overlapping discovery runs.

Next delivery date calculation

After each order is generated, the next delivery date advances by the subscription frequency: 7 days (weekly), 14 days (biweekly), or 30 days (monthly). The calculation uses UTC dates to avoid timezone drift. If a scheduled processing run is missed, the next run picks up all overdue subscriptions.

Reorder with change detection

The reorder endpoint rebuilds an order from a previous order’s selections. It validates that each meal is still active, checks that selected options still exist in their groups, detects price changes since the original order, and supports partial reorder when some items are unavailable. Changes are returned to the customer before the order is finalized.

Ready to transform your food business?

Join food businesses using FoodFlex to increase order value by 23%, reduce errors by 87%, and delight their customers.

Free plan available · No credit card required · 5-minute setup · 30-day money-back guarantee