How to print barcode labels without Stocky (2026)
The short version: Shopify retires Stocky on August 31, 2026, and any barcode label printing built on Stocky purchase orders stops working the same day. The replacement that survives is printing from native Shopify inventory transfers: receive incoming stock as a transfer, then print labels for the quantities you actually received. This guide covers why the purchase order route cannot be rebuilt, the transfer workflow step by step, and what to move before the deadline.
Why purchase order label printing dies with Stocky
Two facts decide this, and neither is fixable by switching apps:
- Stocky's purchase orders live behind a private API. Every label app that offers "print from purchase order" today is reading that private Stocky data. When Stocky shuts down, the data source disappears for all of those apps at the same moment.
- Shopify's native purchase orders are not in the public API. So no third-party app can rebuild PO printing on Shopify's own purchase orders either, whatever its marketing implies.
Put together: after August 31 there is nothing for a "print from PO" feature to read. Moving from one PO-printing app to another PO-printing app buys you nothing. The full picture of what breaks, and the migration checklist, is in what the Stocky shutdown means for label printing.
The path that still works: inventory transfers
Shopify's native inventory transfers record stock arriving at one of your locations, whether it comes from a supplier or from another location you run. Each transfer tracks, item by item, what was expected and what was actually received. Transfers live in Shopify admin under Products → Transfers, and unlike Stocky purchase orders they are part of Shopify's public platform, so apps can read them without depending on a product that is being retired.
For labeling, a received transfer is in one way better than a PO ever was: it knows what physically arrived, not just what you ordered. If the supplier short-ships you, the transfer says so. Print one label per received unit and everything that landed gets a label, with no counts typed by hand. The receiving workflow has its own detailed guide: print barcode labels when a transfer arrives.
The old habit maps onto the new one almost line for line:
| Old habit (Stocky) | New habit (native Shopify) |
|---|---|
| Create a purchase order in Stocky | Create an inventory transfer |
| Receive stock against the PO | Receive the shipment on the transfer |
| Print labels for the PO items | Print labels for the received quantities |
Print labels from a transfer, step by step
The steps below use LabelFast (LabelFast), the label app we build, which reads native transfers directly. The transfer part happens in Shopify admin either way, so steps 1 and 2 apply no matter which app prints your labels.
- Record the incoming stock as a transfer. In Shopify admin, go to Products → Transfers and create a transfer for the delivery: origin is the supplier or sending location, destination is where the stock is going.
- Receive the shipment when it arrives. Open the transfer and record the accepted quantity for each item. This is the count of what is actually in the boxes.
- Open Receive & print in LabelFast. The page lists your recent transfers with their status, so you can tell apart the ones still on the way and the ones already received. Pick the transfer you just received.
- Check the quantities. Each line pre-fills with the received quantity, so a delivery of 24 units means 24 labels without typing 24. You can still edit any line before printing.
- Pick the label size, preview, print. Choose your format (DYMO or Zebra roll, Avery sheet, or a custom size), check the exact preview, then print the generated PDF at 100% scale. Scan one label at the register to confirm it reads before you run the batch.
That is the whole loop. Nothing in it touches Stocky, which is the point.
What to move before August 31
If your receiving currently runs through Stocky, do these while both systems still work:
- Close out open purchase orders. Receive or cancel what you can, and export your PO history from Stocky while you still have access. It is not retrievable afterward.
- Run one real delivery through transfers. Practice the native flow on your next shipment while Stocky remains available as a fallback.
- Do one full dry run of labeling. Create the transfer, receive it, print labels, and scan one at the register. Find the wrong label size or a scaling problem now, not in September.
The step-by-step migration checklist, including the timeline, is in the Stocky shutdown guide.
How LabelFast handles printing without Stocky
LabelFast is built around the native path described above:
- Prints from inventory transfers, with label quantities defaulting to the received counts, and to the expected totals if you print before receiving.
- Quantities default to stock on hand everywhere else, so a normal restock print run is a selection and a click, not a data entry session.
- Read-only by default. It never writes to your store, which matters while you are rewiring a receiving workflow you depend on.
- Free for 200 labels a month, then $12.99 a month for unlimited, so you can migrate on the free tier and see whether it fits before paying anything.
To be clear about the boundary: LabelFast does not print from purchase orders, because Shopify does not expose native POs to any app. Transfers and shipments are the public, supported path, which is exactly why this workflow keeps working after Stocky is gone.
The bottom line
Printing barcode labels without Stocky is not about finding a lookalike app. It is a small workflow change: receive incoming stock as a native Shopify transfer, then print labels for the received quantities. Set it up once before August 31, run one delivery through it end to end, and the shutdown date becomes a non-event for your labeling.