Scheduled restocks
Restocks in the main navigation.
Stage stock so it lands at a stated moment rather than being typed in at midnight. One plan can cover several products at several locations — "50 at the warehouse, 20 in the shop, 10 of the other colourway" is one plan with three lines that all apply together.
Before you start
This needs two permissions that were added after the app first shipped:
write_inventory and read_locations. Existing installs keep the older grant
until they reinstall.
If the location dropdown is empty, that's why. Reinstall the app and it fills in.
Building a plan
- Name it — only you see this. "Friday drop — opening stock" beats "Plan 1" when you're looking at a list of them in three weeks.
- Apply at — in your store's timezone. Nothing changes before this moment. A time in the past is refused, because it would apply within seconds and that's rarely what anyone means.
- Stage it for a drop — optional, but see Alerts below.
- Pick a location and an amount, then Add products. Repeat with a different location to stage stock in several places in the same plan.
- Schedule restock.
Stock is held per variant
This surprises people, so the form says it as you go.
A t-shirt with five sizes becomes five lines. Setting the amount to 10 adds 10 to each size — 50 units in total, not 10. The form tells you the number of units the moment you add them, and the table totals it.
If you want different amounts per size, add them and edit the lines individually.
Untracked variants
A variant Shopify isn't tracking inventory for can't be restocked — adding stock to it does nothing at all. That's caught when you add it, not at midnight, so you find out while you can still do something about it.
What happens when it runs
The plan applies at the time you set. Each line either lands or doesn't, and the plan ends in one of:
| Status | Meaning |
|---|---|
DONE |
Every line applied |
PARTIAL |
Some applied, some didn't. The stock that landed is on the shelf |
FAILED |
Nothing applied |
CANCELLED |
You cancelled it before it ran |
Failed lines show why — usually a variant not stocked at that location.
Retrying is safe
Retry what failed re-applies only the lines that never landed. Lines that already applied are skipped, so a retry can never double your stock.
This is worth stating plainly because the instinct on seeing PARTIAL is to
assume you have to work out what applied and redo the rest by hand. You don't.
Alerts
If a plan doesn't fully apply and it's linked to a drop, you're emailed. Unlinked plans only report on the Restocks page.
That's the reason to link a plan to its drop even though it's optional: a restock that quietly failed at 3am and a drop that opens at 9am with no stock are the same event, and you want to hear about the first one.
What it deliberately doesn't do
It adds, it doesn't set. A plan for 50 adds 50 to whatever is there when it runs. It never overwrites a count — which would silently discard sales made between scheduling and running.
It won't remove stock. Amounts are positive only. Taking stock off the shelf is a different job with different consequences and belongs in Shopify's own inventory screens.