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.
The scan is read-only
Section titled “The scan is read-only”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.
Reading the report
Section titled “Reading the report”One row per variant and location — a drift is always a pair, never a variant on its own.
| Column | What it shows |
|---|---|
| Product | The bill’s name, with its SKU underneath |
| Location | Where the two numbers were compared |
| Local | What Assemblified holds |
| Shopify | What Shopify holds |
| Gap | The difference, signed — +3 means local is three above Shopify |
| Double-writes | How 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
Section titled “Export CSV”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.
Applying corrections
Section titled “Applying corrections”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.
When a scan or a correction fails
Section titled “When a scan or a correction fails”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.
Related
Section titled “Related”- Reconcile inventory — the broader routine for getting counts back in line
- Dynamic adjustment and Pre-assembled quantities — the two behaviours whose old combination caused this drift