WooCommerce import error: "A new variation can only be created for a variable parent product."

What it means: Since WooCommerce 11.1 this appears when "Update existing products" is ticked and a variation row has a SKU that is not in your store yet. WooCommerce looks up the product in the Parent column and skips the row because that product is not a variable product, for example a simple one. Reading the code, a Parent SKU that matches no product gives the same message: WooCommerce makes a temporary simple "Import placeholder" product for it, and a simple product cannot take variations.

Find the rows in your file

WooCommerce product import

The product CSV you are about to import into WooCommerce (Products, Import), or the one that just failed.

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the tool keeps working offline once the page has loaded.

Loading the converter...

How to fix it

  1. Set Type to variable on the parent row, and list its attributes and all their values there.
  2. If the parent is already in your store as a simple product, change it to "Variable product" on the product edit screen first.
  3. Check that the Parent cell on each variation row is exactly the parent's SKU.
  4. Import the file again.

Example

A file with this problem

Type,SKU,Name,Published,Visibility in catalog,Tax status,In stock?,Stock,Regular price,Images,Parent,Attribute 1 name,Attribute 1 value(s...
simple,TEE,Tee,1,visible,taxable,1,5,20.00,,,Size,"S, M",0
variation,TEE-S,Tee S,1,visible,taxable,1,3,20.00,,TEE,Size,S,0

What the checker says about it

  • Line 3: "Tee S": the Parent "TEE" (line 2) has Type "simple", not variable. Variations only show on a variable product, so change the parent's Type to variable.

Once the listed rows are fixed, check the file again; the checker also looks for the other problems in WooCommerce's import code, so you do not trade one error for the next.

Questions

What does "A new variation can only be created for a variable parent product." mean in WooCommerce?
Since WooCommerce 11.1 this appears when "Update existing products" is ticked and a variation row has a SKU that is not in your store yet. WooCommerce looks up the product in the Parent column and skips the row because that product is not a variable product, for example a simple one. Reading the code, a Parent SKU that matches no product gives the same message: WooCommerce makes a temporary simple "Import placeholder" product for it, and a simple product cannot take variations.
How do I fix it?
Set Type to variable on the parent row, and list its attributes and all their values there. If the parent is already in your store as a simple product, change it to "Variable product" on the product edit screen first. Check that the Parent cell on each variation row is exactly the parent's SKU. Import the file again.
The parent row is in my file as variable. Why do I still see this?
With "Update existing products" ticked, WooCommerce only updates products already in your store. Reading the code, a new parent row with a SKU is skipped with "No matching product exists to update.", so its new variations find no variable parent. Import new products with the box unticked, then use the update import for changes.

Other WooCommerce import errors

Sources

Based on WooCommerce 11.2.2's import code and documentation. Not tested on a live store.