Blog
How to print barcode labels from a Shopify purchase order
Shopify cannot print labels from a purchase order. Here are the three ways to do it anyway, what each costs you per delivery, and when each is the right call.
5 min read
A delivery lands, you receive it in Shopify, and the stock is right within the hour. Then you need a barcode label for every unit that arrived, and Shopify has no button for it.
This is not something you have missed. Shopify’s migration guide says labels are printed from the product list rather than the purchase order screen, and that label quantities do not fill in from a partial receiving. It suggests a CSV export or a third-party app for anything large.
Here are the three routes, in order of how much they cost you.
| Route | Cost | Time per delivery | Breaks when |
|---|---|---|---|
| Export to CSV and merge | Free | 15 minutes upwards | You receive weekly |
| Shopify’s Retail Barcode Labels | Free | The counting, then minutes | Quantities come from a delivery |
| An app that reads the delivery | $0 to $20 a month | Under a minute | A delivery arrives in two drops |
Route one: export to CSV and merge
Free, and it works.
Export the received lines, open them in a spreadsheet, and merge into a label template in a word processor or a label designer. Print the sheet.
The steps are worth writing down, because the order matters:
- Export the lines from the transfer behind the purchase order.
- Delete every column except barcode, title, variant and quantity.
- Work out the label count per line. This is the step that costs you.
- Repeat each row that many times, which is a formula or a lot of copying.
- Merge into the label layout and print.
Do this once and it is fine. Do it weekly and two problems show up. It is fifteen minutes of clicking that produces nothing except labels you could have had automatically. And step three is by hand, from what arrived, which is where the errors live.
Worth it if you receive rarely, or if you are between apps and a delivery is sitting on the floor right now.
Route two: Shopify’s own label app
Retail Barcode Labels is free and made by Shopify, and it is the right tool for the job it was built for. Pick products, pick a template, print.
What it does not do is read a delivery. The quantities come from you, because the app has no idea a purchase order exists. It solves the printing and leaves you the counting, which is the half that takes the time.
Use it if you label by product rather than by delivery, such as when a new range arrives and you want a sheet per line regardless of quantities. Where that stops working is when Shopify’s Retail Barcode Labels app is not enough, and the apps built for the other job are in Retail Barcode Labels alternatives.
Route three: an app that reads the delivery
A category of app appeared in mid 2026 to fill exactly this gap, most of it within weeks of the Stocky sunset being announced. These read the transfer behind your purchase order, take the accepted quantity per line, and offer that as the label count.
They are cheap. Several have free plans of a few hundred labels a month, and the paid tiers sit between $9.99 and $19.99. That removes the counting, which is the win. Then one more question separates them, and it only shows up on a part delivery.
The part delivery problem
Say you ordered 12 and 7 arrive on Tuesday. You print 7 labels. On Friday the other 5 turn up and you open the app again.
It offers 12.
The reason is worth knowing, because it is not laziness on the app’s part. Shopify does not keep a record of what arrived in each individual drop. Receiving the same transfer twice updates the same shipment: the accepted quantity goes from 7 to 12 in place, with no per-event history to query. Any app filling straight from that number cannot know that 7 of them are already on your shelf wearing labels.
The only way to offer 5 is for the app to keep its own record of what it has printed, and subtract.
So when you test one, test that. Receive part of an order, print, receive the rest, and look at the number it offers. Everything else on the feature list is comparable between these apps. That one is not.
Which apps do what is in the label app comparison. If you are here because Stocky is closing, the wider list is what Stocky did that Shopify’s admin still does not.
What to print on, and what to put on it
The printer matters less than people expect, and the label stock matters more.
Avery sheets on a laser printer cost nothing to start and suit a shop that labels a few times a month. The waste is the catch: a sheet of 24 used for six labels throws away eighteen.
A Dymo or Zebra roll prints one label at a time, so a short run costs nothing. This is what pays for itself once you label every delivery. Buy the label size before the printer, and buy it in the size your shelves take.
What goes on the label is a shorter list than most templates suggest:
- The barcode, which is the whole point.
- The product name, in words, so a person can read it when the scanner fails.
- The variant, if you carry more than one.
- The price, only if you price on the shelf. A price on a label means a reprint every time it changes.
Test one label on your own stock before you order a box of them. A preset that is two millimetres out wastes a roll, and every app has its own preset list.
Before any of it: check your barcodes exist
None of the three routes helps if half your products have no barcode in the barcode field. Fix that first, generate in-store codes for anything without one, and only then worry about printing. Barcode types every Shopify store should know covers which codes are safe to make up and which are not.
Questions people ask
Can Shopify print labels from a purchase order at all?
Not directly. Shopify's migration guide says labels come from the Retail Barcode Labels app or the product list, and that quantities do not fill in from a partial receiving. For a large receipt it suggests a CSV export or a third-party labelling app.
What is wrong with exporting to CSV?
Nothing, for one delivery. It stops working as a habit because you repeat it every week, and because the quantity column is the thing you work out yourself. That is where the mistakes come from, not the printing.
Do I need a thermal label printer?
No. Avery sheets on an ordinary laser printer work and cost less to start. A Dymo or Zebra roll is faster once you label every delivery, because you are not printing a whole sheet to use six labels.
What about products that have no barcode?
Generate one, but only in the number range GS1 reserves for in-store use, which is the prefixes 02 and 20 to 29. A code outside that range can collide with a real product somewhere else in the world.
How many labels should a part delivery print?
The quantity that just arrived, not the total accepted so far. That sounds obvious, and it is where most tools get it wrong, because Shopify does not record what arrived in each drop.
What should go on the label?
The barcode, and the product name in words a person can read. Add the variant if you stock more than one, and the price only if you price on the shelf, because a price on a label is a reprint every time it changes.
Engineer
I write most of the code that talks to Shopify. Six years on warehouse software taught me to keep a queue boring. Ours has never printed a label twice.
Related reading
When Shopify's Retail Barcode Labels app is not enough
Shopify's free label app is the right tool for labelling products and the wrong one for labelling a delivery. Here is where the line is, and what to do at it.
Tom Beckwith
3 min read
Stocky alternatives, by the part of Stocky you actually used
Stocky was four tools in one and it was free. Here is what replaces each part, what each replacement costs, and what you can skip if you only used one.
Marcus Ilori
5 min read
What Stocky did that Shopify's admin still does not
Shopify moved purchase orders and receiving into the admin. Four jobs did not move. Here is what each gap costs you in time and in money, and what covers it.
Nia Chambers
4 min read