Install

Article · 6 min read

A bulk edit, an import or an app changed your Shopify prices: how to undo it, and why there is no Undo button

22 October 2026 · by njX

A CSV import with the wrong column, a bulk editor applied to the wrong collection, a repricing app that misread a feed: the result is the same, hundreds of prices are wrong and the orders are already coming in. Shopify keeps no price history and has no undo. Here is where wrong prices come from, how to find what changed and when, what you can put back by hand, and how to be able to restore everything to the minute before.

Where wrong prices come from

Why there is no undo

Shopify stores the current value of a price, not its history. The admin’s activity log tells you that a product was edited and by whom, not what the price was before. The bulk editor has no revert. An import cannot be rolled back; you can only import again, if you still have the previous file and nothing else changed since. Apps that change prices sometimes undo their own changes, never anyone else’s.

Finding what changed

  1. When: the first wrong order, the import’s timestamp, the app’s log. You need a moment, to the minute.
  2. What: in the admin, filter products by “updated after” that moment. It gives you the products, not the fields or the old values.
  3. The old values: your last export, a supplier price list, a theme cache, a screenshot. Most stores have none of these for every variant.

With a few products you fix them by hand from memory. With a few hundred, you need the record you did not keep.

Keeping the record

The only way to undo a price change is to have written down the price before it changed. That means a snapshot of every variant, price, crossed-out price and status, and a row for every change after it: what, was → now, when, and where it came from. With that, “back to yesterday 23:59” or “back to before the import” is a list of writes you can read before you confirm them. The same record tells you at once what the first check found already wrong: a price at 0, a compare-at below the price, one variant far below its siblings.

Doing it with one click

njX Price Rollback & Snapshots copies every variant into a snapshot on install and logs every change it sees, whoever made it: a person, an import, a feed, another app. A restore is three steps: pick one product, a collection, a search or everything that changed between two moments; pick the moment to go back to; read the preview of every value it would write, and confirm. Each value is read again right before the write and skipped if it moved. Five checks with a Restore button in the alert catch a price at 0, a price cut in half, a compare-at below the price. Named snapshots, “Before BFCM”, and timers that put a sale back at a set time are on the higher plans. The app reads and writes products only; it has no access to orders or customers.