WooCommerce import error: "Invalid or duplicated SKU"
ID column copied from another store, re-importing existing products without “Update existing products”, or a leftover draft or variation in your store.Applies to the built-in WooCommerce CSV importer (Products → Import). Checked against WooCommerce 11.1.2 (on WordPress 7.1.2).
Which cause is yours?
| What you see | Most likely cause |
|---|---|
| Error on a variation row, same SKU as its parent | 1. SKU reused in the file |
| File came from an export of another store or a supplier | 2. ID column |
| You are re-importing products that already exist | 3. “Update existing products” not ticked |
| SKU looks unique, product list search finds nothing | 4. Hidden duplicate in the store |
1. The same SKU appears twice in your file
WooCommerce requires every SKU to be unique across products and variations. A common slip is giving a variation the same SKU as its parent.
Type,SKU,Name,Parent variable,TS-001,T-Shirt, variation,TS-001,T-Shirt - Small,TS-001 # BAD: reuses the parent's SKU variation,TS-001,T-Shirt - Medium,TS-001 # BAD: and again
Type,SKU,Name,Parent variable,TS-001,T-Shirt, variation,TS-001-S,T-Shirt - Small,TS-001 # OK: unique SKU, Parent points to parent variation,TS-001-M,T-Shirt - Medium,TS-001
*(Other columns omitted. The # notes are for explanation — do not include them in your actual CSV file.)*
Fix: Give every row its own unique SKU. Sort your SKU column A→Z in your spreadsheet editor to quickly inspect neighbouring rows that match.
2. Your file has an ID column from another store
Database IDs from another site’s export do not correspond to products in this store. If you import an ID column, WooCommerce attempts to overwrite the existing product with that database ID, causing unexpected collisions.
ID,Type,SKU,Name 412,simple,MUG-01,Mug # 412 is an ID from the old store; it may be an entirely different product here
Fix: On the WooCommerce column mapping screen, set ID to “Do not import”. WooCommerce will then match products purely by SKU instead. Alternatively, delete the ID column from your CSV file before uploading.
Check your file before you import
Drop your CSV or Excel file into CatalogDock. The in-browser checker flags repeated SKUs, case collisions, and variations that reuse their parent’s SKU before anything touches your store.
Open the free checker →Runs in your browser · No files uploaded · Never connects to your store
*A browser-only check cannot inspect your live WordPress database without a store export. For existing store conflicts, review causes 3 and 4 below.
3. You are re-importing products that already exist
If a SKU is already in your store and “Update existing products” is turned off, the built-in WooCommerce importer reports the row as invalid or duplicated instead of updating it.
Fix: On the first screen of the WooCommerce CSV importer (Products → Import), check the box for “Update existing products”, or remove rows from your file that are already published. Because updating alters live catalog data, test with a 2-row sample file on a staging copy first.
Still failing?
- This guide covers the standard built-in importer (Products → Import). Third-party plugins like WP All Import follow different rules.
- Global taxonomy attributes (
pa_*) require verification within your WordPress taxonomies. - If variations fail to attach to their parent rather than failing on SKU uniqueness, see our guide on variation order and Parent whitespace.
Related: Full CatalogDock Documentation · Safe import batches (≤ 500 records) · Delta updates