# Material Label Issue — generating, printing, reprinting and cancelling material labels against a source document

> Fine Chemical (FC) · WMS module · v1.0 · 23/09/2026 · Standard flow — for implementation, testing and development
>
> Generated from the diagram by `sync.js` — do not edit by hand. The diagram is authoritative: report any mismatch with the diagram page.
>
> Diagram page: /en/wms/material-label-issue

## How to read

- Every box on the diagram has a code `Bxx`, numbered in flow order (from the start event, following the arrows).
- "Goes to" lists every arrow leaving the box; text in square brackets is that arrow's condition label.
- "Optional branch" = a dashed arrow on the diagram: may be done or skipped.
- "Data" boxes in the Input lane are incoming data; in the Output lane they are results / end points of the flow.

## Process Flow (swimlane)

### Roles (lanes)

- Input
- Warehouse Staff
- Warehouse Manager · QA
- Output

### Steps

| Code | Role | Type | Content | Platform · Screen | Goes to |
| --- | --- | --- | --- | --- | --- |
| B01 | Input | Data | Material receipt (GRN) · PO (Purchasing module) |  | B08 |
| B02 | Input | Data | Production output (leftover material from production) |  | B08 |
| B03 | Input | Data | Return / re-pack document |  | B08 |
| B04 | Input | Data | Master data: Item (package size) · Supplier Printer · Label stock | Master data | B09 |
| B05 | Input | Data | Label register (labels already issued) |  | B26; B39 |
| B06 | Warehouse Staff | Start | Start |  | B07 |
| B07 | Warehouse Staff | Task | Choose Source type Material receipt · Production output · Return / re-pack | Web · Material Label Issue | B08 |
| B08 | Warehouse Staff | Task | Pick the source document (only documents with Outstanding qty) → loads header + lines | Web · Material Label Issue | B09 |
| B09 | Warehouse Staff | Task | Choose Remainder rule (default Last label carries remainder) enter Qty to label · Qty / label per line (bulk: All remaining, Qty / label = package size) | Web · Material Label Issue | B10 |
| B10 | Warehouse Staff | Decision | Lines valid? |  | B11 [No]; B12 [Valid] |
| B11 | Warehouse Staff | Task | Inline error on the line: exceeds remaining Outstanding Qty / label > Qty to label does not divide evenly (Block rule) → Save as draft · Generate disabled | System (auto) · Material Label Issue | B09 |
| B12 | Warehouse Staff | Task | Label count per line: Qty to label ÷ Qty / label rounded up, last label carries the remainder | System (auto) · Material Label Issue | B13 |
| B13 | Warehouse Staff | Decision | Which action? |  | B14 [Save as draft]; B15 [Generate] |
| B14 | Output | Data | Draft (Save as draft) no labels generated yet |  | (end) |
| B15 | Warehouse Staff | Task | Re-check Outstanding + generate → ISSUED, label no. never reused + write cumulative Labelled back to the source line — one transaction; over Outstanding means no label is created | System (auto) · Material Label Issue | B16; B17 |
| B16 | Output | Data | Source line: cumulative Labelled → Outstanding for the next pass |  | (end) |
| B17 | Warehouse Staff | Decision | Generate & print? |  | B18 [No]; B19 [Yes] |
| B18 | Output | Data | ISSUED labels not yet printed print later from Label inquiry |  | (end) |
| B19 | Warehouse Staff | Task | Print labels: Printer · Copies Label stock · Start at position → Send to printer | Web · Material Label Issue | B20 |
| B20 | Warehouse Staff | Decision | Printer prints OK? |  | B21 [No (printer error)]; B22 [Printed OK] |
| B21 | Output | Data | Labels stay ISSUED print count unchanged |  | (end) |
| B22 | Warehouse Staff | Task | Label ISSUED → PRINTED Prints + 1 · audit trail written | System (auto) · Material Label Issue | B23; B24 |
| B23 | Output | Data | PRINTED labels applied to the goods |  | (end) |
| B24 | Warehouse Staff | Task | Label scanned into an inbound Slip label PRINTED → CONSUMED | System (auto) · Inbound | B25 |
| B25 | Output | Data | CONSUMED label can no longer be cancelled |  | (end) |
| B26 | Warehouse Staff | Start | Start |  | B27 |
| B27 | Warehouse Staff | Task | Label inquiry: search labels Label no. / barcode · Lot PO / GRN · Status · Warehouse | Web · Material Label Issue | B28 |
| B28 | Warehouse Staff | Decision | Label status? |  | B29 [Printed / cancelled / consumed]; B30 [ISSUED] |
| B29 | Warehouse Staff | Task | Reprint: choose one / several labels + one shared Reprint reason (mandatory) → Send to printer | Web · Material Label Issue | B31 |
| B30 | Warehouse Staff | Task | Print: choose one / several ISSUED labels, choose Printer (no Reprint reason needed) | Web · Material Label Issue | B32 |
| B31 | Warehouse Staff | Decision | Printed successfully? |  | B33 [No]; B34 [Yes] |
| B32 | Warehouse Staff | Decision | Printed successfully? |  | B35 [No]; B36 [Yes] |
| B33 | Output | Data | Reprint failed — Prints and audit unchanged |  | (end) |
| B34 | Warehouse Staff | Task | Same label no., status unchanged · Prints + 1 audit trail written per label | System (auto) · Material Label Issue | B37 |
| B35 | Output | Data | Labels stay ISSUED (print failed) print count unchanged |  | (end) |
| B36 | Warehouse Staff | Task | Label ISSUED → PRINTED Prints + 1 · audit trail written | System (auto) · Material Label Issue | B38 |
| B37 | Output | Data | Label reprinted same label no. |  | (end) |
| B38 | Output | Data | PRINTED labels (first print) applied to the goods |  | (end) |
| B39 | Warehouse Manager · QA | Start | Start |  | B40 |
| B40 | Warehouse Manager · QA | Task | Label inquiry: find the label to cancel (Cancel label button shown to Manager · QA only) | Web · Material Label Issue | B41 |
| B41 | Warehouse Manager · QA | Decision | Label currently ISSUED / PRINTED? |  | B42 [No]; B43 [Yes] |
| B42 | Output | Data | Cancel blocked — CONSUMED / CANCELLED label unchanged |  | (end) |
| B43 | Warehouse Manager · QA | Task | Cancel label: choose a reason + Remark · confirm the label was physically destroyed (mandatory) | Web · Material Label Issue | B44 |
| B44 | Warehouse Manager · QA | Decision | Confirm Cancel label? |  | B45 [Keep label]; B46 [Cancel label] |
| B45 | Output | Data | Keep label label status unchanged |  | (end) |
| B46 | Warehouse Manager · QA | Task | Label → CANCELLED Qty released to Outstanding on the source line · audit trail written | System (auto) · Material Label Issue | B47 |
| B47 | Output | Data | CANCELLED label source-line Outstanding goes back up |  | (end) |

