Skip to content

Inventory Health

Settings → Inventory Health answers one question: has Assemblified’s own count of a finished good drifted above what Shopify says?

It can, for one historical reason. An old combination of settings — only sell pre-assembled quantitiesOnly sell pre-assembledA per-bill toggle (Enhanced plan) that caps Shopify-displayed availability at the pre-assembled stock count. Buildable capacity is hidden — customers can only buy what's on the shelf. One of three mutually exclusive toggles: switching it on switches dynamic adjustment and maintain inventory level off. Read more → together with dynamic adjustmentDynamic adjustmentA per-bill toggle that recalculates the bill's Shopify-displayed quantity after every order: the bottleneck-resource count plus pre-assembled stock. One of three mutually exclusive toggles — switching it on switches only-sell-pre-assembled and maintain inventory level off. Read more → — could make the same order reduce a variant twice, once from each. That combination is no longer allowed, but a shop that ran it may still be carrying the difference. This tool finds it and closes it.

Nothing happens when you open the page. You get an empty state with one button, Scan for drift, and the scan compares your local numbers against Shopify’s and changes nothing.

A scan is a live read of both sides, so it takes a moment on a large catalogue. Leave it running.

One row per variant and location — a drift is always a pair, never a variant on its own.

ColumnWhat it shows
ProductThe bill’s name, with its SKU underneath
LocationWhere the two numbers were compared
LocalWhat Assemblified holds
ShopifyWhat Shopify holds
GapThe difference, signed — +3 means local is three above Shopify
Double-writesHow many past executions wrote twice for this row, which is the evidence of how the gap arose

If a row has been corrected before, it also says Previously reconciled n× under the name. A row that keeps coming back is telling you the cause is still live, not that the correction failed.

Rows whose two sides simply match never appear. A row that appears with no gap is one where a level could not be read on one side — it is shown for the record, and its checkbox is disabled, because there is nothing to correct.

Export CSV downloads the whole report — every row, whether you selected it or not — as a forensic record to check before you apply anything. It carries everything the table shows plus the SKU, the variant name and the bill’s full material list. The file is named for the day of the scan, not the day of the download.

Select the rows you want and press Apply selected corrections. Selecting all selects every fixable row, not every row.

The app asks first, and says what it is about to do: it sets the local inventory of the selected variants to match Shopify. Shopify is the side that stays put.

A correction re-scans immediately afterwards, so the rows it fixed have no gap left and drop out of the report.

Failures appear as one notice at the top of the card with a Re-scan action, and the notice says what went wrong. Nothing partial is left behind: a correction that failed did not half-apply.