Bulk editing guides

How to bulk edit inventory in Shopify without guessing

Updated September 2026

Inventory is the one product field that changes by itself. Prices and titles sit still until someone edits them; available counts move with every sale, refund, and restock, around the clock. That is exactly what makes bulk inventory edits dangerous: between the moment a tool reads a count and the moment it writes one, the number may already be wrong. Here is how counts work in Shopify, what the native tools cover, and what a bulk editor has to do differently for inventory than for any other field.

How Shopify counts actually work

The native options and where they stop

Shopify’s admin lets you edit counts inline on the Inventory page, one page of variants at a time, and the product CSV import can set the Variant Inventory Qty column. Both work, and both share the same two gaps: there is no rule (“set everything in this collection to 0 at the warehouse” is a lot of typing), and there is no record of what the counts were before, so there is no undo. The CSV path adds a third gap: a stale file. Counts exported on Monday are fiction by Friday, and a plain importer writes the fiction anyway.

What a safe bulk inventory edit does differently

  1. Filter, then preview per variant. Pick the products, pick one location, and see every before and after count before anything is written. Variants that cannot take the edit are announced up front: SureEdit’s preview says how many variants will be skipped because they are not tracked or not stocked at that location, instead of failing them quietly later.
  2. Write compare-and-set, never blind. Every write says “set this count to 40, but only if it is still 25”. If a sale landed in between, Shopify itself rejects the write and SureEdit reports a conflict that shows both numbers. A blind write would silently erase the sale.
  3. Verify against the ledger, not a later read. Verified means Shopify confirmed the exact count was set. Counts keep moving with sales after that moment. If a sale lands in the seconds between the write and the check, SureEdit uses Shopify’s adjustment ledger to confirm the write landed, and the report marks that row as verified via the ledger after the count moved, so it stays distinguishable.
  4. Undo restores recorded numbers, and only those. SureEdit journals the count it read immediately before each write. Undo restores exactly those numbers. If an item sold after the edit, undo keeps the current number and lists the item as a conflict, worded with both numbers, for example:

count changed since this operation ran (recorded 40, now 37); kept the current count

That one line is the whole philosophy: you always see the number the tool knew and the number the world moved to, and nothing is overwritten without you choosing it. An explicit “Overwrite anyway” exists for when you do want the recorded number back, sales included, and it re-records the current count first so a further undo stays honest.

Adjusting instead of setting

Sometimes the right rule is relative: add 25 everywhere after a delivery, or remove 10 from a damaged batch. An adjust edit applies a signed delta to each variant’s current count. Two details matter: counts never go below zero (a −100 adjustment on a count of 25 sets it to 0 and the report says so), and the adjustment is still written compare-and-set on the count you previewed, so a mid-edit sale still surfaces as a conflict instead of compounding.

Multiple locations: use the CSV

A SureEdit wizard operation targets one location, which keeps the preview and the undo unambiguous. For multi-location updates, the verified CSV import is the right tool: the export offers one Inventory Available column per location you choose, untracked and unstocked variants export blank cells (a blank never writes anything on re-import), and the import writes each column to its own location through the same compare-and-set path. If a count changed between your preview and the run, that row is skipped and flagged with both numbers, exactly like the wizard.

Doing this with SureEdit

SureEdit bulk edits inventory the same way it edits every other field: filter, preview every before and after, write, verify, undo. Set or adjust the available count at one location from the wizard, or import per-location counts from a CSV. Every write is compare-and-set, every conflict shows both numbers, and undo restores the exact recorded counts while keeping anything that sold in the meantime. Inventory editing asks for its own Shopify permissions the first time you use it, in one click, without reinstalling.

WRITEREADMATCH ✓

Run this edit with proof, not hope

SureEdit sets and adjusts inventory with compare-and-set writes, ledger-backed verification, and an undo that never erases a sale. Free up to 50 products per edit.

Install free on Shopify

FAQ

Can I bulk edit inventory quantities in Shopify without a CSV?
Yes. Shopify’s admin can set counts on one page of products at a time, and a bulk editor app can filter to the exact variants and set or adjust the available count at one location in a single operation. The difference between tools is what happens when a count changes mid-edit: a safe editor writes compare-and-set, so a sale that lands during the run is flagged instead of overwritten.

What does a verified inventory edit actually mean?
Verified means Shopify confirmed the exact count was set. Counts keep moving with sales after that moment. A tool that re-reads a count minutes later and calls the difference a failure would be lying to you in the other direction; SureEdit uses Shopify’s own adjustment ledger to distinguish “my write landed and then a sale happened” from “my write did not land”.

Can I undo a bulk inventory change?
With SureEdit, yes: undo restores the exact counts recorded just before the operation ran. If an item sold in between, that item is kept at the current number and listed as a conflict showing both numbers, so you decide. Undo never guesses and never silently erases a sale.

Does bulk editing inventory work across multiple locations?
Each SureEdit wizard operation targets one location, which keeps the preview and the undo unambiguous. To update counts at several locations at once, use the CSV import instead: the export offers one Inventory Available column per location, and the import writes each column to its own location. See also bulk editing SKUs, barcodes and weights.