Short answer: No. Matrixify has one Variant Barcode column, so it reads and writes one barcode per variant. Shopify now lets a variant carry up to 20 barcodes, each with an optional type, and a tool that only knows the single barcode field sees one of them with no sign that the others exist. Altera imports and exports every barcode on a variant with a Variant Barcodes column in the same product spreadsheet you already use. Altera also reads and writes regular Matrixify files. You are not learning a new app. You keep the spreadsheets and workflow you already know and add multiple barcodes to them.
Matrixify multiple barcodes vs. Altera#
| Task | Matrixify | Altera |
|---|---|---|
| Import and export one barcode per variant | Yes | Yes |
| Export every barcode on a variant | No | Yes |
| Import a variant with several barcodes (UPC, EAN, ASIN) | No | Yes |
| Set a barcode type and have Shopify validate it | No | Yes |
| Add a second barcode without losing the first | No | Yes |
| Re-import an export without losing barcodes or types | No | Yes |
Match products by barcode with Variant Barcode [ID] | Yes | Yes |
Shopify announced multiple barcodes on 8 September 2026 in the 2026-10 API release and deprecated the single barcode field. Altera shipped support the same week, on 10 September 2026 (see the changelog entry). Matrixify’s product sheet still has a single Variant Barcode column.
Altera is the Matrixify workflow you already know, plus multiple barcodes#
Altera reads and writes the same spreadsheet format as Matrixify. Switching does not mean learning a new app or rebuilding your files. What carries over:
- Your existing Matrixify product, customer, order, collection, and metafield files import into Altera without changes.
- The same column conventions:
Handle,Variant ID, andVariant SKUto match variants, aCommandcolumn withMERGE,NEW,UPDATE, andDELETE, and one row per variant. - The
Variant Barcodecolumn, which keeps holding one barcode per variant, the primary one. Files from Matrixify and from supplier feeds that have never heard of barcode types import as before. - The same export and import flow: filter, download a spreadsheet, edit it, upload it back.
Multiple barcodes are added on top of that as one column, Variant Barcodes, on the Products sheet next to Variant Barcode. There is no new sheet and no new identifier to learn. Altera also covers the other data types Matrixify does not: metafield definitions, metaobject definitions, inventory transfers, market translations, linked product options, sales channel publishing, and variant sales channel publishing.
You can run Altera alongside Matrixify if you prefer, since both tools read the same files. Most merchants do not need to.
What Shopify’s multiple barcodes are#
Until September 2026 a Shopify variant had one barcode. With API version 2026-10, the ProductVariant object has a barcodes connection instead, and the old barcode field is deprecated. The new model:
- A variant holds up to 20 barcodes, each up to 255 characters.
- Each barcode can have a type: UPC, EAN, ISBN, GTIN, or ASIN. Shopify validates a typed barcode against that standard. A barcode without a type is stored as written.
- The old
barcodefield returns the first barcode in the list. Writing to it changes only the first position. - Once a variant has a second barcode, an integration that reads only the old field sees one barcode with no signal that others exist.
That last point is why the tool you use for bulk edits matters. An export from a single-barcode tool is incomplete, and a round trip through it can leave data behind.
When a variant needs more than one barcode#
- A manufacturer UPC and a private-label EAN on the same product, one for the North American channel and one for the European one.
- An Amazon ASIN alongside the retail GTIN, so marketplace listings and the warehouse scanner both find the variant.
- An ISBN for a book plus a retailer-specific code.
- Supplier codes from an ERP or a 3PL that have to stay on the variant next to the public barcode.
- A migration from a platform that already stored several identifiers per item.
Until now these extra codes lived in metafields or in a spreadsheet outside Shopify. With barcodes on the variant, Shopify POS, inventory transfers, and apps that scan barcodes can find the variant by any of them.
How to import multiple barcodes with Altera#
- Export the products you want to update. The
Variant Barcodescolumn is part of the Inventory / Variants group, so product exports include it by default. - Edit the
Variant Barcodescell for each variant. List every barcode, comma separated, in order. Put the primary barcode first. Add a type in square brackets after a value when you want Shopify to validate it, for example4006381333931 [EAN], 012345678905 [UPC]. - Leave the cell blank for variants whose barcodes should not change. Keep the
Handle,Variant ID, andVariant SKUcolumns as they are so each row matches back to the right variant. - Upload the file to Altera, check the product and variant count in the analysis preview, and start the import.
Example: three variants, one with a single untyped barcode, one with a typed EAN and a typed UPC, and one with a UPC and a supplier code.
| Handle | Variant SKU | Variant Barcode | Variant Barcodes |
|---|---|---|---|
| cotton-t-shirt | COTTON-TEE-SM | 4006381333931 | 4006381333931 |
| cotton-t-shirt | COTTON-TEE-MD | 4006381333932 | 4006381333932 [EAN], 012345678905 [UPC] |
| cotton-t-shirt | COTTON-TEE-LG | 012345678912 | 012345678912 [UPC], SUP-4471 |
Download the multiple barcodes sample file to see the format next to the existing column, or read the product field reference for every detail.
Rules Altera follows for multiple barcodes#
- A filled
Variant Barcodescell becomes the variant’s complete set of barcodes. Keep a barcode in the cell to keep it on the variant. - A barcode written without a type keeps the type it already has on the variant, so files from systems that do not know about types do not remove them.
- A blank
Variant Barcodescell leaves the variant’s barcodes unchanged. - A blank
Variant Barcodecell on an update removes every barcode from the variant. Remove the column from the file to leave barcodes untouched. Variant Barcodeholds the primary barcode. Importing a value there replaces the primary barcode and leaves the others unchanged.- When a row fills both columns,
Variant Barcodemust equal the first value ofVariant Barcodes, which is how an export writes them. Any other value fails the row with errorPRD094. - A typed barcode that does not pass Shopify’s validation fails the row.
Frequently asked questions#
Does Matrixify support multiple barcodes per variant?
No. Matrixify has one Variant Barcode column, so it exports one barcode per variant and imports one barcode per variant. Shopify variants can now carry up to 20 barcodes with types. Altera imports and exports all of them with a Variant Barcodes column in the same Matrixify-compatible product spreadsheet.Do I have to learn a new app to use Altera for multiple barcodes?
No. Altera reads and writes the same spreadsheet format as Matrixify, so your existing product, customer, and order files import unchanged. Multiple barcodes are one extra column, Variant Barcodes, on the Products sheet you already use, next to the Variant Barcode column that keeps working as before. You keep what you know and add multiple barcodes to it.What does the Variant Barcodes column look like?
A comma-separated list of every barcode on the variant, in order, with an optional type in square brackets after each value, for example 4006381333931 [EAN], 012345678905 [UPC], SUP-4471. The first barcode in the list is the primary barcode, the one shown in the Variant Barcode column.Which barcode types does Shopify validate?
UPC, EAN, ISBN, GTIN, and ASIN. When you add a type in square brackets, Shopify checks the value against that standard, including length, characters, and check digit, and a value that does not pass fails the row. A barcode without a type is stored exactly as written.What happens to my existing Variant Barcode column?
It keeps working. It holds the primary barcode, the first one on the variant, and importing a value there replaces the primary barcode and leaves the others unchanged. Files from Matrixify and from supplier feeds import as before. One change: leaving a Variant Barcode cell blank on an update now removes every barcode from the variant, including the primary one. Remove the column from your file to leave barcodes untouched.Can I keep using Matrixify for other data and use Altera only for multiple barcodes?
Yes. Both tools read the same files, so you can run them side by side. Most merchants find they do not need to, because Altera handles the regular Matrixify data types (products, customers, orders, metafields, and so on) as well as multiple barcodes.See the full Altera vs. Matrixify comparison for every difference between the two tools, or the FAQ for more common questions.

