Inventory Manager
The Inventory Manager helps you plan and protect stock for your subscription customers. It has two tabs: Inventory Planner — which forecasts how much stock you'll need and, with Reserve Inventory, holds that stock in Shopify so it cannot be sold before billing day — and Available Products, which previews the menu your Build-your-box customers are offered in each billing period.
Inventory Planner
The Inventory Planner calculates the expected product quantities needed for the next 7, 14, and 30 days across all active subscriptions.
Enabling the Inventory Planner
The Inventory Planner can be toggled on or off at the top of the page. After enabling it, the initial calculation may take up to 24 hours to complete.
Reading the table
Once enabled, you will see a table with the following columns:
| Column | Description |
|---|---|
| Product | The product name (links to Shopify admin) |
| Variant | The variant name (links to Shopify admin) |
| Active Subscriptions | Number of active subscriptions containing this variant |
| Next 7 days | Units needed in the next 7 days |
| Next 14 days | Units needed in the next 14 days |
| Next 30 days | Units needed in the next 30 days |
| Current Stock | Your current inventory level in Shopify (or "Not tracked" if inventory tracking is disabled) |
A totals row at the bottom sums up the planned quantities across all variants.
With Reserve Inventory on, a Shortfall column appears when a variant's stock won't cover its upcoming billing dates — see Spotting shortfalls.
Exporting data
Click Download CSV to export the full table as a CSV file. The export includes product and variant IDs for easy matching with your own inventory systems. When a variant runs short, the export also includes Shortfall (total missing units) and Shortfall by Date (each short billing date with its missing units).
Reserve Inventory
Reserve Inventory goes one step further than the planner: instead of just showing you what stock you'll need, it actively holds that stock in Shopify so it cannot be purchased by non-subscribers before billing day arrives.
Why use Reserve Inventory?
For high-demand or limited-stock products, there is a risk that subscription orders fail on billing day simply because inventory ran out — sold to walk-in or one-time customers first. Reserve Inventory prevents this by locking stock for subscribers in advance.
How to enable it
Reserve Inventory requires the Inventory Planner to be enabled first. Once the planner is on, a Reserve Inventory toggle appears below it. You can also configure the look-ahead window (1–30 days): how far in advance stock is reserved before each subscriber's billing date.
A shorter window (e.g. 7 days) keeps more inventory available for general sales. A longer window gives more protection but reduces available stock for non-subscribers earlier.
The toggle, the look-ahead window and the excluded products are saved together: change what you need, then click Save. Nothing takes effect until you do.
Excluding products from the reservation
By default, stock is reserved for every product that has stock tracking enabled. Under Excluded products, pick any products the reservation should leave alone.
Excluded products still appear in the Inventory Planner table with their full demand — the exclusion decides what is held in Shopify, not what you see.
Spotting shortfalls
Zubs walks each variant's upcoming billing dates in order and covers them from your free stock until it runs out. The units a billing date needs but can't get are its shortfall.
When any variant runs short, a warning above the table tells you how many variants are affected and the first date one runs out. The Shortfall column shows each affected variant's total missing units and the first date it's short — click it to see every short billing date with the units needed, covered and missing. Variants with enough stock leave the cell empty, and the column only appears when something is short.
Stock is still reserved in full when it's short: Shopify shows the variant's available quantity as negative, which stops it being sold anywhere else. The shortfall tells you how much to restock, and by when.
How stock is actually reserved
When Reserve Inventory is enabled, Zubs creates a Shopify draft order for each upcoming billing date. Each draft order contains the exact variants and quantities needed for all subscriptions billing on that date. Shopify moves those units out of Available and into Unavailable, listed as Draft orders on the product's inventory breakdown, so they can't be sold through any channel. Your on-hand quantity doesn't change — the stock is set aside, not deducted.
Key behaviour to be aware of:
- Draft orders are updated daily. If subscriptions are added, cancelled, or modified, the draft orders are updated automatically to reflect the new quantities.
- Draft orders are released automatically on the billing date, just before that day's subscription orders are created, so the reserved stock is free for them.
- Only tracked inventory is reserved. Variants with inventory tracking disabled in Shopify are ignored.
- Excluded products are never reserved. Products listed under Excluded products are skipped even when their stock is tracked.
- Draft orders appear in your Shopify admin under Orders → Drafts. They are tagged with
zubsand include a note explaining their purpose. Do not convert them to orders — Zubs manages their lifecycle automatically.
Disabling Reserve Inventory
Turning the toggle off and clicking Save deletes all active reservation draft orders and releases the held stock back to your general inventory.
Turning the Inventory Planner off also turns Reserve Inventory off and deletes its draft orders the same way. When you turn the planner back on, Reserve Inventory stays off until you switch it on again.
Available Products
The Available Products tab is for Build-your-box subscriptions — the setup where customers pick their own items each billing period from collections you curate. If you don't offer Build-your-box, this tab has nothing to show.
It previews the menu your customers are offered in each period, so you can check your setup before they see it. Pick a product, a selling plan group and a selling plan, then step through the periods with the date navigator.
Each card is one of your activated collections, showing the products it offers to customers for the period on screen. Collections with an availability schedule appear only in the periods their schedule covers; a collection without one is unrestricted and appears in every period. The edit icon next to a collection's title opens the collection in Shopify, where you edit its schedule under More actions → Availability schedule; the help icon links to how to edit availability schedules.
The preview is per selling plan group
Selectable products are configured per selling plan group, so the preview always answers for the group you have selected. If you run several programs with different product sets, switch the Selling plan group dropdown to check each one — a group that doesn't set its own collections shows the shop-wide list it inherits. You set a group's own collections on its plan page, under Setting overrides.
"This selling plan group is not limited to collections"
No collection restriction applies to that group, so its customers can choose from every product in your shop. This appears when Subscription Products Collection is switched off for the group, or when it's on but no collections are selected.
To restrict the choice, enable the setting and pick at least one collection — see Settings: Subscription Features.
"Not all your collections are shown"
The preview shows up to 250 collections at once. This warning also appears when one of your activated collections doesn't exist in Shopify any more, so if you see it on a shop with far fewer than 250 collections, check Settings → Subscription Features for a collection that has since been deleted.
"Not offered to customers"
Products are offered only when they are active, published to your Online Store sales channel, and available in your customer's market. Variants you hide from the Online Store aren't offered. Below a collection's products, this list names each product or variant in the collection that customers aren't offered, with the reason. To offer it, change that in Shopify.
The preview doesn't check markets, so a product it shows is still left out for a customer whose market doesn't sell it.
"Collections have an availability schedule we can't fully read"
One or more of your activated collections has an availability schedule Zubs can't fully read, for example a date that isn't a valid date or a period that ends before it starts. The warning lists each collection with what's wrong and a link to the collection in Shopify, where you fix the schedule under More actions → Availability schedule.
If a schedule can't be read at all, it's ignored and the collection is offered in every period; the warning says when that's the case. Until you fix the schedule, the preview may not match what your customers are offered.
For Developers
If you or your agency need the full mechanics — the daily job, the reconciliation algorithm, how Shopify's reservation primitive actually behaves, timing guarantees and known limits — see the Inventory Manager Technical Reference.