How often does Restoc read stock from Shopify?
There is no one interval to quote, so here is the plain answer: Restoc is built to run a scheduled sync pass once a day, with Shopify's order webhook carrying each sale as it lands. Between them, inventory levels and sales history are kept current without anyone pressing refresh.
Two paths into the same number
Stock moves for two reasons. An order comes in, or you change a count yourself in Shopify admin. Those two reach Restoc by different routes, and the difference matters.
Orders arrive by webhook
Shopify pushes a webhook when an order is created. The install flow registers that topic, along with the other topics Restoc listens on. A sale is meant to land in Restoc as it happens, rather than wait for a clock.
Hand edits wait for the daily pass
A scheduled sync job re-reads inventory levels and sales in the background, built to run once a day. That is the floor under everything. A count you correct yourself in admin is picked up on that pass, not the second you save it. We would rather say that plainly than imply a stopwatch we do not run.
Token-connected stores get the daily pass only
You can also connect by pasting an Admin API access token from your own custom app. That path registers no webhooks at all. Stock then refreshes on the daily scheduled pass and nothing in between. Connect through the install flow and you get both routes.
One more limit, said plainly: Restoc is a web app. There is no mobile app and no browser extension.
What the first read brings in
Connecting is not magic, but it no longer leaves you staring at an empty dashboard either.
Your catalogue, up to your plan's cap
The first read pulls your products into tracked SKUs. What bounds the count is your plan: 200 tracked SKUs on Starter, 1,000 on Growth, 2,000 on Pro, one location on each. That cap is enforced server-side at sync time, and the app shows your current usage against it, with a direct upgrade route when you approach it.
Thirty days of sales come with you
The install backfills 30 days of sales history. A SKU that sold last week has velocity the first time you open the dashboard, instead of reading as no sales while a window slowly fills. Choose the window you trust, 7, 14 or 30 days store-wide, with a per-SKU override on Pro. Sales older than that backfill are not pulled, and everything after it accrues from the orders that arrive once the connection is live.
What a fresh reading is actually for
Sync timing only matters because of what sits on top of it. These read that number.
- The reorder point per SKU, worked out from the velocity window you set and the lead time you enter, with a store-wide safety stock percentage added on top of lead-time demand for items that sell in bursts.
- The dashboard, showing current stock, days of inventory remaining, safety stock in units and reorder status per active SKU.
- The alert, fired when a SKU crosses its reorder point, delivered through a background job by email, and by Slack webhook on Growth and above.
- The weekly reorder report, listing every SKU below its reorder point with a suggested order quantity, viewable in the app and exportable as CSV.
The scheduled pass also refreshes each SKU's vendor from Shopify, so a SKU with no lead time of its own can take the lead time you set once for that vendor instead of being typed in row by row.
A late reading makes a late alert. That is the whole reason a daily schedule sits underneath the webhook.
What we will not quote you
A minute figure, dressed up as a guarantee. We do not have one to give you, so you will not see one here.
What Restoc does keep is a record of the sync itself, against your store: when it last synced, whether the stock came from Shopify or from sample data, how much of the catalogue it read, and any error the sync hit. That is bookkeeping, held so a partial or stalled read can be found and fixed instead of sitting behind a confident-looking number.
Questions
How often does Shopify inventory sync with Restoc?
Two routes, and no single interval covers both. Orders arrive by webhook, so a sale is meant to register as it happens. Underneath that sits a scheduled sync job, built to run once a day, which re-reads inventory levels and sales. A stock count you change by hand in Shopify admin is picked up on that daily pass.
What is the difference between the webhook and the daily scheduled sync?
A webhook is Shopify telling Restoc that an order just happened. The scheduled sync is Restoc going back and reading the current state again. The first is narrow and event-driven. The second is broad and repeatable. An alert built on only one of them can go quiet without saying so.
Does the sync run when I am not logged in?
That is the point of a scheduled job. The daily pass is built to run in the background against your store, and alert delivery runs as a background job too. You are not meant to open a tab to find out you should have ordered last week.
Will I have any sales velocity on day one?
Yes. The install backfills 30 days of sales history, so a SKU that has been selling has a velocity figure and a reorder point the first time you look, rather than reading as no sales for weeks. Sales from before that 30-day window are not pulled. Everything after it accrues from orders arriving once the connection is live, measured over the window you choose: 7, 14 or 30 days.
How many SKUs will Restoc track for my store?
As many as your plan allows: 200 tracked SKUs on Starter, 1,000 on Growth, 2,000 on Pro, one location on each plan. The cap is enforced server-side at sync time rather than left to the browser, and the app shows your current usage against the limit with a direct upgrade route when you get close to it.
How soon after a SKU crosses its reorder point do I hear about it?
The alert is fired on the crossing, not held for a weekly digest. It goes out through the background delivery job. Email alerts are on every plan. Slack alerts, through an incoming webhook you configure, come with Growth and above. The weekly reorder report is separate: a full list of what is below its reorder point, with suggested order quantities.
Will a second sync pass send me the same alert twice?
No, that is designed out. Alert delivery runs through an idempotent background job. Re-running it for the same SKU and the same crossing does not fire a duplicate email or a duplicate Slack message. One crossing, one alert. If the first send fails, the job retries rather than marking it done.
What does Restoc record about each sync?
Four things, kept against your store: the time of the last sync, whether the stock came from Shopify or from sample data, how much of the catalogue was read, and any error the sync hit. It is bookkeeping, not product data. Stale stock that looks current is worse than stock that admits it is stale.