Bulk-update product prices by category, percentage, or list

WooCommerceIntermediate~20 min

Before you start

A connected store with the WooCommerce integration enabled and its product and variation update abilities turned on. Take a database backup before a large repricing run.

A seasonal price change, a supplier increase, a sale across one category: the math is simple, but doing it by hand across a few hundred products is where mistakes get expensive. Fat-finger one decimal and a product ships at a tenth of its price.

This is deliberately the slowest recipe in the book, because it touches money. The agent does the arithmetic and lays out every old price beside its new one, and it will not write a single value until you have read the whole table and said go.

The prompt
I want to reprice [the products in the "Summer" category]. The rule is
[raise every price by 10 percent]. This touches money, so go slowly and
change nothing until I say so.
First pass, read only: list those products with their current regular and
sale prices, work out the new price for each from the rule, and hand me a
full before-and-after table, one row per product. For any variable product,
show the new price for each variation, not just the parent.
Do not write a single price until I have read the whole table and approved
it. When I do, apply the changes in batches of [20], repricing each variation
where a product is variable, and pause after every batch. At the end, list
every product and variation you repriced with its old and new price.

Why this is safe to run

Everything up to your approval is a read. Listing the products and computing new prices changes nothing, so the before-and-after table is a plan, not a report of something already done. That same table is your rollback sheet: it holds every original price, so undoing the run is just approving the reverse.

Nothing is written until you say so, and then only in small batches you can halt after the first one. The recipe reprices variations as well as parents, so a variable product does not end up with a new headline price and stale variation prices. The WooCommerce abilities are off until you enable them, every write is gated on the manage-WooCommerce capability, and each repriced product and variation lands in the Activity Log.

Already connected? You do not have to paste this. Ask your agent for the “bulk-update product prices” recipe, or just describe the rule and the category, and it runs the same approve-then-batch flow on your own store.

How it works

  1. List the products in the category or price list you name with their current prices.
  2. Work out the new price for each one from the rule you gave, changing nothing yet.
  3. Show the full before-and-after price table and wait for your explicit approval.
  4. Apply the approved prices in small batches, repricing each variation where a product is variable.
  5. Report every product and variation it repriced with the old and new value.

Questions

Could it change every price at once by mistake?
No. It shows the complete before-and-after table and writes nothing until you approve it, then works in small batches you can stop after any one.
Does it handle variable products?
Yes. When a product has variations it reprices each variation, not just the parent, so a variable product does not end up with mismatched prices.