Stocky is shut down: how do I print barcode labels from Shopify purchase orders?
Updated 2026-10-21. Checked against Shopify's own documentation; links are under Sources.
Stocky stopped working on August 31, 2026. Purchase orders now live in the Shopify admin, but Shopify's own help says that "labels aren't printed directly from the purchase order screen." To label incoming stock, you can print from the product list with Retail Barcode Labels, export the purchase order data to a separate label tool, or use an app that reads your purchase orders.
What changed
- Shopify delisted Stocky from the App Store on February 2, 2026. Shopify's help says "Stocky is no longer available as of August 31, 2026" and "Stocky APIs stopped working on August 31, 2026."
- You keep "read-only access to export your data for at least 90 days after that date." If you haven't exported your Stocky purchase orders and supplier data yet, do that first.
- You now create and manage purchase orders in the Shopify admin. The admin can't email a purchase order, so you download it as a PDF and send it to the supplier yourself.
- Stocky could print labels straight from a purchase order. Native purchase orders can't.
Option 1: Retail Barcode Labels from the product list
Shopify's help recommends this: "Print barcode labels with the Retail Barcode Labels app from the product list."
- Install Retail Barcode Labels (made by Shopify) and connect a supported label printer, or use sheet labels.
- Open your purchase order and note each product and the quantity you received.
- Go to Products, select the products from that purchase order, and print labels through the app. Set each variant's label quantity by hand to match the purchase order.
Limits to know about, from Shopify's help page:
- Label types are Dymo 30252, 30336, 30332 and 30299, Avery 5160 and 5167, and a set of Zebra labels. Custom sizes aren't supported.
- "The Retail Barcode Labels app only generates Code-128 barcodes." If you let it generate barcodes, they're 8-digit codes based on variant IDs. Those aren't suitable for Google Shopping, and generating them overwrites barcodes you entered by hand. If your products already have UPC or EAN codes, keep them and don't generate new ones.
- There's no CSV upload or bulk printing, and the app doesn't print from Shopify POS. The page doesn't mention purchase orders or transfers.
For a small purchase order this works fine. For a large one, re-entering every quantity is the slow part, and it's easy to get wrong.
Option 2: Export the data and use a label tool
Shopify's Stocky transition page suggests exporting the receiving data to CSV, or using a third-party labelling app. The CSV route:
- Export the received items with SKU, barcode, title and quantity.
- Open the file in the label software you already use (Dymo Connect, Zebra's tools, or a mail-merge template in Word for Avery sheets).
- Repeat each row by its quantity, or use the software's "copies from a field" option if it has one.
- Print a test page on plain paper and check that it lines up before you use label stock.
Spreadsheets drop the leading zeros from UPCs. Before printing, run the barcode column through the check digit validator so you don't print labels that won't scan.
Option 3: An app that reads your purchase orders
Since API version 2026-10, apps can read native purchase orders. Shopify's changelog (September 17, 2026) announced inventoryPurchaseOrder and inventoryPurchaseOrders under the read_inventory_purchase_orders scope. It's read-only: "Purchase order mutations are not included." This means a label app can take the lines and quantities straight from a purchase order, so you don't have to type them in again. It can't create or change purchase orders. (Shopify's Stocky transition page still says purchase order APIs aren't generally available. The changelog is the newer source.)
Before you print: get the barcodes right
- Use real GTINs when you have them. If a product came with a UPC or EAN from the manufacturer, put it in the variant's barcode field. Labels then carry the same code as the packaging, and Google can use it.
- Use internal codes for your own products. If you don't own GS1 numbers, a Code 128 label with your SKU scans fine in your own store. Don't send that code to Google as a GTIN.
- No duplicates. If two variants share a barcode, scanning either one finds the wrong item. Check an export with the duplicate finder.
How to check it worked
- Scan a printed label with the scanner you use at the till or in receiving, and confirm it opens the right variant.
- Count the labels against the purchase order's quantities before you stick them on.
- Keep your Stocky export somewhere safe. The read-only access only lasts for a limited time.