How to fix duplicate SKUs and barcodes on Shopify
Decide whether a repeated identifier is an error or an intentional workflow, then correct the affected variants without creating a second collision.
Two variants share `TSHIRT-BLK-M`. That may be a copy-and-paste mistake, or it may be an intentional bundle workflow. Changing one immediately can break the system that created the duplication; leaving it unexplained can break the next one.
Shopify recommends a unique SKU for each variant and warns that duplicates can interfere with inventory tracking and third-party integrations. Barcodes should also identify product variants distinctly through the supply chain. The repair begins by identifying which record and external process owns the value.
Map every variant using the repeated value
List the product, variant, status, vendor, current SKU, current barcode, and any connected system for every match. Do not stop after the first pair. A value reused five times needs one coordinated decision, not four separate edits that may create new conflicts.
Include near-duplicates in the same review. `ABC-123`, `abc-123`, and a value ending in an invisible space might remain distinct in one interface and collapse in a case-insensitive or trimmed import.
Find the authoritative record
For an internal SKU, the source may be an ERP or warehouse item master. For a manufacturer barcode, use the number assigned to that exact product variation by the brand or standards owner. Packaging, size, or color changes can represent separate trade items, so a barcode borrowed from a neighboring variant is not a safe placeholder.
If the duplication supports a documented bundle or component workflow, confirm that every connected system treats it the same way. An intentional exception should have an owner and a reason. “It has always been there” is not enough to distinguish policy from drift.
Keep one value only when one identity is genuinely intended.When two variants must be selected, stocked, scanned, or reported separately, they need separate identifiers in the field used for that job.
Prepare the replacement before editing
Decide which value remains and obtain approved replacements for the others. Check each proposed value against the full catalog, including draft and archived items that might return to sale. A correction that duplicates a dormant variant merely moves the problem.
Change SKU and barcode independently. A duplicate SKU does not authorize replacing its barcode, and an invalid barcode does not require renaming a working internal SKU. Keep an export or change record that maps old values to new ones so connected teams can update their side of the handoff.
Verify the match beyond Shopify
Rescan the catalog after saving and confirm the duplicate group is resolved. Then test the workflow that made the duplicate risky: search the SKU in the warehouse, scan the physical barcode at POS, or inspect the next marketplace sync. Historical orders may retain earlier product data, so do not interpret an old order as proof that the current variant edit failed.