WooCommerce import error: "Invalid or duplicated SKU"

The short answer: WooCommerce found another product or variation that already uses this SKU, or the importer matched your row to the wrong product. The usual causes are repeated SKUs inside your file, an 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 seeMost likely cause
Error on a variation row, same SKU as its parent1. SKU reused in the file
File came from an export of another store or a supplier2. ID column
You are re-importing products that already exist3. “Update existing products” not ticked
SKU looks unique, product list search finds nothing4. 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.

4. The SKU exists on something you cannot see

WooCommerce uniqueness checks scan all product post types across almost all statuses. The duplicate SKU may belong to a draft, private or pending product, or an orphaned variation. Products in the trash do not block SKUs.

Fix:

  • In Products → All Products, filter by Draft, Private, and Pending.
  • Search by the product Name as well as the SKU: default admin search by SKU can miss variations in certain custom setups.
  • Clean up orphaned variations under WooCommerce → Status → Tools → Delete orphaned variations.

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