Guide
Getting started
Five short steps. The first loop, from connecting Google to an applied sheet, takes about ten minutes.
1. Connect Google
Install njX Sheets Edit & Undo from the Shopify App Store and open it. Home asks you to connect Google once: you choose your account and allow the drive.file permission, which lets the app see only the files it creates. Nothing else in your Drive is visible to it. You can disconnect at any time; that deletes the stored token and leaves your sheets where they are.
2. Export
Choose what to export (the whole catalog, a collection, a vendor, a tag, a status or a search) and which fields: prices, texts and SEO, organisation, variants or your own list. Press Export: the app creates a Google Sheet in your Drive with one row per product or per variant, and keeps a snapshot of the exported fields under a name with the date.
3. Edit
Open the sheet in Google Sheets or right in the app. Filters, fill down, find and replace and formulas all work: =D2*0.9 is applied as the number it shows. The grey row under the header says what each column takes. A blank cell means no change; the word CLEAR empties a text field. The id columns are protected with a warning: leave them as they are.
4. Apply
Press Apply in the app. It reads the sheet and shows a preview: what will change, which rows will be skipped and why, and which products were changed in Shopify since the export. Red marks (a price of 0, a big drop, a compare-at price below the price, an empty description) need a tick. Nothing is written until you confirm. The result of every row is written to the _status column of the sheet, and a card goes to your channels.
5. Undo
Every apply is one batch. Undo it from the card in your chat or from History: a preview shows every value that will return, and a value changed in Shopify since is left alone. To go further back, Back to before this sheet returns the products to the snapshot taken at the export, with its own preview.
More you can do
Create a sheet: scope and filters
Create a sheet starts from a preset card: prices, texts and SEO, organisation, variants or your own list. A live line, You will get, says what the sheet will hold, the name fills itself in and you can change it. Narrow the products by type, on sale or not on sale, a price range, updated in the last N days, or a missing image, description, SEO title or type, and by status. Vendors, tags and collections are picked from lists (the 250 most used, with a text field for any other). A scrollable preview table shows the products that match, and the button counts them: Create the sheet · 120 products. After the export three small steps tell you what to do next: open it, edit it, apply it.
Apply only where the sheet changed
Apply stays off while the sheet has not been edited since the export or since the last apply, and the sheet carries the mark Same as the store. Edit a cell and the button comes back. This keeps an old preview from being run twice by habit.
A preview in the background
A big sheet is read in the background. The preview shows a progress bar with its phase: Reading, Comparing (n of N) and Writing. You can leave the page and come back; there is one preview per sheet at a time, and a preview that runs longer than 10 minutes is stopped with a note.
History: was and now
Open the details of any apply, Undo or Back to before and every value is listed as was and now. Filter the list by product, field or result, or switch to Side by side to read the two columns together.
Search, chips and a period
Sheets, History and the other lists have a search by name, chips for the kind (prices, texts, applied, undone and so on) and a period: today, 7 days, 30 days. The bar appears when a list has four rows or more. Archived sheets stay hidden until you ask for them.
Apply later, with an automatic Undo
On Pro and Business, Apply later schedules the apply for a date and time. Add an optional date for an automatic Undo and the changes end by themselves: a sale starts on Friday and ends on Sunday without anyone online. Scheduled applies are listed in a Scheduled block on Sheets, with a Cancel link, and counted on Home. If a timer cannot run, a card goes to your channels and the History row says why.
The Edit here toggle
Edit here is a toggle on the sheet toolbar: Hidden or Shown. Shown opens the Google editor inside the app; Hidden folds it away so the page stays short.
Run a sale from a sheet
Put the old price in compare_at and the new one in price; the product shows the old price crossed out. The new price can be a formula from the compare-at cell, like =ROUND(G3*0.8, 2) for 20% off. For a percent off the current price, add a helper column H, discount %, and use =ROUND(G3*(1-H3/100), 2); extra columns are ignored. A formula in F that refers to F is circular, so refer to the other column. If compare_at is empty, copy the price into it first. The preview shows the percentage for every row, Undo ends the sale, and Apply later starts and ends it on dates.
Stock & media: edit sheets
On Pro and Business, Stock & media keeps a second kind of sheet: edit sheets. They write what you type, with a preview first and the result in History, and they have no Undo by design: a stock count or a new alt text stays as you wrote it. The first time, press Allow stock and media access: Shopify asks once for access to your locations, stock and files. You can take the access back at any time from Shopify; the app then asks again before the next edit sheet. Then Create an edit sheet with one of three sets. Inventory has one row per variant and one column per location. Images has one row per image or video of a product, with its alt text and position; position 1 is the main image. Category has one row per product with the path of the Shopify taxonomy, like Apparel & Accessories > Clothing. Edit sheets share the count of sheets and the rows of your plan, and one write covers up to 10,000 values.
Add images by URL
Products that arrived without pictures, after an import or a feed, get an empty row on the Images sheet. Paste a public image URL (https) into src on a row without media_id, add an alt text if you like, and Apply: the image is appended after the ones the product has. To add one more image to a product that has some, type a new row with its product_id, an empty media_id and the URL in src. Shopify processes the image after the write, so it can take a moment to show; the _status column says Added, and the row gets its media_id so the next Apply does not add it twice. A cell that is not a URL is skipped with the reason; a URL Shopify cannot use fails on its own row, in Shopify's words. Images are only added here: deleting or replacing an image stays in Shopify admin.
Set or Add, and Write anyway
When you apply an Inventory sheet, pick how its numbers are written. Set the number makes the cell the stock at that location. Add to stock adds the cell to what is in stock now, so 3 adds three and -2 takes two away. A cell left as it was exported is no change. Google Sheets stores a typed +5 as the number 5, so to add exactly the number the cell showed at the export, type it as text: '+5. A blank cell is a variant not stocked at that location or not tracked; a number typed there is skipped. If stock moved in Shopify since the export, the preview marks the row: Set skips it as changed meanwhile, unless you tick Write anyway. The _status column of the sheet and History say what was written. After the write, the cells you added to show the new stock; the next Apply changes nothing until you edit again.
Careful or Fast
Before an apply or an undo of more than five products you choose how it is written, with a rough time for each. Careful reads every product again right before writing it, so a value changed in Shopify meanwhile is left alone; it takes longer. Fast checks prices, then writes the rest as the preview showed it, several products at once; a title, tags or text changed in Shopify in the last minutes may be overwritten, and other apps of your store may wait on Shopify for a moment. The times are approximate and depend on the store and on Shopify. Apply later always uses Careful.
Prices from a supplier file
Add the price list as its own tab in our spreadsheet; only the Products and Variants tabs are read, so the extra tab is left alone. Put =VLOOKUP(SKU, Supplier!A:C, 3, FALSE) into the price column, with SKU the cell of the row and Supplier the name of your tab, and press Apply.