Inventory management for candle and home fragrance brands on Shopify
Restoc is an inventory app built for Shopify candle and home fragrance brands: it works out a reorder point for every scent and size you sell, adds the safety stock percentage you choose, then emails or Slacks you the moment a SKU crosses it. It is not an ERP and it does not count your wax and wicks, it tells you which finished SKUs to reorder and roughly how many.
How candle and home fragrance brands track stock today
A candle line multiplies faster than almost any other small catalogue. One fragrance becomes an 8 oz jar, a 3 oz tin, a wax melt and a reed diffuser. Then an autumn collection lands, a gift set borrows three of the bestsellers, and a wholesale account asks for the unlabelled version. Forty products on the shelf is several hundred variants in the Shopify admin, and every one of them has its own speed.
Most brands at this size run the reorder decision from a spreadsheet, updated on a Sunday evening with numbers copied out of the admin. The sheet is right the moment it is typed and wrong by Tuesday. Nothing watches the catalogue in between, so the first sign that a hero scent is gone is usually a sold-out product page or a customer email.
Why the candle version of this is harder
- The count is not the question. Knowing you hold 46 jars tells you nothing until you know how many leave per day and how long your next batch takes.
- A reorder is not a next-day thing. The wait is fragrance oil and vessels from a supplier, plus a pour slot, plus cure. Makers commonly test soy candles after ten to fourteen days of curing, so a missed window is weeks, not days.
- Candles sell in bursts, not evenly. A gift guide mention or a market weekend empties one scent while the rest of the shelf barely moves. A reorder point built on an average alone is reached too late, which is why the standard formula puts a safety stock buffer on top of lead-time demand.
- Velocity swings by season. A pumpkin scent in September behaves nothing like the same SKU in March, and a 30 day average will flatten the spike you needed to see.
- The wait belongs to a handful of suppliers, not to hundreds of variants. Your glass comes from one place and your oils from another, but the lead time has to land on every SKU, and typing it in one row at a time is why the sheet never gets finished.
- The tools that do this properly are priced for bigger operations. A forecasting suite aimed at multi-warehouse retail is hard to justify for a studio pouring in batches of two hundred.
Running out of your best seller in the fourth quarter is a real financial hit, and merchants who catch the reorder point early can avoid that kind of costly stockout. Restoc is built to do one job inside that mess: watch the numbers and say, in plain terms, what needs ordering now. If a slice of your volume leaves as wholesale pallets rather than single jars, that split has its own page in this section.
From install to a weekly order list
- Connect the store
The Shopify install reads your products, your real-time inventory levels and your historical sales data, through webhooks plus a scheduled sync job. It also brings across the vendor on each product, so your SKUs arrive grouped by who you buy them from. It is a web app: no mobile app and no browser extension.
- Set lead times by supplier, then fine-tune
The vendor lead times screen lists every distinct vendor in your catalogue. Put one number against your glass supplier and one against your wax supplier, and that fills every SKU from them that has no lead time of its own. Any SKU where you typed a specific lead time keeps it, which is where the pour slot and cure days for a particular line belong.
- Choose a sales velocity window
Pick 7, 14 or 30 days store-wide. Shorter windows react to a launch or a holiday spike; longer ones smooth a steady core line. On Pro you can override the window for a single SKU.
- Add a safety stock percentage
Set one store-wide percentage and it is added on top of lead-time demand in the reorder point, so a scent that sells in bursts gets a cushion instead of being judged purely on its average day. The resulting buffer is shown in units per SKU, not left as a hidden multiplier.
- Restoc calculates the reorder point
The engine combines your velocity window, the lead time on each SKU and your safety stock percentage to produce a reorder point for every tracked variant. It is a tested pure function, so the same inputs always give the same number.
- The alert fires on the crossing
When a SKU crosses its reorder point, Restoc sends an alert by email, and to a Slack webhook on Growth and above. Delivery runs through an idempotent background job, so one crossing means one alert, not a repeat every hour.
- Order from the weekly report
Once a week you get a reorder report listing 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 to send a supplier or plan a pour day.
What you put in, what Restoc works out
| Input | Where it comes from | What it does for a candle SKU |
|---|---|---|
| Current stock per variant | Shopify, at install and through ongoing sync | The starting number behind days of inventory remaining |
| Sales history per variant | Your Shopify orders: historical sales data pulled by the install, then kept current by webhooks and the scheduled sync | Sales velocity across the window you chose |
| Vendor | Shopify's vendor field on each product, synced on a schedule | Groups the catalogue by supplier and carries that supplier's lead time onto its SKUs |
| Lead time in days | Per vendor, or typed on an individual SKU | Covers supplier wait, pour and cure, so the alert lands early enough to act on |
| Velocity window | You choose 7, 14 or 30 days; per SKU on Pro | Short for a spiking seasonal scent, long for a steady core line |
| Safety stock percentage | One number you set store-wide | Adds a buffer in units on top of lead-time demand for scents that sell in bursts |
| Your own SKU code | Stored on each tracked SKU beside its title | The code you quote to a supplier sits next to Sandalwood 8 oz, not in another tab |
| Alert destination | Your email address, plus a Slack webhook on Growth and above | Puts the warning where the person who orders glass and wax will see it |
Why it fits a candle catalogue
Every size of a scent watched on its own
The 8 oz jar and the 3 oz tin sell at different speeds. Each variant gets its own reorder point from its own velocity and its own lead time, so the tin never hides behind the jar's healthy number.
Lead times set by supplier, not by variant
One screen lists the vendors Shopify already records on your products. Give your vessel supplier 21 days and your oil supplier 10, and every SKU from them without its own number picks it up, so a 400-variant catalogue is a few entries rather than 400.
Lead time that can include cure
Lead time is a number you control, per vendor or per SKU, so a hand-poured line can carry its true wait: oil and vessel delivery, the pour, and the days a candle rests before it is shippable.
A buffer for scents that sell in bursts
A store-wide safety stock percentage sits on top of lead-time demand in the reorder point, so the scent that empties over one weekend is flagged before an average-based number would have noticed. The buffer appears in units beside each SKU, so you can see what it is costing you to hold.
A window that fits the season
Seven days tracks a scent launch or a fourth-quarter spike closely. Thirty days smooths a year-round bestseller. Pro adds a per-SKU override when one scent behaves unlike the rest of the catalogue.
Velocity from your store's own history
Every number comes from your catalogue and your orders, read from Shopify, not from a category average or a guess. A SKU with no sales in the chosen window is shown as having no velocity rather than given one.
The alert reaches whoever places orders
Email goes out on every plan. Growth and above post to a Slack incoming webhook, so a production channel sees the crossing without anyone opening a dashboard.
One order list a week, not a hunt
The weekly reorder report collects everything below its reorder point with its vendor, its safety stock in units and a suggested quantity, in the app and as a CSV. That is the list you work from before a pour day or a supplier call.
Days of inventory remaining per SKU
The dashboard shows current stock, days of inventory remaining, safety stock and reorder status for every active SKU, sorted soonest to stockout first, so the thing closest to zero is at the top rather than somewhere in a 200-row table.
Sync bookkeeping is kept, not thrown away
Restoc stores when your store last synced, whether the stock came from Shopify or sample data, how much of the catalogue it read and any sync error. That record is what we and you work from when a number looks wrong.
What Restoc does not do
We would rather you know the edges before you connect a store.
- No raw materials. Restoc tracks the SKUs Shopify knows about, which means finished goods. Wax, wicks, oils, jars, lids and labels are not in it, and a components bill of materials stays with your spreadsheet.
- No forecasting. There is no demand model and no seasonal projection. A reorder point is built from recent sales velocity, the lead time you entered and your safety stock percentage, and nothing else.
- Safety stock is one store-wide percentage. It is not set per SKU and it is not a statistical service level. You choose the cushion, you see it in units, and you can change it.
- No purchase orders. Vendors come across from Shopify so you can set a lead time per supplier, but there is no purchase order document, no supplier contact book and no order history. You get a suggested quantity and a CSV; placing the order is yours.
- One location per plan. Every plan covers a single location, so split stock across a studio and a third-party warehouse is not modelled yet.
- Web only. No mobile app, no browser extension. Alerts come to you by email and Slack instead.
- Sign-in is email and password. No single sign-on and no two-factor yet, and we will say so plainly rather than imply otherwise.
- Not open yet. Restoc is still in build, so there is nothing to install today.
Plans by catalogue size
Starter, $29 a month
Up to 200 tracked SKUs, one location. Reorder point per SKU, a store-wide velocity window of 7, 14 or 30 days, email alerts on crossings, the weekly reorder report with CSV export, and the days-of-inventory dashboard. $290 a year pays ten months' price for twelve months.
Growth, $59 a month
Up to 1,000 tracked SKUs, five times Starter's capacity and enforced at sync time. Everything in Starter plus Slack alerts through an incoming webhook, alongside email. $590 a year pays ten months for twelve.
Pro, $99 a month
Up to 2,000 tracked SKUs. Everything in Growth plus custom reorder rules: a per-SKU sales velocity window override, for the scent whose season does not match the rest of the catalogue. $990 a year pays ten months for twelve.
Questions
Does Restoc track wax, wicks and fragrance oil?
No. Restoc tracks the SKUs in your Shopify catalogue, which means finished candles, melts and diffusers. Raw materials and a components bill of materials are out of scope, so counting wicks stays where it is today.
Do I have to type a lead time into every variant?
No. Each product's vendor comes across from Shopify, and a vendor lead times screen lists every distinct vendor in your catalogue. Set one number per supplier and it fills every SKU from that supplier with no lead time of its own. Where one line needs longer, for a slow imported vessel or a long cure, type that lead time on the SKU and it keeps it.
What does the install pull from my Shopify store?
Your products and variants, your current inventory levels, the vendor on each product and your historical sales data. After that, Shopify webhooks and a scheduled sync job keep stock, sales and vendors current. A SKU with no sales in your chosen window is shown as having no velocity rather than given a guess.
What about a scent that sells in bursts rather than evenly?
Two controls. Use a shorter velocity window, so 7 days moves with a spike where a 30 day average would still be describing September in November. Then set a store-wide safety stock percentage, added on top of lead-time demand in every reorder point and shown in units per SKU. Pro lets you put the short window on the seasonal SKUs alone.
How many SKUs can I track, and what does it cost?
Starter is $29 a month for up to 200 tracked SKUs. Growth is $59 for up to 1,000. Pro is $99 for up to 2,000. Paid yearly those are $290, $590 and $990, ten months' price for twelve months. Every plan carries a 60-day free trial, covers one location, and is charged on your Shopify invoice.
Can the alerts go to Slack?
Slack alerts come with Growth and above, delivered to an incoming webhook you configure, alongside email. Email alerts are on every plan and go to your account address until you change it in alert settings.
Is there a mobile app?
No. Restoc is a web app, with no mobile app and no browser extension. The alerts are the mobile part: an email or a Slack message arrives wherever you already read those.
When can I start using it?
Not yet. Restoc is in build, so nothing is installable today and we are not going to pretend otherwise. Join the waitlist and you will hear from us when the Shopify install is open.