IIX Lab / Guides
Every store importer rejects a whole file for one duplicate SKU, and almost every duplicate is a whitespace or case difference that looks identical on screen. This is the order that actually clears them.
Where people get stuck. Excel silently converts 00127 to 127 on paste. If you dedupe after that, the SKU no longer matches your warehouse and the file imports as a new product.
| Symptom | Cause | Fix |
|---|---|---|
| Same SKU twice, one with a space | Trailing whitespace from a copy-paste | Trim every cell before comparing |
| Importer says duplicate handle | Two rows map to the same product slug | Dedupe on the handle column |
| Product imported twice | Leading zero lost, so 00127 became 127 | Store identifiers as text before pasting |
| Nothing deduped at all | Case difference (SKU vs sku) | Lowercase the key only, keep the original for output |
Not on import. The importer rejects the file before it touches your catalogue, so the cleanup has to happen on the file you upload.
Yes for anything with a price or stock count. Keep the newest row by timestamp, not the first one you find.
Non-breaking spaces (U+00A0) survive normal trimming in some tools. If a row still looks like a duplicate, check for 0xC2 0xA0 in the raw bytes.
Official CSV format reference: Shopify product CSV documentation