### Step details (hover content on the diagram)

#### B10 · Lines valid?

- Warehouse Staff
- Comes from: B09
- Goes to [No]: B11 · Inline error on the line: exceeds remaining Outstanding Qty / label > Qty to label does not divide evenly (Block rule) → Save as draft · Generate disabled
- Goes to [Valid]: B12 · Label count per line: Qty to label ÷ Qty / label rounded up, last label carries the remainder

#### B13 · Which action?

- Warehouse Staff
- Comes from: B12
- Goes to [Save as draft]: B14 · Draft (Save as draft) no labels generated yet
- Goes to [Generate]: B15 · Re-check Outstanding + generate → ISSUED, label no. never reused + write cumulative Labelled back to the source line — one transaction; over Outstanding means no label is created

#### B17 · Generate & print?

- Warehouse Staff
- Comes from: B15
- Goes to [No]: B18 · ISSUED labels not yet printed print later from Label inquiry
- Goes to [Yes]: B19 · Print labels: Printer · Copies Label stock · Start at position → Send to printer

#### B20 · Printer prints OK?

- Warehouse Staff
- Comes from: B19
- Goes to [No (printer error)]: B21 · Labels stay ISSUED print count unchanged
- Goes to [Printed OK]: B22 · Label ISSUED → PRINTED Prints + 1 · audit trail written

#### B28 · Label status?

- Warehouse Staff
- Comes from: B27
- Goes to [Printed / cancelled / consumed]: B29 · Reprint: choose one / several labels + one shared Reprint reason (mandatory) → Send to printer
- Goes to [ISSUED]: B30 · Print: choose one / several ISSUED labels, choose Printer (no Reprint reason needed)

#### B31 · Printed successfully?

- Warehouse Staff
- Comes from: B29
- Goes to [No]: B33 · Reprint failed — Prints and audit unchanged
- Goes to [Yes]: B34 · Same label no., status unchanged · Prints + 1 audit trail written per label

#### B32 · Printed successfully?

- Warehouse Staff
- Comes from: B30
- Goes to [No]: B35 · Labels stay ISSUED (print failed) print count unchanged
- Goes to [Yes]: B36 · Label ISSUED → PRINTED Prints + 1 · audit trail written

#### B41 · Label currently ISSUED / PRINTED?

