WooCommerce bulk price change: how to raise prices by a percentage, variations included
You can change prices in bulk in WooCommerce four ways: bulk edit on the product list, a price editing plugin, a CSV file, or a conversation with the chat. Bulk edit is enough for simple products. With variations, rounding and the need to undo, a CSV file, a plugin or the chat with a preview of every price works better.
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 scene: a supplier raises prices by 8 percent
Thursday, 9:40 pm. The wholesaler has sent a new price list: from Monday everything in the solar lamp range goes up by 8 percent. In the store that's 140 products, 30 of them variable, each in three colours. Several hundred prices in all. On top of that, some lamps are on sale until the end of the month.
A job like this has three traps that guides rarely mention. Variations don't change along with the product on the list. Prices after the rise come out with odd cents, like €53.99 × 1.08 = €58.31. And if something goes wrong, there's no simple undo button.
This post covers a permanent change to the regular price. Temporary reductions with a start and end date are covered in the sale schedule, and the whole November campaign in the guide to Black Friday in WooCommerce.
Four routes to changing the prices of many products
| Bulk edit in the admin | Price editing plugin | CSV file | Chat with the TellMyShop plugin | |
|---|---|---|---|---|
| Where you do it | Products → All Products, Bulk actions | in the plugin's own screen | export, spreadsheet, import | in the conversation |
| Rise by a percentage | yes | yes | spreadsheet formula | yes |
| Variations of variable products | not from the product list, only in each product separately | depends on the plugin | yes, each variation is a row | yes, all variations of the product |
| Rounding to .99 or whole euros | no | depends on the plugin | spreadsheet formula | yes |
| Preview before saving | no | depends on the plugin | you see the spreadsheet, not the store | yes, old and new price for each item |
| Undo | by hand | depends on the plugin | import the old file | from the change history, the whole operation at once |
| Who it suits | a dozen or so simple products | large catalogues, regular changes | people comfortable with spreadsheets | an owner who'd rather describe the change in words |
Bulk edit is described in the WooCommerce documentation on bulk editing products. The price field lets you set it, or increase or decrease it by an amount or a percentage. For import and export there's the built-in CSV importer and exporter, which matches products by ID or SKU.
Bulk edit: fast, but only for simple products
On the product list you select products, choose Edit from Bulk actions and set the regular price to increase by a percentage. For simple products it's the fastest route. There are two limits. Variation prices you change in the Variations tab of each variable product, one by one. You don't see the change before saving, and after saving there's no undo button.
CSV file: full control and the best backup
- Export the products from the product list with the Export button. Keep this file unchanged; it's your copy of the prices before the rise.
- Make a copy of the file and open it in a spreadsheet. Variations are separate rows, so you'll change them too.
- Calculate the new prices with a formula, for example price times 1.08, and round straight away.
- Delete the columns you're not changing. Keep the ID or SKU and the prices. Fewer columns means less risk of overwriting descriptions.
- Import the file with the option to update existing products.
- Check a few products in the store, including one variable product and one on sale.
Be careful with undoing. An 8 percent cut doesn't reverse an 8 percent rise. €100 after the rise is €108, and €108 cut by 8 percent is €99.36. To go back, you divide by 1.08 or import the file from step one.
A price editing plugin
Bulk edit plugins add filters by category, tag or stock, variation prices and sometimes a change history. One example is the extension for variation prices described in the WooCommerce documentation. It makes sense when you change prices every month. For a one-off rise it's often just another plugin to keep updated forever.
How to do it in a conversation with the chat
In the morning you tell your chat (Claude or ChatGPT) what should change, read the preview and approve. The TellMyShop plugin for WordPress and WooCommerce changes prices in one category (up to 200 products per step, the rest in the next ones) or a list of up to 50 products. A variable product changes in all its variations, and the preview shows each one separately.
You: Raise the regular prices in the Solar lamps category by 8 percent, rounded to the nearest .99 ending.
Your chat: Preview: 140 products, 212 items including variations. Prices including tax, the way the store enters them. Examples:
12 products are on sale. Customers will still pay the sale price, and the new regular price will be struck through next to it.
You: Do it.
Your chat: Saved 212 of 212. The operation number for undoing is in the change history.
Lumo solar lamp, regular price
old version: €53.99
new version: €57.99
Retro string lights, warm white variation, regular price
old version: €89.99
new version: €96.99
Before saving, the chat blocks prices of zero and sale prices higher than the regular price, and adds a warning for a change of more than half. The preview says whether amounts include tax, according to the store setting. You can undo the whole operation with one request or in the plugin panel, in the change history. Customers see the new prices straight away, price comparison sites at the next refresh of the product feed, and the product page may show the old price for a while if the site uses page caching.
Prices, sales, coupons and stock need the Sales switch. The owner turns it on separately in the plugin panel, and until then the chat can read prices and prepare a plan, but won't save them. In TellMyShop Free you get exactly that plan: a list of products, the price now and the price after the change. Saving with a preview and undo works in TellMyShop Pro with the Sales switch on. Details are on the TellMyShop for WordPress and WooCommerce page, prices on the pricing page.
Reductions and Omnibus: what the plugin doesn't calculate
When you announce a reduction, the rules require showing the lowest price from the 30 days before it. They come from the EU Omnibus Directive. National consumer authorities publish guidance on how to label that price; the Polish regulator's position, for example, is summarised in a KPMG legal alert (in Polish). WooCommerce doesn't do this itself, and TellMyShop neither calculates nor displays this price. You need a separate plugin for it. The chat reminds you about it when you plan a sale with it. More guides are on the blog.
Questions and answers
How do I raise the prices of all products in WooCommerce by a percentage?
Go to Products → All Products, select the products, choose Edit from Bulk actions and set the price to increase by a percentage. This works well for simple products. Variation prices you change in each variable product separately, or with a CSV file, a plugin or the chat.
How do I undo a bulk price change in WooCommerce?
WooCommerce itself has no undo button. The safest way is to export products to a CSV file before the change and import that file if something goes wrong. Remember that an 8 percent cut doesn't reverse an 8 percent rise: €100 after the rise is €108, and after the cut it's €99.36.
Does a bulk price change also change sale prices?
It depends on the method. In bulk edit you set the regular and sale price separately. If a product is on sale, the customer still pays the sale price, and the new regular price appears next to it, struck through. Check this before saving.
Does a price rise have anything to do with the Omnibus rules?
Not the rise itself. The obligation to show the lowest price from 30 days applies to reductions. But a rise changes the price history from which that lowest price is calculated at your next sale. A separate plugin installed in the store calculates it, not WooCommerce or TellMyShop.
Does TellMyShop change prices without turning anything on?
No. Prices, sales, coupons and stock need the Sales switch, which the owner turns on separately in the plugin panel. Without it, the chat only prepares a plan of changes. Once it's on, every price change goes through a preview and your approval.
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.