Blog · 28 October 2026 · 7 min read

Partial stocktake on Shopify: are uncounted items set to zero?

Counting one shelf, not the whole store: what a Restock Ops stocktake writes, what it leaves alone, the one way to zero an item by mistake, and undo.

The question arrives in one of two moods. The nervous version: I counted the candle shelf on Tuesday, I am about to apply the stocktake, is everything I did not count about to become zero? The hopeful version: I want to zero out a bay we emptied, can I just count nothing and apply? The answer to both is the same rule, and it is worth stating plainly before the detail: a Restock Ops stocktake changes only the lines on its list whose counted quantity differs from what Shopify had. Anything not on the list is untouched. Anything on the list that matches is untouched. The one way to write a zero is to put a line on the list and leave its count at zero, and the rest of this post is about knowing when you have done that.

That rule makes partial counts the normal way to count, not an exception. A store that counts one category every Tuesday morning covers everything in a quarter without ever closing. This post walks through how lines get onto a stocktake, what happens at Apply, the accidental zero, how Shopify's own stock counts compare, and how to undo.

A stocktake starts empty

New stocktake asks for three things: the location, a name and an optional note. Nothing else. It does not ask for a collection, a vendor or a product list, and it does not preload the location's inventory. The list of lines is built as you count, which is the whole reason a partial count is safe: only what you touched is on it.

Lines arrive in two ways. Scanning or typing a barcode or SKU in the Scan box adds the variant with the scanned quantity, one by default, and scanning it again adds to the count. If the code matches several variants, the app shows up to ten candidates and lets you pick. The second way is the Add products without a scanner search, which adds the variants you select to the list with a count of zero, ready for you to type the number.

At the moment a line is added, the app reads that variant's on hand quantity at the stocktake's location from Shopify and stores it as the expected figure. Expected is therefore frozen to the moment of adding, which is deliberate, and the stocktake while selling post explains how the refresh step reconciles it before writing.

What Apply writes

Review and apply opens a modal that describes the write in one sentence before you confirm. The app takes every line on the list, keeps those whose counted figure differs from expected, and drops the rest. If the kept set is empty the modal says every counted line matches Shopify and the button reads Close stocktake; nothing is written. Otherwise the button reads Write N adjustments and one Shopify inventory adjustment is made, at the stocktake's location, changing the available quantity of each kept line by the difference, with the reason recorded as a cycle count.

Three categories of item are never in that write. Items not on the list, because the app has never heard of them in this stocktake. Lines whose count matches expected, because there is nothing to change. And lines for variants whose inventory is not tracked in Shopify, which the app shows but excludes from the maths; the tracked versus stocked post covers why those cannot be adjusted.

What happens to each kind of item when you apply a partial stocktake
ItemOn the list?Counted vs expectedWritten to Shopify?
Candle, counted 12, Shopify had 12YesEqualNo
Candle, counted 11, Shopify had 12YesShort by 1Yes, available minus 1
Candle, counted 14, Shopify had 12YesOver by 2Yes, available plus 2
Diffuser on the next shelf, never scannedNoNot applicableNo
Matches, added by search, count left at 0, Shopify had 30YesShort by 30Yes, available minus 30
Gift wrap, inventory not trackedYesIgnoredNo

The accidental zero

The fifth row of that table is the one to remember. A line added through the search box starts at zero. If you add it meaning to count it and then get called away, the stocktake now holds a line that says you found none, and Apply will believe you. The review modal lists each discrepancy as expected, an arrow, counted, with the signed difference, and a line reading 30 to 0 with minus 30 is hard to miss if you read the list. Read the list.

The fix before applying is either to type the real count or to remove the line with the Remove button in its row, which takes it off the list entirely. A removed line is as if it had never been added: no write, no record.

The same mechanism is also how you deliberately zero a bay you emptied. Add the variants by search, leave every count at zero, review the list, and apply. The write is honest about what it does, and the undo described below is there if the bay was not as empty as you thought.

