Verified facts
What happened
Verified fact: Shopify now lets merchants read a variant’s full barcode set through the ProductVariant barcodes connection and write it through productSet, productVariantsBulkCreate, and productVariantsBulkUpdate.
Verified fact: A variant can store up to 20 barcodes, each up to 255 characters. Barcode types can be declared as UPC, EAN, ISBN, GTIN, or ASIN, with validation applied when a type is supplied.
Verified fact: Sending barcodes replaces the variant’s entire barcode set, so an update must include every barcode the merchant wants to retain.
Verified fact: ProductVariant.barcode is deprecated but continues to work for now. It returns or updates the first barcode, while the barcode filter can match any barcode on a variant.
Business relevance
Why it matters
A product variant sold through multiple channels can now keep its identifiers in one Shopify field rather than relying on metafields, tags, or external records.
The first barcode still has operational significance because the legacy barcode field returns it and legacy writes update it. The order of the barcode set therefore matters during migration or integration work.