A useful WooCommerce CSV template starts small. You need to know what each column means, which products you intend to create, and how you will confirm the result. This starter contains one example simple product. Replace its example values before use; it is a starting point for the built-in WooCommerce importer, rather than a complete supplier catalog.
Download the simple-product starter
The file uses comma-separated columns and UTF-8 text. Its Published value is -1, so the example is intended to become a draft. The example price and SKU are placeholders. Keep the draft setting while you prepare and inspect your first import.
| Type | SKU | Name | Published | Regular price |
|---|---|---|---|---|
| simple | EXAMPLE-MUG-001 | Example mug - replace me | -1 | 19.00 |
Understand the five headers
These names follow the official core CSV schema. Keep the header row intact while replacing the example row.
| Header | What to enter | Review before importing |
|---|---|---|
Type | simple for this starter. | A product with separate size or color variants needs a different structure. |
SKU | Your stable product identifier, kept as text. | Compare it with existing store SKUs; preserve leading zeros. |
Name | The intended product name. | Replace the example label with a customer-facing name. |
Published | -1 for a draft. | Review the product before changing its publication status. |
Regular price | A numeric price such as 19.00. | Confirm currency, tax treatment, and the approved selling price in your store. |
Five columns make the example easy to inspect. They do not describe your shipping settings, stock policy, images, categories, taxes, or custom extension fields. The checker will warn that this starter has no product image. Add your reviewed image data when preparing the real product. Decide which fields your products need before expanding the file.
Map supplier columns deliberately
Work on a copy of your supplier file. Make a short mapping sheet alongside it: supplier column, WooCommerce destination, transformation, and one checked example. For instance, a supplier’s “Item code” might become SKU. “Cost” should not become Regular price until you have decided the selling price. Ask the supplier what unclear values mean before converting the whole catalog.
For an update, export a few existing products from your own store first and compare their identifiers with the supplier data. Do not populate an ID column with invented numbers. Keep a separate untouched source file and record intentional changes, so you can explain a difference later.
Additional columns should come from the current importer documentation or a store export. Check the mapping screen even when the importer recognizes a header. Unknown supplier columns can be ignored, mapped to a supported field, or handled through the relevant extension; a renamed header cannot make an unsupported feature work.
Inspect the saved CSV, not just the spreadsheet
Before saving, replace formulas with reviewed values and keep identifiers as text. Use the intended worksheet and save a UTF-8 CSV copy. Open the saved text to confirm that names, prices, and identifiers survived the export. Keep a value containing a comma inside CSV quotes so it remains one cell. A spreadsheet can look correct while its exported text has an extra column or a changed code.
Run the saved file through the free WooCommerce CSV checker. It can report common file problems and propose limited whitespace cleanup. It cannot see products already in your store, determine your selling prices, confirm extension behavior, or prove that an import will succeed. Check the report before downloading a cleaned copy.
This starter does not create variations
Do not duplicate the simple row and assume a size dropdown will appear. A variable product has a parent and separate variation rows. Those rows need a consistent relationship and matching attribute data. The core schema uses Parent to reference a parent SKU or an ID with an id: prefix.
Plan one product family on paper before building the file: the parent identifier, the intended options, and each sellable variant’s identifier and price. Our variation import guide explains what to compare when those links fail. Follow the official workflow for your installed WooCommerce version, especially when adding variations to an existing product; update behavior differs between releases.
Test a draft before the full import
- Keep a backup and use a staging store where possible. Replace the example row with one representative product.
- Open Products → Import, choose the saved CSV, and select the mode appropriate to creating or updating products.
- Review each mapped column and run the small import. Save the importer’s result, including failed or skipped rows.
- Open the resulting draft. Compare its name, SKU, price, and any fields you added with your approved source values.
- Resolve any mismatch before increasing the batch size. Keep the successful CSV and mapping notes as the reference for the next batch.
For a catalog with mixed product types or uncertain supplier columns, prepare a manual-help request describing the row count and problem. A redacted example and the exact importer message are more useful than guessing at the entire file.
Reference: WooCommerce’s built-in product CSV importer documentation and core CSV schema. This tutorial supports a reviewed test import; it does not guarantee compatibility with every store or extension.