Barcode and Shelf Labels
Print barcode labels and shelf price labels for your products from the Dashboard or the POS: pick products, number of copies, and a template, then print to a label printer, a 58 mm thermal printer, or A4 sticker sheets.
Barcode labels arrive in the round 16 release and are available from the Growth plan. The template list is visible on every plan.
Label templates
| Template | Kind | Label size | Notes |
|---|---|---|---|
| Roll 2 x 1 inch (default) | Roll | 50.8 x 25.4 mm | 1 column |
| Roll 40 x 30 mm | Roll | 40 x 30 mm | 1 column |
| Thermal 58 mm | Roll | 48 x 30 mm | 58 mm paper, 48 mm printable |
| A4 3 x 8 | Sheet | 70 x 36 mm | 24 labels per sheet |
| A4 3 x 11 | Sheet | 63.5 x 25.4 mm | 33 labels per sheet |
A label reads top to bottom: product name (up to 2 lines), variant, barcode, and price. The price is the current selling price (seasonal price rules included), never cost. You can turn the price off, or show the shop name. One print request is limited to 500 labels.
Auto-assigning barcodes
Products without a barcode cannot be printed. Use Generate barcodes to fill them:
- In the product list, Generate missing barcodes fills every active product (not ingredients), up to 500 per press. Repeat until none remain.
- In the product form, a Generate button next to the barcode field.
- On the print screen, the warning "3 products have no barcode" has a Generate barcodes button.
Generated codes are internal EAN-13 (starting with 2, for in-store use) with a correct check digit, unique in your shop. An existing barcode is never changed, and pressing the button again does nothing. A product with variants gets a code per variant, unless the product itself already has a barcode (variants use it too). Only Owner and Admin can generate barcodes, because it edits product data.
Printing from the Dashboard
- Open the product list and choose Print labels (or the same menu in the mobile app).
- Pick products and variants. Set the copies per row (default 1, with a bulk setter). You can add free text such as "EXP 12/2026" or a shelf note (up to 60 characters).
- Choose a template. For A4 sheets, tap the first free cell so a half-used sheet is not wasted.
- Set the options: show price, show shop name.
- The live preview shows a few labels. Warnings appear for products without a barcode, barcodes with a wrong check digit (print as CODE128 or fix them), or a product with variants where no variant is picked.
- Press Print. The Dashboard builds a print page at the same millimetre sizes as the template.
The barcode type is chosen automatically: 13 digits with a valid check digit = EAN-13, 8 digits = EAN-8, anything else CODE128 (12-digit UPC-A and GTIN-14 print as CODE128).
Printing from the POS
In the POS, the product menu has Print labels with the same flow. Labels go through the same print service as receipts (including a Bluetooth printer for the thermal template). A Cashier may print labels because they show only the selling price, but cannot generate barcodes.
Plans and roles
| Free | Growth | Pro | Enterprise | |
|---|---|---|---|---|
| View templates | Yes | Yes | Yes | Yes |
| Preview, print, generate barcodes | No | Yes | Yes | Yes |
Owner and Admin can do everything, a Cashier can preview and print, and Kitchen has no access. Free shops are capped at 20 products, so labels are not needed yet.
MCP tools
The AI assistant can read the templates (labels.list_templates), check print readiness (labels.preview), and fetch label data (labels.render_data). Generating barcodes and printing are deliberately done from the Dashboard or POS. See Tool Surface.
Related: last purchase cost and bigger quantities
- Last purchase cost: the PO and ingredient screens show the per-unit cost from the most recent goods receipt (Owner and Admin only, because it carries cost).
- The quantity ceiling is now 10,000,000 base units for PO lines, receipts, transfers, adjustments, stock opname, and low-stock thresholds, so 150 kg of flour (150,000 grams) can be recorded. Unit-stock shops stay at 100,000 units per posting.
- Stock alerts, reorder suggestions, transfers, and stock opname now show the ingredient unit (g, ml, pcs) beside quantities.