A duplicate SKU message tells you an identifier is colliding somewhere. It does not tell you to delete a product or attach a random suffix. Before editing, keep the original CSV and note the affected row and exact message. The right correction depends on whether the rows describe one product twice, separate variants, or a product that is already in your store.
1. Separate file duplicates from store conflicts
Start by finding every occurrence of the reported SKU in the CSV. Compare the complete rows, including type, name, parent, attributes, and price. Then look up that identifier in your WooCommerce catalog. A local file check can spot repeated values in the file; it cannot see identifiers already stored in WooCommerce.
The official importer documentation explains that existing identifiers and your choice of Update existing products affect whether rows are processed or skipped. Decide whether this is an intended update before changing the identifier to force a new record.
2. Give the collision a meaning
| What you find | Decision to make |
|---|---|
| Same item, repeated row | Which source row is authoritative? |
| Different sizes share a code | What identifies each sellable variant? |
| SKU already in the store | Update that item or create a different one? |
| Code changed during export | What did the original supplier file contain? |
If two rows are identical, remove a copy only after confirming it is accidental. If the names match but the prices differ, do not keep the first row automatically. That may discard a later price update. Record the conflict, identify the source of truth, and obtain the intended value.
If variants share the parent’s code, agree on stable variant codes with the catalog owner. An approved convention might combine a base code and option, but the convention must also work for fulfillment and future supplier updates. Keep a mapping from old values to approved replacements.
3. Preserve the original text
Compare codes character by character. 00042 and 42 are different strings; only your source records can establish whether they refer to the same product. Watch for spaces, pasted line breaks, and a spreadsheet converting a long number. Do not remove leading zeros or punctuation just to make a warning disappear.
Import identifier columns as text and inspect the saved CSV. Microsoft’s CSV import guidance describes preserving leading zeros through text conversion. Reopen carefully: a spreadsheet can reinterpret the file on opening, even when the saved text was correct.
4. Check variant relationships after a change
If you deliberately replace a parent SKU, inspect every child reference and any external system using that code. If you replace a variant SKU, preserve its intended size, color, price, and stock. Changing identity should be a reviewed catalog decision, not an automatic cleanup step.
An absent file parent is a separate warning. A variation’s parent may already exist in your store. The checker cannot establish that relationship from the CSV alone, so verify the parent before adding or renaming products.
5. Prove the correction with a small test
Prepare a tiny file containing the affected product family. Use a backup and staging where possible. Review the importer mapping and mode, then keep the resulting report. Confirm that the intended product was updated or created, that no unwanted second listing appeared, and that the expected variant is still selectable.
Keep a change log with the original code, approved code, reason, and test result. Reuse the approved identifiers for later updates so the next supplier file does not recreate the collision. Our free CSV checker helps locate file-level duplicates. If the collision involves existing store records or uncertain supplier codes, request a scoped review with a redacted example and the exact import message.
These are practical review steps, not an import guarantee. Always use the documentation for your WooCommerce version.