| Step | Role | Screen |
| Select Inbound type · select the Inbound request through the picker (search by Request no. · Warehouse · Request date) — only requests with Outstanding qty, a Product Income Request must be SUBMITTED; header is read-only; changing the request reloads the lines and clears entered quantities | Warehouse Staff (Packing Operator) | Product Label Issue · Web |
| Select the Remainder rule (default Last label carries remainder) · enter Qty to label · Qty / label per line (bulk: All remaining qty, Qty per label = carton pack); Fully labelled lines have their quantity fields locked | Warehouse Staff (Packing Operator) | Product Label Issue · Web |
| Line checks (CR-10: Qty to label ≤ Outstanding · Qty / label ≤ Qty to label · Block rule must divide evenly) · label count (CR-09) | System (auto) | Product Label Issue |
Save as draft · Generate labels · Generate & print (preview the label and the QR payload FG | item | V:variant | Q:qty | U:uom | S:serial | R:request) | Warehouse Staff (Packing Operator) | Product Label Issue · Web |
| Re-check Outstanding + generate ISSUED labels (label no. and serial unique, even when several packing lines generate at once) + write cumulative Labelled back to the request line — one transaction; exceeding Outstanding or any error generates no label. The QR Qty is fixed — if wrong, cancel the label and reissue | System (auto) | Product Label Issue |
| Print labels (Printer · Copies · Label stock · Start at position) → label PRINTED, Prints + 1; apply one label per carton / pallet | Warehouse Staff (Packing Operator) | Product Label Issue · Web |
| Scan the QR of a PRINTED label at put-away | Warehouse Staff (Warehouse Officer) | Product Income · Mobile |
| Label PRINTED and serial still usable: load exactly the QR Qty into the Slip (Qty field locked, not editable) · serial used up · label PRINTED → SCANNED. Serial already used or label cancelled (including a reprinted CANCELLED label): scan rejected, no Qty loaded, logged — in the same transaction as consuming the serial | System (auto) | Product Income |
| Label inquiry · First print (one / several ISSUED labels, no Reprint reason needed) → label PRINTED, Prints + 1 | Warehouse Staff | Product Label Issue · Web |
| Label inquiry · Reprint (one or more PRINTED / SCANNED / CANCELLED labels, one shared mandatory Reprint reason) — keeps label no. + serial, status unchanged, Prints + 1, no additional postable label; the audit trail is written per label only when printing succeeds | Warehouse Staff | Product Label Issue · Web |
| Label inquiry · Cancel label (mandatory reason + confirmation that the physical label was destroyed; if the inbound request is cancelled, cancel with reason Inbound request cancelled) — not an approval step: the Cancel label button is shown only to Manager · QA; SCANNED labels are blocked, cancel the Product Income Slip first | Warehouse Manager · QA (Warehouse Supervisor / QA) | Product Label Issue · Web |
| Product Income Slip cancelled, SAVED Slip deleted or label line removed from the Slip (inbound reversal) → label SCANNED → PRINTED, serial reopened (can be re-scanned or cancelled), audit trail written | System (auto) | Product Income |
| CANCELLED Product Income Slip re-approved: label still PRINTED and not re-scanned → label PRINTED → SCANNED, serial used up; label already scanned into another Slip or cancelled → re-approve blocked | System (auto) | Product Income |