Skip to main content
Updates / How to Bulk Edit WooCommerce Variable Products
← All updates
 
Blog

How to Bulk Edit WooCommerce Variable Products

When I bulk edit WooCommerce variable products, I want every size and color across the catalog updated in a single pass. WooCommerce’s built-in tools only get partway there, because the Variations tab handles one product’s variations at a time and the All Products screen doesn’t change variation prices at all. 

To cover the whole catalog, I export the variations with WP All Export, which gives each one its own spreadsheet row, and make my changes there. WP All Import then matches every edited row to its existing variation by ID and updates only the fields included in the export. Before settling on this method, I checked how far WooCommerce’s own tools could go at the variation level, and that’s where this guide begins.

Why WooCommerce’s Bulk Edit Skips Your Variations 

I checked the bulk edit screen under Products › All Products first. Its Price and Sale fields can set a new price or adjust the current price by a fixed amount or percentage, but WooCommerce’s documentation states that these changes apply only to simple and external products, so variations retain their existing price. The screen also edits only the products listed on the page you’re viewing.

The second option sits inside each variable product. The Variations tab has its own Bulk actions menu, with options such as percentage price increases and scheduled sale dates, and each action applies the same change to every variation of the product that’s open. Giving the large version of a product a different price from the small version means editing that variation manually, and updating a second product means running the same action again.

woocommerce-variable-product-variations-bulk-actions

Seen side by side, the gap is easy to spot:

Method Reaches variations Scope Different value per variation in one pass
All Products bulk edit Not for price changes Products on the current page No
Variations tab bulk actions Yes One product at a time No
WP All Export + WP All Import Yes Every product in the export Yes

How to Bulk Edit Variable Products With WP All Export and WP All Import

The spreadsheet method needs WP All Export to get the variations out of WooCommerce and WP All Import to bring the edits back in. Because both plugins work from the same file, the Import with WP All Import button passes an export straight across with its column layout intact. WP All Import then updates the existing variations from it without creating duplicate products. Each stage below follows the order in which I worked.

Export Your Variable Products and Their Variations

WP All Export brings WooCommerce variable products into the export file along with every variation that belongs to them, so a single export covered everything I planned to bulk edit. I set it up under All Export › New Export, chose WooCommerce Products, and left Add Filtering Options unused so the full catalog came through.

wp-all-export-new-export-woocommerce-products

From there, I dragged in only the columns the edit called for.

Column What it does in the file
ID Lets WP All Import find each variation again on re-import
Parent Product ID Shows which variable product a variation belongs to
Product Type Separates variable products from simple ones
SKUColorSize Identify each variation at a glance
Regular PriceSale PriceStock The values I planned to change

With CSV as the export type, I ran the export and downloaded the file.

Make Your Bulk Edits in the Spreadsheet

WP All Export gives each WooCommerce product variation its own row and fills its Parent Product ID column with the ID of the variable product it belongs to. In a large export, filtering on that column brings up all of one product’s variations together, which is how I found the T-shirt’s nine.

woocommerce-variable-product-variations-spreadsheet

From there, each edit was a single cell. I raised the regular price of the T-shirt’s Blue Small and Blue Medium by 10% and typed a new price into the Blue Large. On the Red Large I added a sale price, and on the Black Large I raised the stock count.

Before you save the file

Leave the ID column as it is. WP All Import uses it to match each row to the right variation.

Send the File Back With Import with WP All Import

To get the changes into WooCommerce, I went to All Export › Manage Exports and clicked Import with WP All Import beneath the export I’d just run. That opened a new import in WP All Import, where I uploaded the edited CSV.

Uploading another way

If you upload the edited file through All Import › New Import instead, select Attempt to match to existing WooCommerce products before creating new ones and match on the ID column, so the import updates your variations instead of creating new products.

WP All Import controls what a re-import can change through Choose which data to update on the Import Settings screen. That option was already selected, with the fields from my export ticked and fields such as Images and Product Status left unticked.

wp-all-import-choose-which-data-to-update

With those settings in place, I clicked Confirm & Run Import, and WP All Import worked through every row in the file.

Spot-Check a Few Variations

After the import finished, I opened the Classic Cotton T-Shirt in WooCommerce and expanded three of the edited variations in its Variations tab.

woocommerce-variation-sale-price-updated

All three showed their new values, and the fields I hadn’t changed in the spreadsheet were exactly as they were before the import. The table below sets out each one.

Variation What I changed Result Untouched
Blue / Small Regular price $18 → $19.80 Stock (12)
Red / Large Sale price Added at $15 Regular price ($20), stock (4)
Black / Large Stock 8 → 25 Regular price ($20)

Final Thoughts

Inside WooCommerce, the Variations tab’s Bulk actions menu applies one change to every variation of the product that’s open, and anything finer means editing variations one by one. That held me back as soon as a price change needed different values for different sizes, or had to reach more than one variable product.

WP All Export removes that limit by exporting WooCommerce variable products with each variation on its own spreadsheet row. WP All Import then updates those variations by matching each row’s ID, and it changes only the fields that were part of the export. When I bulk edit WooCommerce variable products now, I go straight to that pair and keep the Variations tab for one-off changes to a single product.

Common Questions About Bulk Editing WooCommerce Variable Products

Can you bulk edit variations in WooCommerce without a plugin?

Yes. WooCommerce lets you bulk edit variations without a plugin from the Variations tab inside each variable product. Its Bulk actions menu applies one change, such as a percentage price increase or a new stock status, to every variation of that product. Changes that span several variable products, or need a different value for each variation, call for a spreadsheet method such as WP All Export and WP All Import.

How do I bulk edit variation prices across multiple WooCommerce products?

You can bulk edit variation prices across multiple WooCommerce products with WP All Import and WP All Export by editing the prices in a spreadsheet and importing the file back:

  • Go to All Export › New Export and select WooCommerce Products.
  • Add the ID, SKU, Regular Price, and Sale Price columns, then click Confirm & Run Export and download the file.
  • Open the file in a spreadsheet and change the price on each variation’s row.
  • Go to All Export › Manage Exports and click Import with WP All Import under your export.
  • Upload the edited file and check that Choose which data to update lists the price fields.
  • Click Confirm & Run Import.

How do I bulk update stock for WooCommerce variable products?

You can bulk update stock for WooCommerce variable products with WP All Import by exporting the products with a Stock column, changing the figure on each variation’s row, and importing the file back through Import with WP All Import under All Export › Manage Exports. WP All Import matches each row to its variation by ID and writes the new quantity to that variation alone. The quantity shows on variations that have Manage stock? enabled.

Does WP All Import change fields that aren’t in my spreadsheet?

No. WP All Import updates only the fields ticked under Choose which data to update on the Import Settings screen. When the import comes from Import with WP All Import, that option is preselected with the fields from your export. Images, product status, and any other field left out of the export keep their current values.

How do I add a sale price to multiple variations in WooCommerce?

You can add a sale price to multiple variations in WooCommerce with WP All Import by filling in the sale price column of an exported spreadsheet:

  • Export your products from All Export › New Export, including the ID, Regular Price, and Sale Price columns.
  • Enter a sale price on the row of each variation that should go on sale.
  • Leave the Sale Price cell empty for variations that should stay at their regular price.
  • Re-import the file with Import with WP All Import from All Export › Manage Exports.
  • Click Confirm & Run Import, then open a variation in the Variations tab to check the new sale price.

Further Reading

 

Get Oxygen

Build it your way with Oxygen.

$199.50 once — unlimited sites, no renewal

Not per year, not per site, not per seat. 60 day money back guarantee.