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
Choose the Correct Label Workflow
| Need | Use | Why |
|---|---|---|
| One label for every unit originally ordered | Purchase order -> Print labels | Copies come automatically from each order line's ordered quantity. |
| Labels for only the quantity physically received | Item-level Print Barcode | The purchase-order batch does not use received quantity. |
| A custom number of copies | Item-level Print Barcode | Order printing does not provide a copy-count dialog. |
| Labels from a received-purchase document | Item-level Print Barcode | Received purchases do not expose the purchase-order batch action. |
| A mixed subset of order lines | Item-level Print Barcode | The order batch includes every coded line until the global cap is reached. |
Prepare Barcode-Ready Order Lines
- Open Purchase -> Purchases and locate the exact purchase-order number.
- Open the order and verify Supplier, status and item lines.
- For every line to be labelled, confirm the item had a valid stored barcode when the order was saved.
- Check the ordered quantity because it controls the number of copies.
- Compare ordered and received quantities; stop if labels are intended only for arrived stock.
- Correct item barcode data and the editable order before printing when the plan is still Draft or Ordered.
- Use item-level printing when the order can no longer be edited or only selected copies are needed.
Print the Order Label Sheet
- Open the purchase order document.
- Click Print labels.
- Allow the new print window when the browser asks or blocks it.
- Review the preview title, item names, visible barcode values and total number of label cells.
- Choose the installed label printer and correct paper size in the browser print dialog.
- Print a short test when using a new printer, roll or scaling setting.
- Scan the test label into a neutral input or Posnic item search and verify the exact item.
- Print the remaining sheet only after the test passes.
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 quantity | Calculated copies | Operator implication |
|---|---|---|
| 1 | 1 | One label for that coded line. |
| 5 | 5 | Five copies, even if fewer units have arrived. |
| 2.4 | 2 | Fractional quantities are rounded; use item-level printing for deliberate copy control. |
| 2.6 | 3 | Rounding can create more labels than a physical fractional quantity suggests. |
| 0, blank or invalid | 1 | The client falls back to one copy for a coded line. |
| Any lines after sheet reaches 500 | 0 | The 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 condition | Meaning | Correction |
|---|---|---|
| No lines with a barcode to print | Every 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 skipped | At 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 labels | The browser blocked the plain print window. | Allow pop-ups for the trusted Posnic origin and retry once. |
| Sheet ends before all ordered units | The 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 line | CODE128 rendering rejected or failed for that value. | Validate the barcode characters and print from the item after correction. |
| Print dialog does not open | The 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
| Problem | Likely reason | Correction |
|---|---|---|
| Too many labels printed | Ordered 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 printed | Uncoded 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 item | Duplicate or incorrect barcode data exists. | Stop distribution, correct item barcode ownership and retest before reprinting. |
| Labels are clipped | Browser 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 exists | This 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 labels | Bulk printing belongs to purchase orders, not received-purchase documents. | Use the received purchase as a checklist and print from each item. |
| Reprinting may duplicate labels | Posnic does not record consumed or already-printed copy counts. | Mark the physical batch externally and reconcile before repeating the action. |