- Warehouse Manager · QA
- Comes from: B40
- Goes to [No]: B42 · Cancel blocked — CONSUMED / CANCELLED label unchanged
- Goes to [Yes]: B43 · Cancel label: choose a reason + Remark · confirm the label was physically destroyed (mandatory)

#### B44 · Confirm Cancel label?

- Warehouse Manager · QA
- Comes from: B43
- Goes to [Keep label]: B45 · Keep label label status unchanged
- Goes to [Cancel label]: B46 · Label → CANCELLED Qty released to Outstanding on the source line · audit trail written

## Status lifecycle

#### Material label

`ISSUED` → `PRINTED` → `CONSUMED` → `CANCELLED`

Transitions:

- `ISSUED` -- Send to printer · First print --> `PRINTED`
- `PRINTED` -- Scanned into an inbound Slip (auto) --> `CONSUMED`
- `PRINTED` -- Cancel label — printed label --> `CANCELLED` (back)
- `ISSUED` -- Cancel label — unprinted label --> `CANCELLED` (back)

## Input

| # | Input | Type | Used in step |
| --- | --- | --- | --- |
| I-1 | Material receipt (GRN) · PO — Purchasing module | Source document | Pick the source document |
| I-2 | Production output — leftover material from production | Source document | Pick the source document |
| I-3 | Return / re-pack document | Source document | Pick the source document |
| I-4 | Item (package size) · Supplier · Printer · Label stock | Master data | Enter Qty to label · Qty / label; Print labels |
| I-5 | Label register — labels already issued | Data owned by this screen | Label inquiry: search labels |

## Step ↔ screen

| Step | Role | Screen |
| --- | --- | --- |
| Choose Source type · pick the source document (changing the document after quantities are entered needs confirmation and clears them) | Warehouse Staff (Warehouse Officer / Receiving Clerk) | Material Label Issue · Web |
| Choose Remainder rule (default Last label carries remainder) · enter Qty to label · Qty / label per line; Fully labelled lines have their quantity fields disabled | Warehouse Staff | Material 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) | Material Label Issue |
| Save as draft · Generate labels · Generate & print | Warehouse Staff | Material Label Issue · Web |
| Re-check Outstanding + generate ISSUED labels + write cumulative Labelled back to the source line — one transaction; if Outstanding is exceeded or anything fails, no label is created | System (auto) | Material Label Issue |
| Print labels (Printer · Copies · Label stock · Start at position) → label PRINTED, Prints + 1 | Warehouse Staff | Material Label Issue · Web |
| Label scanned into an inbound Slip → label CONSUMED | System (auto) | Inbound |
| Label inquiry · First print (one / several ISSUED labels, no Reprint reason needed) → label PRINTED, Prints + 1 | Warehouse Staff | Material Label Issue · Web |
| Label inquiry · Reprint (one / several PRINTED / CANCELLED / CONSUMED labels, one shared Reprint reason mandatory) — same label no., status unchanged, Prints + 1; the audit trail is written per label only when the print succeeds | Warehouse Staff | Material Label Issue · Web |
| Label inquiry · Cancel label (reason + physical-destruction confirmation mandatory; if the source document is reversed, cancel with reason Receipt reversed) — not an approval step: the Cancel label button is shown to Manager · QA only | Warehouse Manager · QA (Warehouse Supervisor / QA) | Material Label Issue · Web |

## Output

| # | Output | Produced when |
| --- | --- | --- |
| O-1 | Draft (Save as draft), no labels generated yet | Save as draft chosen |
| O-2 | Source line: cumulative Labelled → Outstanding for the next pass | Labels generated successfully |
| O-3 | Label = `ISSUED` not yet printed, print later from Label inquiry | Generate labels chosen (no immediate print) |
| O-4 | Labels stay `ISSUED`, print count unchanged | Printer could not print |
| O-5 | Label = `PRINTED` applied to the goods | Printed successfully |
| O-6 | Label = `CONSUMED`, can no longer be cancelled | Label scanned into an inbound Slip |
| O-7 | Reprint failed — Prints and audit unchanged | Printer could not print during Reprint |
| O-8 | Label reprinted, same label no. | Reprint succeeded |
| O-9 | Labels stay `ISSUED` (print failed), print count unchanged | Printer could not print on the first print |
| O-10 | Label = `PRINTED` (first print) applied to the goods | Print tem `ISSUED` succeeds |
| O-11 | Cancel blocked — label `CONSUMED` / `CANCELLED` unchanged | Label already scanned into stock, or already cancelled |
| O-12 | Keep label — label status unchanged | Canceller chose Keep label |
| O-13 | Label = `CANCELLED`; source-line Outstanding goes back up | Cancel label with reason + physical-destruction confirmation |
