WooCommerce variable products in CSV: parent and variation rows
A variation is not just another row with a different size. WooCommerce needs the parent, child SKU, and attribute value to agree.
The four links to check
For the built-in WooCommerce product importer, set the parent row’s Type to variable and give it a stable SKU. Each child row uses Type=variation, its own unique SKU, and a Parent value matching the parent SKU or ID. These are the relationships described in WooCommerce’s official importer guide.
For a local Size attribute, the parent needs Attribute 1 name=Size and Attribute 1 value(s) containing every allowed size, for example S, M. Each child gets one of those values. WooCommerce’s guide uses Attribute 1 visible and Attribute 1 global to distinguish display and local/global attributes.
| Row | Type | SKU | Parent | Attribute 1 value(s) |
|---|---|---|---|---|
| Parent | variable | tee-0042 | blank | S, M |
| Child | variation | tee-0042-s | tee-0042 | S |
| Child | variation | tee-0042-m | tee-0042 | M |
Test a small import first
Keep a backup, import a few rows into a staging store, and inspect the resulting parent, child SKUs, prices, attributes, and failed-row report. WooCommerce notes that row order matters for some update flows and advises testing a small supplier sample before the full catalog. A structurally correct CSV can still fail if an external image URL is inaccessible.
What Catalog Mender handles today: mapped supplier columns with one Size attribute, new products, and output for the built-in importer. It leaves image links out and starts parent/simple products private. It does not update existing products or support the separate Product CSV Import Suite. Review the supported input fields.
Sources
- WooCommerce: Product CSV Importer and Exporter, especially variable product and supplier CSV sections.
- WooCommerce: Product CSV Import Suite column reference, a distinct extension format.