FOCUSED TROUBLESHOOTING · 24 SEP 2026

WooCommerce says the SKU exists—or skips your CSV row?

First decide whether this import should create a new product or update one already in the store. Then check the CSV and the store separately before changing any identifiers.

SHORT ANSWER

A duplicate can mean two different things.

The SKU may appear twice inside your CSV, or one row may match a product already in WooCommerce. The file alone can reveal the first case; only a store export and import log can confirm the second. WooCommerce uses IDs or SKUs to match existing products when “Update existing products” is selected.

Save the import log, back up the store, and keep an untouched export. Never change a production SKU merely to silence an error: orders, inventory feeds, and integrations may rely on it.

If the file is rejected before rows are processed, start with the broader WooCommerce CSV error checklist.

FOUR CASES

Match the fix to the row that failed.

01
Symptom

The SKU already exists in this store

A create import does not become an update just because its CSV row has a matching SKU.

Next step: If you intend to change that product, export its current row and review the Update existing products option. If it is genuinely a new product, give it a unique SKU instead.

02
Symptom

Two rows in the file use the same SKU

The core importer needs a unique product or variation identity; duplicate SKUs in one file need a human decision.

Next step: Check whether the rows describe the same item, separate products, or variations. Keep the intended identity; do not blindly append a number to every duplicate.

03
Symptom

Update mode skips an unmatched row

For existing products, WooCommerce matches the CSV by product ID or SKU. Unmatched product rows are normally skipped during an update.

Next step: Compare the row with a fresh export from this store. Correct the intended ID or SKU, or import the truly new product separately in create mode.

04
Symptom

A variation is skipped or targets the wrong parent

A variation needs its own identifier and a Parent value that resolves to the intended variable product.

Next step: Check the parent SKU or id:123 reference, each variation SKU, and the attribute values. The behavior of new variation rows in update mode depends on the WooCommerce version and row conditions.

TOOL BOUNDARY

A local check cannot see your store.

Check before uploading
  • Repeated SKUs within the CSV
  • Missing identifiers and common row-shape problems
Verify in WooCommerce
  • Existing IDs and SKUs in this store
  • Import mode, column mapping, and skipped-row log
  • Variation creation behavior for your installed version

Our free scan stays in your browser. It does not connect to WooCommerce or decide which product an existing SKU should update.

SAFE RETEST

Prove the mode and identity with a small batch.

  1. 01
    Preserve

    Back up the site; save the log and a fresh product export.

  2. 02
    Classify

    Separate file-internal duplicates from SKUs already in the store.

  3. 03
    Choose

    Confirm create versus update and review the column mapping.

  4. 04
    Test

    Import one or two representative rows on staging when possible.

  5. 05
    Verify

    Check the product, variation, price, stock, and import log before scaling up.

PRIMARY SOURCES

Check the importer’s current rules.

WooCommerce: Product CSV Importer and Exporter WooCommerce: SKU uniqueness in product settings WooCommerce: Variation rows in update imports

NEED A BOUNDED FIX?

Describe the failed rows, not your customer data.

Share the error text, approximate row count, and whether this is a create or update import. We agree on scope and price before any file transfer. A file-level duplicate cleanup may fit Quick Fix; store-side identity decisions need a separate review.

Request a quote