From Frappe team exchange with me:
Shopify uses Product Id as unique identifier. While syncing item from Shopify to ERPNext, the system validates Item name. If item name does not matches, the system creates new item against it.
Confirmed this works.
Still think matching
item_code with Shopify’s
SKU field is still optimal, as these are unique values. Item names are not unique. Workaround is obviously to align / match the item names in ERPNext and Shopify. By nature of being customer-facing, item name in Shopify likely takes precedence. Not a big deal, but not optimal.
SKU field is what is matched against ERPNext’s standard