Blank counts behave differently from zero. The count fields accept a blank, and a blank is ignored when you save the form, so the line keeps whatever it had before, which for a search-added line is still zero. Typing nothing is not the same as typing the right number.

The guard between review and write

Right before writing, the app re-reads Shopify's on hand quantity for every line it is about to change. If any of them moved since you added the line, because a sale went through or someone adjusted it in the admin, nothing is written and the modal tells you which products moved and to refresh expected values, review and apply again. This matters for partial counts because they tend to happen during trading hours, and a Tuesday morning count of a busy shelf will often meet a sale between the scan and the apply. The guard turns that into a second look rather than a wrong number.

If Shopify rejects the adjustment for any other reason, the app reports that nothing was changed and leaves the stocktake open. Shopify writes are all or nothing within a single call, so a stocktake is never half applied.

How Shopify's own stock counts compare

Shopify added stock counts to the admin in 2026, and they take the opposite approach to the list: a count is created with a defined set of products, and in the POS app staff can count only those listed items. In the admin counting overlay, scanning a product that is not in the count adds it. A product whose inventory changes during the count is marked outdated and cannot be counted until refreshed. Those are the behaviours Shopify documents on its stock counts help page and its POS stock counts page.

What those pages do not state, in the sections we read, is what happens to a listed product that nobody enters a quantity for when the count is completed. Before trusting a partial count in Shopify's tool, create a count with two products, enter a quantity for one, complete it, and look at the second. The comparison of admin stock counts and the app goes through the other differences, including staff attribution, which Restock Ops does not have.

The design difference is the point. Shopify's count says: here is what to count, go count it. The Restock Ops stocktake says: show me what you counted. The first is better for a planned full count with several staff. The second is better for a Tuesday shelf, because the list and the work are the same thing and there is no uncounted remainder to wonder about.

Undo

An applied stocktake keeps the delta it wrote on each line. Undo writes a second adjustment that reverses those deltas, recorded as a correction that points at the original write, so the inventory history in Shopify shows both halves and why. It reverses the stocktake's own changes only; sales and other adjustments since are left alone, which is the behaviour you want when the thing you are undoing is a wrong count rather than everything that happened that day. The undo post has the detail and the cases where undo is refused.

A routine for partial counts

Name the stocktake after the shelf and the date, so Candles 28 Oct means something in the list next month. Scan everything on the shelf; prefer the scanner to the search box, because scanned lines carry their count from the first beep and never sit at zero. Before Review and apply, sort your eyes to the discrepancies: anything showing a drop to zero that you did not intend is a line to fix or remove. Apply, read the summary, and if the guard sends you back, refresh and look again rather than re-scanning. Then start next week's count from an empty list again, which is the feature.

FAQ

If I count only some products, does the stocktake set the rest to zero?

No. Products that are not on the stocktake's list are never written. The app adjusts only lines whose counted quantity differs from the expected figure it recorded when the line was added. A product you never scanned or added is simply not part of the write.

How could a stocktake zero an item by accident?

By adding it through the search box, which creates the line with a count of zero, and then applying without typing the real count. The review modal lists that line as expected to 0 with a negative difference. Type the count or remove the line before applying. Scanned lines do not have this problem because the scan itself sets the count.

Can I use a stocktake to zero a bay I have emptied?

Yes. Add the variants by search, leave their counts at zero, check the review list shows the drops you expect, and apply. One adjustment per line is written with a cycle count reason. If you were wrong, Undo reverses exactly those deltas with a correction adjustment.

What does Shopify's own stock count do with listed items left uncounted?

Shopify's help pages describe how listed items are counted, how scanning adds products in the admin and how changed items are marked outdated, but we did not find a statement about uncounted listed items at completion. Test it with a two product count before relying on it for a partial count.

Try it on your store. Restock Ops adds purchase orders with partial receiving, supplier notes, cost history, barcode labels, scanner stocktakes and a reorder report on top of Shopify inventory. From $19/month, 14-day free trial.

Install on Shopify Watch the demo

Sources