WooCommerce bulk stock update: deliveries and stocktakes without endless clicking

A WooCommerce bulk stock update means entering new quantities for many products and variations at once, usually after a delivery or a stocktake. You set the same stock for many products with bulk edit. Different numbers you upload with a CSV file matched by SKU. Before saving, compare old and new quantities so a typo doesn't zero out a best seller.

Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read

The delivery's here, the admin is waiting

Thursday, 9:50 pm. On the desk is a supplier invoice for 80 items, including hoodies in five sizes. Each size is a separate variation, so in the admin that means opening the product, expanding the variation, adding the number, saving, and doing it several dozen times. At item 43 it's easy to add 20 units to size L instead of M, and the mistake only shows up with the first order that can't be shipped.

This post is about getting through an update like that without an evening of clicking. If you're more interested in what to do with products at zero after a count, read out of stock in WooCommerce: hide or show.

Which route to choose?

WooCommerce offers three built-in methods, and each suits a different situation.

RouteWhen it fitsWhat it won't doRisk
Bulk edit on the product listmany products get the same value, e.g. the status “Out of stock”different quantities for different products, variation stocksmall, but it's easy to tick one product too many
Editing product by producta few items, including variationsfast work on dozens of itemstypos when tired
CSV import with updatea delivery or count with different numbers, variations tooa preview of differences before savinga wrong file overwrites stock across the catalogue
Conversation with the chat in TellMyShop Proa supplier list in any form, with an old → new previewa link to warehouse softwareeach batch waits for your “yes”

The WooCommerce documentation covers import in the article on the product CSV importer and exporter. The key option is “Update existing products”. Without it, rows with an existing SKU are skipped.

How to change stock with CSV, step by step

This route works without extra plugins and handles variations.

  1. Go to Products and export the catalogue with the columns ID, SKU, name, type, stock and “In stock?”. Keep this file as a copy from before the changes.
  2. Make a second copy and remove the columns you're not changing. Fewer columns means less chance of overwriting a price or description by accident.
  3. Enter the new quantities. For a delivery, add it to the current stock; for a count, enter the number counted on the shelf.
  4. Check the variations. Each size and colour has a separate row with its own SKU.
  5. In the import, tick “Update existing products” and map the columns. The first time, upload a file with two or three rows and check those products in the store.
  6. Upload the whole file, then open the stock report and look through the products at zero.

The stock report in WooCommerce Analytics shows quantities and status for products and variations, as described on the stock report page. It's a good place for a final check.

A physical count: what to watch for

A stocktake in an online store has one trap: the store sells while you count. 12 units counted in the morning may by 3 pm mean 10 in the system and 12 in your file. You have two options. Count outside busy hours and upload straight away, or record the difference against the stock at the time of counting, not just the number from the shelf.

The second thing is products without stock management turned on. For those, WooCommerce keeps a status, not a quantity. Entering a number in the CSV turns on stock management for that product, so from then on the store will switch availability by itself.

The third is product ads. When availability in the feed for Google differs from the page, Merchant Center may reject the product. This is described in the specification of the availability attribute in Merchant Center. After a big stock change, check that your product feed plugin has already sent the new data. The same goes for free product listings in Google: availability from the page's structured data can appear next to the product in results, as the guide to merchant listing structured data explains. A page at zero stock that looks available in Google disappoints the customer before they even reach the store.

How to do it in a conversation with the chat

The TellMyShop plugin for WordPress and WooCommerce connects your store to your chat (Claude or ChatGPT). The chat changes stock in TellMyShop Pro once you turn on the Sales switch in the plugin panel. That switch covers prices, sales, discount codes, stock, variations and shipping, and stays on until you turn it off. Without it the chat prepares the whole preview, but nothing can be saved.

Friday, 8:20 am. You paste the list from the invoice into the conversation: SKU, name, quantity. The chat matches items by SKU and lists the ones it couldn't find separately instead of guessing. With several dozen items it first checks whether the work fits within the hourly limits set in the panel, and works in batches of up to 50 products or variations.

You: A delivery came in. Add the quantities from this list to stock. SKU, quantity: BZB-M 20, BZB-L 15, BZB-XL 10, KUB-330 24, TOR-LN 0.

Your chat: I found 4 of the 5 items. TOR-LN isn't in the store, so I'm skipping it. Preview:

Save? (yes / no)

You: Yes.

Your chat: Saved, 4 changes. Size L can be bought again.

Card status: waiting for your “yes”
change preview

Basic zip hoodie, size M

old version: stock 3

new version: stock 23

Basic zip hoodie, size L

old version: stock 0, out of stock

new version: stock 15, in stock

Basic zip hoodie, size XL

old version: stock 2

new version: stock 12

Mug 330 ml

old version: stock 6

new version: stock 30

Illustration: products, numbers and replies are examples.

The values in the conversation are examples. After saving, each change goes into the change history, and you can undo most of them. With stock, remember what the FAQ below says: undoing restores the quantity from before the change, so sales in the meantime would be overwritten.

In TellMyShop Free the chat saves nothing, but it finds products with zero or low stock and compares them with sales, to show which gaps hurt most. The plugin can also send a weekly email with low stock.

What the chat won't do: connect to your wholesaler or warehouse software, or watch stock on its own. You provide the numbers. You can change prices after a delivery in the same conversation; the methods are in the post on WooCommerce bulk price changes. For products with many sizes, the rules in the post on WooCommerce product variations help too.

Start with TellMyShop Free to see what's missing from the shelf. Read more about the plugin on the TellMyShop for WordPress and WooCommerce page, and Pro prices are on the pricing page.

Questions and answers

Can WooCommerce change the stock of many products at once?

Partly. Bulk edit on the product list sets the same quantity or the same status for all selected products, but you can't enter different quantities for different items there. Different numbers for many products you upload with a CSV file, using the option to update existing products.

How do I update variation stock in WooCommerce?

Each variation has its own stock, so you change it in the product's Variations tab or in a CSV file, where variations have separate rows. Bulk edit on the product list doesn't change variation stock.

What should I do before a stocktake in WooCommerce?

Export products with SKU and current stock to a file and keep it as a backup. Decide whether the store takes orders while you count, because sales during the count will throw the numbers off. After the count, compare the differences before saving anything.

Is undoing a stock change safe?

Undoing restores the quantity from before the change. If someone has bought something since, that sale will be overwritten. So undo stock straight after a mistake, and later rather fix it with a new change.

Will the TellMyShop plugin connect my store to my warehouse software?

No. TellMyShop doesn't sync stock with a wholesaler or warehouse software. The chat changes stock when you ask, using the numbers you give it, for example from a pasted delivery list.

WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.

TellMyShop for WordPress and WooCommerce

Your chat reads the site, shows every change before saving it and saves only after your yes. You can undo most changes with one sentence. Works with Claude or ChatGPT, free accounts included.

Read next