Purchase

Print a Bulk Barcode Label Sheet from a Purchase Order

An open purchase order can build a bulk label sheet from its saved lines. The batch follows ordered quantities and stored barcodes, so review both before printing.

Menu path
Purchase -> Purchases -> open a purchase order -> Print labels
Verified from
Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence

frontend/static/script/js/modules/js/receiving_add.js openView printLabels and labels action dispatch, bundled JsBarcode CODE128 rendering, purchase-order saved barcode_id and qty_ordered fields, plain print window with 38mm label cells and 500-label cap

Open the purchase order actionsPrint labels appears for a purchase order that contains item lines, regardless of its current lifecycle status.
Verify order lines before printingThe label batch uses each saved line's ordered quantity and barcode, not the quantity physically received.
Use item printing for manual quantitiesFor received quantities or selected copy counts, open each item and use the item-level barcode dialog instead of the purchase-order batch.

Choose the Correct Label Workflow

NeedUseWhy
One label for every unit originally orderedPurchase order -> Print labelsCopies come automatically from each order line's ordered quantity.
Labels for only the quantity physically receivedItem-level Print BarcodeThe purchase-order batch does not use received quantity.
A custom number of copiesItem-level Print BarcodeOrder printing does not provide a copy-count dialog.
Labels from a received-purchase documentItem-level Print BarcodeReceived purchases do not expose the purchase-order batch action.
A mixed subset of order linesItem-level Print BarcodeThe order batch includes every coded line until the global cap is reached.

Prepare Barcode-Ready Order Lines

  1. Open Purchase -> Purchases and locate the exact purchase-order number.
  2. Open the order and verify Supplier, status and item lines.
  3. For every line to be labelled, confirm the item had a valid stored barcode when the order was saved.
  4. Check the ordered quantity because it controls the number of copies.
  5. Compare ordered and received quantities; stop if labels are intended only for arrived stock.
  6. Correct item barcode data and the editable order before printing when the plan is still Draft or Ordered.
  7. Use item-level printing when the order can no longer be edited or only selected copies are needed.

How Copy Quantities Are Calculated

For each line with a non-empty saved barcode, Posnic rounds the ordered quantity to the nearest whole number and prints at least one copy. It stops adding labels when the combined sheet reaches 500 cells.

Saved ordered quantityCalculated copiesOperator implication
11One label for that coded line.
55Five copies, even if fewer units have arrived.
2.42Fractional quantities are rounded; use item-level printing for deliberate copy control.
2.63Rounding can create more labels than a physical fractional quantity suggests.
0, blank or invalid1The client falls back to one copy for a coded line.
Any lines after sheet reaches 5000The global cap truncates the remaining batch without creating more cells.

Barcode and Layout Rules

  • Only the barcode value saved on the purchase-order line is used; SKU is not substituted by this print function.
  • Blank barcode lines are skipped entirely and counted by line, not by missing copies.
  • Unique barcode graphics are rendered once with the bundled JsBarcode library and reused for copies.
  • The requested format is CODE128 with the text value displayed below the bars.
  • Each label cell is 38 mm wide with 2 mm padding in the generated sheet.
  • Item names use a small single line and are truncated visually when too long.
  • Dotted cell borders appear on screen but are removed by print CSS.

Understand Warnings and Limits

Message or conditionMeaningCorrection
No lines with a barcode to printEvery order line has a blank barcode value.Add and verify item barcodes, then update the editable order or print from item records.
N line(s) had no barcode and were skippedAt least one coded line printed, but N uncoded order lines were omitted.Identify omitted items and print them only after barcode setup is corrected.
Allow pop-ups to print labelsThe browser blocked the plain print window.Allow pop-ups for the trusted Posnic origin and retry once.
Sheet ends before all ordered unitsThe combined job reached the 500-label cap.Split the work into controlled item-level batches and reconcile quantities.
Barcode area is blank for a coded lineCODE128 rendering rejected or failed for that value.Validate the barcode characters and print from the item after correction.
Print dialog does not openThe print window opened but browser printing was blocked or delayed.Bring the print tab forward and use the browser Print command after confirming its content.

Stock and Audit Boundary

  • Printing labels does not receive goods, change available quantity or create an inventory log.
  • The batch uses qty_ordered, not qty_received or outstanding quantity.
  • A Draft, Ordered, Partial, Closed or Cancelled order with item lines can expose Print labels in the current interface.
  • A printed label is not proof that the item arrived or passed a physical count.
  • Keep the purchase-order number with the label run when shop procedure requires reconciliation.
  • After goods arrive, use Receive and Inventory Logs as the stock evidence.

Label Printing Problems and Corrections

ProblemLikely reasonCorrection
Too many labels printedOrdered quantity exceeded the arrived or intended label quantity.Stop the job and use item-level copy counts based on the verified physical receipt.
Too few labels printedUncoded lines were skipped, quantities rounded, or the 500 cap was reached.Reconcile each order line and print controlled remainder batches from item records.
Scanner opens wrong itemDuplicate or incorrect barcode data exists.Stop distribution, correct item barcode ownership and retest before reprinting.
Labels are clippedBrowser scale, margins or printer stock size does not match 38 mm cells.Use actual-size scaling where appropriate and test one page with the installed media.
Only SKU existsThis batch does not fall back from barcode to SKU.Store the intended scannable value in Barcode, then update the order while editable.
Received purchase has no Print labelsBulk printing belongs to purchase orders, not received-purchase documents.Use the received purchase as a checklist and print from each item.
Reprinting may duplicate labelsPosnic does not record consumed or already-printed copy counts.Mark the physical batch externally and reconcile before repeating the action.