Up to 20 barcodes per Shopify variant: what changes in your warehouse and POS
On September 8, Shopify lifted one of its oldest limitations: a single product variant can now hold up to 20 barcodes instead of one. Each barcode can be given a type - UPC, EAN, GTIN, ISBN, ASIN or custom - and Shopify validates the format as you type it in.
It sounds like a detail, but it solves a problem stores have been working around for years: the same item arrives with the manufacturer's EAN, your own private-label code and a marketplace identifier on top, while Shopify offered a single field.
What exactly changed
Until now a variant had one Barcode field. From now on you can add up to 20 codes to the same variant, each with its own type:
- GTIN - 8, 12, 13 or 14 digits
- UPC - 8 or 12 digits
- EAN - 8 or 13 digits
- ISBN - 10 or 13 characters (may include the letter X)
- ASIN - 10 letters or digits
- Custom - free-form, up to 255 characters
The detail that matters most: the first barcode in the list is the primary one. It is the one used by labels, sales channel feeds and third-party apps - everywhere a single code is expected. So nothing broke and your existing codes are untouched, but the order of the list now carries real meaning.
One more constraint: the same barcode value cannot be used twice on the same product or variant.
Why this matters for an online store
A classic scenario: you source the same product from two suppliers and the barcodes on the packaging differ. Another: you repackage an item under your own label while stock with the manufacturer's code is still on the shelf. A third: you also sell the item on Amazon, so you have an ASIN.
In every case there used to be three paths, all of them bad. Create a separate variant per code, which splits your inventory and ruins stock accuracy. Push the second code into the SKU field or a metafield, where neither POS nor your channels will read it. Or buy a dedicated app.
POS changed alongside this. As of Shopify POS v11.14 (announced September 1), staff can scan or search for a variant by any barcode attached to it, not just the primary one. In receiving, stocktakes and at the till, that means fewer manual lookups.
A side benefit: product feeds
Google Shopping and similar channels identify products by GTIN, which is why so many feed errors read as "missing identifier". When a code carries an explicit type rather than just a value, it is easier to make sure the primary code is the one the channel requires instead of some internal number.
How to set it up in practice
Manually
On the variant page or through the Shopify mobile app - convenient for a handful of products, or when a code needs to be added on the spot in the warehouse.
In bulk
Codes for several variants can be edited in the bulk editor, and for larger volumes there is the product CSV with its Variant Barcodes column, for both import and export. Export is the right first step: see what you actually have before changing anything.
What to watch out for
The feature itself is simple, but a few things can catch a live store:
- Order is not cosmetic. Moving a different code to the top means changing the code on your labels and in your channel feeds. Decide deliberately which code is primary for each variant.
- The old single-barcode field still works, but it is being deprecated. If your ERP, warehouse system or marketplace integration reads only that field, the additional codes will not reach them until the integration is updated.
- Clean up the workarounds properly. If codes have been living in metafields, the SKU field or duplicated variants, moving them is a data migration with inventory merging - not a copy-paste job.
- POS version. Scanning by secondary barcodes only works from v11.14, so check what your tills are actually running.
What to do this week
- Export your product CSV and look for duplicate variants that exist purely because of different barcodes.
- For each of them, decide the primary code - the one your labels and channels should see.
- Add the additional codes with the correct types rather than as Custom: the type enables format validation and catches errors.
- Update Shopify POS to v11.14 or later.
- Check your integrations: ERP, warehouse system, Amazon and other marketplace feeds.
One field became a list. Technically a small change, but in stock accounting it resolves the very thing that kept many stores running artificial variants and inaccurate inventory for years.
If barcodes in your store have historically lived in metafields, duplicated variants or supplier files, a clean migration with inventory merging and an integration review is a typical Shopify development job. Get in touch - we will look at what you have and plan the move without breaking your labels.