Stockroom prints barcode and price labels straight from a purchase order, a receipt, or any product in your catalog - so newly-arrived stock is shelf-ready, and reprints are one click when a barcode falls off or a price changes.
Where to print from
From a whole PO: open the Print menu on the purchase order and choose Print labels. This prints one label per ordered unit.
From a single receipt: in Receiving history, click Print labels on a receipt. This prints one label per unit that actually arrived - the best option for large orders.
From a product - no purchase order needed: open any product in Stockroom and click Print labels. Every variant is listed with one label preselected - ideal for replacing a damaged label or relabelling after a price change.
In bulk from the Products list: tick the products you want, then click Print labels in the selection bar (up to 100 products at a time).
From the Shopify product page: choose Print labels in the product's More actions menu - it opens Stockroom's label printer for that product.
Choose a format and options
In the Print labels dialog:
Label format - 14 sizes: thermal rolls for Dymo, Zebra, Rollo and Munbyn printers (from 1 x 1 in up to 3.5 x 1.125 in, plus the Dymo 30299 jewelry barbell), and Avery 5160 (30 per page) and Avery 5167 (80 per page) sheets. If the die measures the same as a preset, the preset is the right one. Rolls print one label per page; Avery sheets tile a grid on letter paper. A roll that is not listed can be added - see Custom label sizes and layouts.
Print from (purchase order printing only) - the entire order, or a specific receipt (received units only).
Counts - how many labels per line. Printing from a product starts at one per variant, with Zero counts, Fill 1 each and Fill on hand shortcuts; On hand at chooses which location's stock counts if you have more than one.
Skip first labels (Avery sheets only) - reprinting onto a sheet you have already peeled labels off? Enter how many spots are gone and the run starts at the first label you still have. It resets to 0 each time you open the dialog. The labels you have left need to be the ones after the gap - a sheet with holes in the middle cannot be printed around.
Stockroom remembers the size you last printed on, per device, and remembers the field checkboxes separately for each size - so a till with a Dymo and a back-office printer loaded with Avery sheets each keep their own default, and the fields you print on a 2 x 1 roll do not follow you onto a 1 x 1 square.
Then click Print to open and print the labels, or Download PDF to save them.
Choose what prints
Checkboxes in the dialog choose the fields: Include title, Include variant, Include price, Include SKU, Include supplier SKU, Include vendor, Include cost, Include barcode and Include printed date. Price prints in your store's currency. If a size has no room for a field, its checkbox is disabled with "No room on this label size"; a field you have placed in that size's layout still prints, and its checkbox reads "Set in your label layout" instead.
Include barcode is on by default. Untick it for stock that arrives with the maker's own barcode, and the label prints just the fields you picked.
Use compare-at price (beside Include price, which it needs ticked) prints the higher of the price and the compare-at price, so a discounted item's label shows its original price. Items with no compare-at price keep printing their regular price, so it is safe to leave on.
Cross out compare-at price prints a sale tag instead: the current price with the original beside it, crossed out. It only appears on items whose compare-at price is higher than their selling price, so everything not on sale prints exactly as before. The two compare-at options answer the same question in different ways, so ticking one greys out the other.
Include supplier SKU, Include vendor and Include cost are off by default and share one line with the SKU, so no combination of them ever costs you a label. Vendor works on every size except the very smallest (the Dymo 30330, the jewelry barbell and Avery 5167); supplier SKU and cost need one of the larger sizes. Cost prints on merchandise a shopper can pick up, which is why the checkbox says so.
Include printed date prints the day the labels were printed at the end of that same line, as a date code (2026-08-28) - a glance at the tag tells you how long an item has been on the shelf. Off by default, needs one of the larger sizes, and a reprint carries the day it reprints.
With lot tracking on (an early-access feature, off by default), Include lot number and Include lot expiry appear here too: labels printed from a receipt carry the batch that arrived on that delivery, and the expiry prints as EXP with the date.
The product name shrinks to fit the label rather than being cut off mid-word, down to a minimum size that stays readable - so most names print in full, and a very long name on a small stock is the one case that still gets trimmed.
What is on a label
Each label carries the fields you selected - title, variant, SKU, price - and, unless you unticked Include barcode, a barcode with its digits printed underneath. The barcode always uses the product's current barcode in Shopify at the moment you print, in its native format (for example EAN-13 or UPC-A). That means you can add or correct a barcode in Shopify at any time and simply reprint - the labels pick it up automatically, including on older purchase orders and orders imported from Stocky. If a product has no barcode saved in Shopify, Stockroom encodes its SKU instead, so new products still scan - a label showing the SKU under the bars is the sign that the variant has no barcode yet - and you can generate one from the same dialog - see Generate barcodes for products that have none. Printing on its own writes nothing back to your catalog.
The smallest sizes have fixed layouts: the 1-inch-high labels (Dymo 30332, Zebra 1.25 x 1) print the price, a one-line product name, the variant, and the barcode. These two sizes - and the Zebra 1.25 x 1.25 - can also print the SKU on a line beneath the barcode digits, and the vendor beside it: tick Include SKU and Include vendor in the print dialog. Both are off by default here, so labels you already print are unchanged until you turn them on. The Dymo 30299 jewelry barbell prints price and SKU on one end and the barcode with its digits on the other, leaving the middle blank to wrap around a ring or chain - short barcodes (around 8 digits) scan most reliably at that size. Avery 5167's half-inch labels print price and barcode only.
You can also add the item's Bin location to the label - it prints on the small detail line beside the brand, so it costs no extra space. Handy for restocking: the ticket says which shelf the item belongs on. Printing from a purchase order uses each line's destination; printing from a product uses the location picked in the dialog, and All locations prints the item's default bin.
No barcode saved in Shopify? Stockroom can generate one from this dialog, or for your whole catalog - see Generate barcodes for products that have none. Where each field sits, and adding your own text or metafields, is set per size in the layout editor - see Custom label sizes and layouts.
Good to know
Labels print in alphabetical order - by product title, then variant, then SKU - whatever order the lines sit in on the purchase order. In a stack of 100 printed labels, the one you want is where the alphabet says it is.
There is a limit of 500 labels per print run. A whole-PO print can exceed this on big orders - print per receipt instead, which matches what physically arrived.
The label count shown in the dialog is an estimate; the exact count is checked when you print.
For an overview of label printing, see Label printing on stockroom.app.
Printing straight to a Dymo or Zebra, setting your printer's resolution, and fixing labels that print off-centre or with a blank one between each: see Print straight to a Dymo or Zebra label printer.


