VariantForgeCATALOG TOOLS

A WORKED IMPORT EXAMPLE

WooCommerce variation CSV: from supplier rows to linked products

Here is a small catalog you can inspect from source to import result. Three supplier rows become two draft parent products and three enabled variations. Download the files below, or load the supplier file into the free workbench to reproduce the output.

Use a disposable or staging store. These example SKUs must not already exist in that store. The files create new products; they do not update your catalog. Keep the parent products in draft until you have reviewed the result.

The starting supplier file

The first two rows describe different sizes of the same tee. The third is a hoodie. The supplier gives each variation its own SKU; Parent SKU identifies the group it belongs to.

Parent SKUSKUNamePriceStockSizeColor
TEE-010001Everyday Tee24.9512SNavy
TEE-010002Everyday Tee24.950MNavy
HOOD-020003Hoodie54.50blankLGrey

The leading zeroes in 0001, 0002 and 0003 are intentional. If you open these files in spreadsheet software, import the SKU columns as text. A value already converted to the number 1 cannot tell a converter whether the original SKU was 01 or 0001.

The two files to import

parents.csv contains the two groups. Its rows have Type set to variable and Published set to -1. variations.csv contains the three sellable combinations, with Type set to variation and the parent SKU in Parent. Both files use WooCommerce’s core importer headings.

Row SKURoleParentSize value(s)Color value(s)
TEE-01ParentS, MNavy
HOOD-02ParentLGrey
0001VariationTEE-01SNavy
0002VariationTEE-01MNavy
0003VariationHOOD-02LGrey

The parent records collect the attribute values present in their source rows. Each child keeps its own single size and color. This example does not invent a grey tee, a small hoodie, or any other combination absent from the source.

Reproduce the staging import

  1. Download both generated files. In WooCommerce, open Products → Import.
  2. Choose parents.csv. Leave Update existing products unchecked and review the column mappings, including Type, SKU and the attribute fields.
  3. Complete that import, then import variations.csv with the same new-product setting. Review the Parent mapping.
  4. Read both import reports. Open the two parent products and compare the result below. Add your real product content, images, shipping and tax settings before publishing.

The official WooCommerce importer guide describes the core importer and its version-dependent update workflows. This worked example deliberately uses two new-product imports. It is not a template for updating existing products or for the separate Product CSV Import Suite extension.

What our actual import produced

We ran this exact fictional source through VariantForge and imported its generated files in WordPress Playground, using WooCommerce 11.1.0, WordPress 7.1 and PHP 8.3.33. Fourteen checks passed. Both import reports had no failed or skipped rows.

That is a specific test result, not proof that every store or extension behaves identically. It also explains why blank stock and zero stock are different inputs in VariantForge.

When your file does not match this example

Keep a distinct parent SKU, unique child SKUs and consistent parent names. Map the supplier’s actual column names rather than renaming by guesswork. VariantForge reports duplicate SKUs, conflicting names, repeated attribute combinations and unsupported price or attribute formatting before it allows an export. Correct the source and rebuild; do not repeatedly import an unchanged failing file.

The workbench covers up to three local attributes. It does not export images, categories, descriptions, global taxonomy attributes, or tax and shipping configuration. It cannot inspect SKU conflicts already in your store. Values containing commas, pipes or backslashes are unsupported in variation attributes.

Try your supplier file

The free browser workbench processes your catalog locally and exports up to 10 source variation rows. Use a small representative file first. If the workflow fits, the $49 offline edition handles up to 20,000 rows / 5 MB per file, without a subscription.