Printing product labels

The Labels tab for a bulk run, the Print Labels dialog for one product or a selection, and the label size and printer setup behind both.

Labels have their own tab — Inventory → Labels — for printing a run of them, with the label size and printer notes on the same screen. For a one-off, Inventory → Stock still prints a single product, the handful you have ticked, or everything matching a brand and model through the Print Labels dialog. Both use the same label engine, so a sticker comes out identical either way.

Inventory — Stock — Print Labels
Preview — first label
Newtown Phone Repairs
iPhone 14 Screen
9312345678907
$189.00
The preview pane of the Print Labels dialog, built from src/app/suite/inventory/components/label-print.ts. What is previewed is not a mock-up of the label: the dialog renders the very document it is about to print, at the label's true size, so a 40 × 30 mm sticker and a 100 × 150 mm shipping label are previewed in proportion to each other. The store name across the top and the price at the bottom are each a toggle; the code beneath the bars is the product's barcode, or its SKU when it has no barcode.

The Labels tab

Inventory → Labels is the screen for a batch. Filter the catalogue by search text, category, brand and model, then tick the products you want — the ticks survive filtering and paging, so a run can be assembled from several searches. Add all matching puts the whole filtered set in at once, which is how you cover a brand, or a brand and model, in one press.

Each product in the batch carries its own quantity, so three of one and one of another go out in a single run. Labels per product is the quantity each product joins the batch with, and Set all re-applies it to every line already there. Pressing a line in the batch previews that product's own label, and the remove control beside it drops that product from the run.

Label setup, on the same tab, holds the size and the two content toggles, with the live preview underneath. Save as company default writes them to the same place Inventory → Settings does, so the tab, the settings screen and the dialog all open with one set of defaults. Saving is an admin action, and the button only appears for those who may.

From the Stock tab

One product

Every row in Stock carries a tag icon at its right-hand end — Print label. It opens the dialog with that product already loaded, which is the usual case: a price changed, and one sticker needs replacing.

Several products

Tick the checkbox at the start of each row you want. A bar appears above the table reading N selected, with its own Print labels button next to a Clear selection one. The selection survives paging, so products picked on page one and page four go out in a single run. The checkbox in the table header selects everything on the page you are looking at.

Inside the dialog, each line of that list is pressable — pressing one previews that product's own label rather than the first in the run — and carries a remove control that drops it from this print run only. The ticks back in Stock are left alone, so closing the dialog does not lose the selection you were building.

In bulk, by brand and model

The Print labels button above the table opens the dialog in bulk mode, where products are matched by attribute instead of picked by hand. Three pickers cascade: Brand, then Model, then Generation, each narrowing the choices in the one after it. Choosing a brand again clears the model and generation below it, so the filter can never point at a model that no longer applies.

Only the brand is required. Leaving model or generation empty matches everything beneath the level above — a brand alone covers every product carrying it. Until a brand is chosen nothing is matched at all: printing the entire catalogue is deliberately not something the dialog will do by default. Once a brand is set, the dialog says how many products matched.

What goes on the label

The blocks are printed in this order, and each is centred:

  • The store name, if Show store name is on. It comes from your receipt settings, and the toggle is unavailable while no store name is configured — so the wrong business can never end up on a sticker
  • The product name, over at most two lines before it is trimmed
  • A Code 128 barcode of the product's barcode, falling back to its SKU when it has no barcode
  • That same code again as readable text under the bars
  • The sell price in bold, if Show price is on

A product with neither a barcode nor a SKU still prints — you simply get the name and the price, with no barcode block. The same is true of a code containing characters Code 128 B cannot carry: the code prints as text without bars, rather than as a barcode that would scan back as the wrong string.

Sizes, copies and the preview

Four label sizes are offered — 40 × 30 mm, 50 × 25 mm, 62 × 40 mm and 100 × 150 mm — plus Custom…, which takes a width and height of your own in millimetres (15–300 mm each) for rolls that match none of the presets. Type sizes and the height of the barcode band are tuned per size, so a small sticker and a shipping label each fill their face; a custom size scales the same way from its height.

Copies is per product: two copies against eleven matched products is twenty-two labels. The running total is shown above the print button. Underneath the options, Preview — first label renders the first label of the run at its real size — the same document that is about to be printed, not an approximation of it.

500 labels per run

One print run is capped at 500 labels. Over that, the print button is disabled and the total turns red with a note to narrow the match or reduce the copies. It is not silently trimmed to 500. The cap exists because a mistyped copies box against a large catalogue hands the printer a job that cannot be stopped short of pulling the roll out.

Which printers work

Labels go through the browser's ordinary print dialog — the same path receipts take — or, in the mobile app, through the phone's own printing (AirPrint on iOS, the Android print framework). Any label printer the machine has a driver for will therefore work, direct-thermal ones included, and you pick it in the print dialog like any other printer. The smallest preset is 40 mm wide, so a roll of 40 mm labels or wider is what to load.

The label document itself is deliberately plain — black on white, system fonts, no images and no stylesheet fetched from anywhere. That is what keeps it printing cleanly on a one-colour thermal head, and stops a filtered shop network from leaving the print preview loading forever.

Setting the defaults

The size, Show price and Show store name that the dialog opens with are set once in Inventory → Settings under Label Printing, or from Save as company default on the Labels tab — they are the same setting, kept in one place. Saving them is an admin action. Staff can still change any of them for a single print run — the settings are starting values, not a lock.

Open in the app
Still stuck? We answer every message.Contact support

Try everything you just read about — free, no card needed.

Get Started