Inventory management for a Shopify subscription box business
If you run a subscription box on Shopify, your inventory question is narrow: which SKUs will not survive the next renewal run, and when do you have to order them. Restoc is built to answer that one question, watching stock per SKU and telling you before it goes.
The four weeks before the box ships
You are not managing inventory in general. You are counting one thing: whether every active subscriber gets the box you promised, with the SKUs you already locked, on the day the renewal run fires.
The work usually looks like a spreadsheet tab per cycle. Subscriber count times units per box. Then a guess for churn, a guess for new signups, a line for breakage, and a column for whatever the one-off retail side of the store will eat out of the same stock pool before renewal day. You lock curation, you email the supplier, and then you wait out a lead time you do not control.
Two things go wrong, and neither is exotic. The first is that retail quietly drains a SKU you had earmarked for the box, so the count you made three weeks ago is no longer true. The second is that one small component, a sample sachet, a card, a 30ml tester, falls short, and a shortage of one line holds up every box you were going to pack. Running out is a real financial hit, and on a box model it hits twice: the margin on the units you cannot ship, and the subscriber who gets a swap they did not ask for.
A common ask in this category is modest: not a full planning suite, just a clear signal of when to reorder. That is the job Restoc is made for. It watches stock on your store and raises a hand when a SKU crosses its reorder point, so the decision reaches you while there is still time to place an order.
Why a renewal run distorts a seven-day average
A subscription box has the lumpiest demand curve in commerce. Most of a cycle's units leave in a day or two, then the shelves sit still. Any average taken over too short a stretch will tell you something untrue: measured across renewal day, a SKU looks like it is flying; measured the week after, it looks dead.
Restoc calculates a reorder point per SKU from three inputs you control. A sales velocity window, set to 7, 14 or 30 days. The lead time that applies to that SKU. And a store-wide safety stock percentage that sits on top of lead-time demand.
Picking the window
For a monthly cadence, a 30-day window is usually the honest one: it holds a whole cycle, so the spike and the quiet weeks average out instead of fighting each other. A 7-day window suits a store whose sales arrive evenly, which a box brand's rarely do. The window is set store-wide, so you pick the one that fits the bulk of your catalogue. On Pro you can override the window for an individual SKU, which is worth having if a few retail fast movers behave nothing like your box components.
Lead time, by vendor or by SKU
A reorder point is only useful if it fires early enough to be acted on. A component with a six-week supplier needs its alert six weeks before the shelf empties, not when the shelf looks low. Restoc does not guess your lead times, and it does not pull them from anywhere. You set them, in whichever of two ways costs you less time.
Per vendor is the quick route. The scheduled sync reads the vendor Shopify records on each product, which for most box brands is the supplier under another name, and a vendor lead times screen in settings lists every distinct vendor in your catalogue. Set one number against a vendor and every SKU under it that has no lead time of its own inherits it. You are not typing a figure into hundreds of rows one at a time, and when a supplier slips from four weeks to seven you change it once.
Per SKU is the exception route, for the lines you want to be exact about. A SKU with its own lead time keeps it, whatever its vendor says.
Safety stock for the lines that sell in bursts
An average-based reorder point assumes demand arrives evenly. A box brand's does not, so a line can run out before the average ever reaches the trigger. Restoc takes a store-wide safety stock percentage and adds it on top of lead-time demand, and then shows the resulting cushion in units: on the dashboard, in the weekly report and in the CSV export. You can see what the number is carrying rather than trusting arithmetic you cannot inspect.
How Restoc works for a box brand
- Connect the store once
Restoc installs on your Shopify store through Shopify's OAuth flow, which grants an Admin API access token, or you paste a token from your own custom app. From there it reads products, inventory levels and orders by webhook and a scheduled sync job, including the vendor recorded on each product. It is a web app only: no mobile app, no browser extension.
- Set lead times by vendor, then by exception
The vendor lead times screen in settings lists each distinct vendor from your catalogue. Give the imported hero item's supplier six weeks and the domestic filler's five days, and every SKU under that vendor without its own lead time takes the number. Then override the handful of SKUs that need their own.
- Choose the velocity window
7, 14 or 30 days, store-wide. For a monthly box, 30 days keeps the renewal spike and the quiet fortnight inside one measurement instead of swinging between them. Pro adds a per-SKU override.
- Add a safety stock percentage
One store-wide percentage, applied on top of lead-time demand in the reorder point calculation. The dashboard, the weekly report and the CSV each show it as units per SKU, so the cushion is visible rather than implied.
- Read days of inventory remaining
The dashboard lists every active SKU with its current stock, safety stock, days of inventory remaining and reorder status, sortable and defaulting to soonest to stockout first. That is the five-second scan before you lock next cycle's curation.
- Let the alert come to you
When a SKU crosses its reorder point, Restoc fires an alert by email, and by Slack webhook on Growth and above. Email goes to your account address from the moment you connect a store, until you change it or switch it off in Settings > Alerts. The Slack webhook is validated when you save it, with a test send so you can confirm delivery before you rely on it.
- Work the weekly report
Once a week Restoc lists every SKU below its reorder point, with its vendor, its safety stock in units and a suggested order quantity. View it in the app or export it as CSV, which is the version you can trim and send to a supplier.
What a box brand gets out of it
A number, not a nudge
The weekly report carries a suggested order quantity per SKU that is below its reorder point. It gives you something to put in a purchase order, rather than a red dot that still leaves you doing arithmetic.
One lead time per supplier, not hundreds of rows
Box components come from different suppliers at different speeds, and one global low-stock threshold treats them all the same. Set a lead time against a vendor and it fills every SKU under that vendor that has no lead time of its own.
A cushion for the lines that sell in bursts
A store-wide safety stock percentage rides on top of lead-time demand, which is the part a renewal spike otherwise breaks. The units it adds show on the dashboard, the weekly report and the CSV.
The small components get watched too
Every active SKU appears on the dashboard with days of inventory remaining, sorted soonest to stockout first, including the cheap items nobody puts on a watch list until the day they stop the pack line.
Vendor and SKU code travel with the line
Restoc tracks each SKU's title, your own SKU code, the Shopify variant id, current stock, lead time and computed reorder point, and shows the vendor Shopify records on the product. The code and the supplier you order against are both on the row.
The alert reaches the person who orders
Email alerts go to the address you set in Settings > Alerts. Growth and above add a Slack webhook you configure, so a reorder crossing can land in the channel your ops conversation already happens in.
A paper trail for the cycle
The weekly report is a record of what was below its reorder point that week, with vendor, safety stock and suggested quantity, exportable as CSV. Useful when you are reconciling why a component came up short.
Nothing about your subscribers is stored
Restoc keeps sales quantities and dates per SKU with the Shopify order reference. No customer names, addresses or payment details are stored, and your own payment details stay with Shopify. Settings > Account deletes the connection, the SKUs, the sales records, the alerts and the reports at once.
What Restoc covers, and what it does not
| The job | Restoc today |
|---|---|
| Know which SKUs are below their reorder point | Covered. Reorder point per SKU from your velocity window, the lead time that applies to it and your safety stock percentage. |
| Set one lead time for a whole supplier | Covered. A vendor lead times screen fills every SKU with no lead time of its own, using the vendor Shopify records on the product. |
| Add a cushion for SKUs that sell in bursts | Covered. A store-wide safety stock percentage on top of lead-time demand, shown in units per SKU. |
| See how many days of stock are left | Covered. Days of inventory remaining and reorder status per active SKU, sortable, soonest to stockout first. |
| Be told before a SKU runs out | Covered. Email alerts on a reorder-point crossing, plus Slack webhook on Growth and above. |
| Hand a supplier a list with quantities | Covered. Weekly reorder report with vendor, safety stock and a suggested order quantity, viewable in-app and exportable as CSV. |
| Keep the subscription on your Shopify bill | Covered. The plan is billed by Shopify on your Shopify invoice, not by a separate card payment. |
| Break a box bundle into its component SKUs | Not covered. Restoc tracks the SKUs Shopify reports stock for, it does not explode a kit into parts. |
| Different reorder points per warehouse or 3PL | Not covered. Every plan is one location per store. |
| Forecast next quarter's subscriber demand | Not covered. Restoc works from your recent sales velocity, not a forecast model. |
| Raise and send the purchase order | Not covered. Restoc gives you the number and the list. You place the order. |
| Check stock from a phone app | Not covered. Restoc is a web app: no mobile app, no browser extension. |
Questions
Will Restoc count my subscription renewal orders as sales?
Restoc reads what Shopify records for your store: products, inventory levels and orders, pulled by webhook and a scheduled sync job. If your renewals bill as Shopify orders, they count toward sales velocity like any other order. Sales that never appear as Shopify orders are not counted, and Restoc does not connect to subscription tools directly.
Which velocity window should a monthly box use?
For a monthly cadence, 30 days is usually the fairest reading, because a whole cycle sits inside the window and the renewal spike does not dominate the average. The window is set store-wide across 7, 14 or 30 days, and the safety stock percentage covers the burstiness the average still flattens. Pro adds a per-SKU override for the lines that behave differently.
Do I have to type a lead time into every SKU?
No. The vendor lead times screen lists each distinct vendor from your catalogue, read from the vendor field on the Shopify product, and a lead time set against a vendor fills every SKU under it that carries no lead time of its own. Set the exceptions per SKU where it matters, and change a vendor's number once when a supplier's timing slips.
How does the safety stock setting work?
It is one store-wide percentage, added on top of lead-time demand inside the reorder point calculation, for the reason box brands keep raising: items that sell in bursts can run out before an average-based reorder point is reached. The units it contributes appear per SKU on the dashboard, in the weekly report and in the CSV export, so you can see the cushion rather than infer it.
Does it work out how many of each component I need for the next box?
Not from your curation plan. Restoc works backwards from what has actually sold: it computes a reorder point per SKU from your velocity window, lead time and safety stock, then the weekly report lists SKUs below that point with a suggested order quantity. It does not know what you intend to pack next cycle, and it does not break a bundle SKU into its components.
How many SKUs can I track, and how am I billed?
Starter covers up to 200 tracked SKUs at $29 a month, Growth up to 1,000 at $59, and Pro up to 2,000 at $99. Yearly billing is ten months' price for twelve months. The charge is billed by Shopify on your Shopify invoice, and the SKU cap for your tier is enforced at sync time.
Can alerts go to Slack instead of my inbox?
Slack alerts, delivered through an incoming webhook you configure, are on Growth and above, alongside email. The webhook URL is validated when you save it and there is a test send, so you can confirm the channel receives a message before a real reorder crossing depends on it. Starter sends email alerts to the address in your alert settings.
Is there a trial, and when does the first charge land?
Every plan carries a 60-day free trial, and the trial is built so at least one full weekly reorder cycle completes before the first billing charge. Billing settings show your trial end date, the days remaining and the date of the first scheduled charge, and annual billing is surfaced as an option at signup. The trial page covers the timing in detail.