# Prod Mapping Pallet — Merging sub-barcodes onto one Pallet BC

> Fine Chemical (FC) · WMS module · v1.4 · 18/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/prod-mapping-pallet

## 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
- Output

### Steps

| Code | Role | Type | Content | Platform · Screen | Goes to |
| --- | --- | --- | --- | --- | --- |
| B01 | Input | Data | Item · Warehouse/Zone Loc ID · PIC | Master data | B10 |
| B02 | Input | Data | Stock on hand per Barcode/QR still in the warehouse | System (auto) | B11 |
| B03 | Input | Data | Pallet BC label (V26…) not yet attached to goods | Physical goods | B22 |
| B04 | Input | Data | Boxes/packs carrying sub-barcodes waiting to be merged onto a pallet | Physical goods | B23 |
| B05 | Warehouse Staff | Start | Start |  | B06 |
| B06 | Warehouse Staff | Task | Filter by date · status · warehouse · Pallet BC → Find · pick the view By Request or By Pallet | Web · Product Mapping Pallet | B07 [optional branch]; B08 |
| B07 | Warehouse Staff | Task | Export — export the list as filtered, in the current view | Web · Product Mapping Pallet | B09 [optional branch] |
| B08 | Warehouse Staff | Task | Create a Mapping Request → system issues number MPYC-KHOxx-YYMM-NNNNN in SAVED status | Web · Product Mapping Pallet | B10 |
| B09 | Output | Data | .xlsx / .csv file matching the current filter and view |  | (end) |
| B10 | Warehouse Staff | Task | Enter Request Date · Warehouse · PIC · Item Code → system fills Item Name · Customer · Loc ID | Web · Product Mapping Pallet | B11 |
| B11 | Warehouse Staff | Task | Add barcodes to the Request: Stock · Scan Barcode/QR · Add Row | Web · Product Mapping Pallet | B12 |
| B12 | Warehouse Staff | Decision | Barcode already in the Request? |  | B13 [Yes]; B14 [No] |
| B13 | Warehouse Staff | Task | Skip the duplicate line · report a duplicate-barcode error | System (auto) · Product Mapping Pallet | B14 |
| B14 | Warehouse Staff | Task | Save → validate Request Date · Warehouse/Zone · Item Code → Request = SAVED | Web · Product Mapping Pallet | B15 |
| B15 | Warehouse Staff | Task | Confirmed → Request = SUBMITTED (no way back to SAVED from the UI) | Web · Product Mapping Pallet | B16; B17; B18 [optional branch] |
| B16 | Output | Data | Mapping Request MPYC-… = SUBMITTED with the barcode list and total Quantity |  | (end) |
| B17 | Warehouse Staff | Decision | Slip linked to a Request or standalone? |  | B19 [Standalone]; B20 [From Request] |
| B18 | Warehouse Staff | Task | Print the Request form with a QR Code built from the Request number | Web · Product Mapping Pallet | B21 [optional branch] |
| B19 | Warehouse Staff | Task | Create a standalone Mapping Slip — not linked to any Request | Web · Product Mapping Pallet | B22 |
| B20 | Warehouse Staff | Task | On the Request row click Map → system issues MP-… = SAVED · Linked Request No. auto-filled, read-only | Web · Product Mapping Pallet | B22 |
| B21 | Output | Data | Printed Request form, QR = Request number, attached to the goods for scanning |  | (end) |
| B22 | Warehouse Staff | Task | Enter Pallet BC (V26…) · Creation Date · Warehouse · Item Code · PIC | Web · Product Mapping Pallet | B23 |
| B23 | Warehouse Staff | Task | Add sub-barcodes: Scan · From Mapping Request · Stock | Web · Product Mapping Pallet | B24 |
| B24 | Warehouse Staff | Decision | Barcode already in the Slip? |  | B25 [Yes]; B26 [No] |
| B25 | Warehouse Staff | Task | Skip the duplicate line · report a duplicate-barcode error | System (auto) · Product Mapping Pallet | B26 |
| B26 | Warehouse Staff | Task | Save → validate Pallet BC · Date · Warehouse · Item Code → Slip = SAVED | Web · Product Mapping Pallet | B27 |
| B27 | Warehouse Staff | Task | Submit → Slip = SUBMITTED, waiting for Warehouse Manager approval | Web · Product Mapping Pallet | B28 [optional branch]; B29; B30 |
| B28 | Warehouse Staff | Task | Remaining > 0 → orange warning, does not block Submit | System (auto) · Product Mapping Pallet |  |
| B29 | Output | Data | Mapping Slip MP-… = SUBMITTED with the Pallet BC and the list of merged sub-barcodes |  | (end) |
| B30 | Warehouse Manager | Task | Open the SUBMITTED Slip · check Pallet BC ↔ the list of sub-barcodes in the Slip | Web · Product Mapping Pallet | B31 |
| B31 | Warehouse Manager | Decision | The document's stock period closed? |  | B32 [Closed]; B33 [Not yet] |
| B32 | Warehouse Manager | Task | Blocks every action: Submit · Approve · Cancel · Delete — This action cannot be completed because the affected inventory period is closed through [Close Date] | System (auto) · Product Mapping Pallet |  |
| B33 | Warehouse Manager | Task | Approve → Slip = APPROVED merge sub-barcodes into the Pallet BC record the receipt by pallet | System (auto) · Product Mapping Pallet | B34; B35 |
| B34 | Output | Data | Pallet BC holding the sub-barcodes · stock recorded by pallet, ready to be put away |  | (end) |
| B35 | Warehouse Manager | Decision | Every Request line Remaining = 0? |  | B36 [Not yet]; B37 [Yes] |
| B36 | Warehouse Manager | Task | Request stays SUBMITTED — barcodes are not fully mapped yet | System (auto) · Product Mapping Pallet |  |
| B37 | Warehouse Manager | Task | Request moves to CLOSED automatically | System (auto) · Product Mapping Pallet | B38 |
| B38 | Output | Data | Mapping Request MPYC-… = CLOSED (closed automatically) |  | (end) |
| B39 | Warehouse Manager | Start | Start |  | B40 |
| B40 | Warehouse Manager | Task | Open the APPROVED Slip → Cancel (shown only with the right) → cancel confirmation dialog | Web · Product Mapping Pallet | B41 |
| B41 | Warehouse Manager | Decision | Stock enough to reverse AND no later action? |  | B42 [No]; B43 [Yes] |
| B42 | Warehouse Manager | Task | Cancel blocked · Slip stays APPROVED goods already moved in a later transaction or a later action on another screen | System (auto) · Product Mapping Pallet | B44 |
| B43 | Warehouse Manager | Task | Slip = CANCELLED · detach sub- barcodes from the pallet · reverse stock Request: Received down, Remaining up · Request CLOSED returns to SUBMITTED | System (auto) · Product Mapping Pallet | B45 |
| B44 | Output | Data | Slip stays APPROVED · mapping and stock unchanged |  | (end) |
| B45 | Output | Data | Slip = CANCELLED · sub-barcodes detached from the pallet · stock restored to the pre-Approve state · Request back to SUBMITTED · Remark and Line items stay editable, can be approved again |  | (end) |

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

#### B12 · Barcode already in the Request?

- Warehouse Staff
- Comes from: B11
- Goes to [Yes]: B13 · Skip the duplicate line · report a duplicate-barcode error
- Goes to [No]: B14 · Save → validate Request Date · Warehouse/Zone · Item Code → Request = SAVED

#### B17 · Slip linked to a Request or standalone?

- Warehouse Staff
- Comes from: B15
- Goes to [Standalone]: B19 · Create a standalone Mapping Slip — not linked to any Request
- Goes to [From Request]: B20 · On the Request row click Map → system issues MP-… = SAVED · Linked Request No. auto-filled, read-only

#### B24 · Barcode already in the Slip?

- Warehouse Staff
- Comes from: B23
- Goes to [Yes]: B25 · Skip the duplicate line · report a duplicate-barcode error
- Goes to [No]: B26 · Save → validate Pallet BC · Date · Warehouse · Item Code → Slip = SAVED

#### B31 · The document's stock period closed?

- Warehouse Manager
- Comes from: B30
- Goes to [Closed]: B32 · Blocks every action: Submit · Approve · Cancel · Delete — This action cannot be completed because the affected inventory period is closed through [Close Date]
- Goes to [Not yet]: B33 · Approve → Slip = APPROVED merge sub-barcodes into the Pallet BC record the receipt by pallet

#### B35 · Every Request line Remaining = 0?

- Warehouse Manager
- Comes from: B33
- Goes to [Not yet]: B36 · Request stays SUBMITTED — barcodes are not fully mapped yet
- Goes to [Yes]: B37 · Request moves to CLOSED automatically

#### B41 · Stock enough to reverse AND no later action?

- Warehouse Manager
- Comes from: B40
- Goes to [No]: B42 · Cancel blocked · Slip stays APPROVED goods already moved in a later transaction or a later action on another screen
- Goes to [Yes]: B43 · Slip = CANCELLED · detach sub- barcodes from the pallet · reverse stock Request: Received down, Remaining up · Request CLOSED returns to SUBMITTED

## Status lifecycle

#### Mapping Request (MPYC-KHOxx-YYMM-NNNNN)

`SAVED` → `SUBMITTED` → `CLOSED`

Transitions:

- `SAVED` -- Confirmed --> `SUBMITTED`
- `SUBMITTED` -- Auto: every line Remaining = 0 --> `CLOSED`
- `CLOSED` -- Linked Slip cancelled — Remaining goes back up --> `SUBMITTED` (back)
- `SAVED` -- Delete Request --> `Deleted`

#### Mapping Slip (MP-KHOxx-YYMM-PNNN)

`SAVED` → `SUBMITTED` → `APPROVED` → `CANCELLED`

Transitions:

- `SAVED` -- Submit --> `SUBMITTED`
- `SUBMITTED` -- Approve — merge onto the Pallet BC --> `APPROVED`
- `APPROVED` -- Cancel — stock enough & no later action --> `CANCELLED`
- `CANCELLED` -- Edit Remark / Line items → approve again --> `APPROVED` (back)
- `SAVED` -- Delete Slip (also when CANCELLED) --> `Deleted`

- `CANCELLED` (Mapping Slip (MP-KHOxx-YYMM-PNNN)) → pulls row Mapping Request (MPYC-KHOxx-YYMM-NNNNN) back

Notes on the diagram:

- A closed stock period blocks every action

## Input

| # | Input | Type | Used in step |
| --- | --- | --- | --- |
| I-1 | Item (Item Code → Item Name, Customer), Warehouse/Zone, Loc ID, PIC | Master data | Filling in the Mapping Request |
| I-2 | Stock on hand per Barcode/QR still in the warehouse — the source of the Stock popup | System data | Adding barcodes to the Request list |
| I-3 | Tem Pallet BC (`V26…`) not yet attached to goods | Physical goods | Entering the Pallet BC on the Mapping Slip |
| I-4 | Boxes/packs carrying sub-barcodes, waiting to be merged onto a pallet | Physical goods | Adding sub-barcodes to the Slip (Scan · From Mapping Request · Stock) |

## Step ↔ screen

| Step | Role | Screen |
| --- | --- | --- |
| Filter From/To date · Request status · Slip status · warehouse · Pallet BC → Find · pick the By Request or By Pallet view | Warehouse Staff | Product Mapping Pallet · Web |
| Export — export the filtered list in the current view (optional) | Warehouse Staff | Product Mapping Pallet · Web |
| Create a Mapping Request → system issues number `MPYC-KHOxx-YYMM-NNNNN` in status `SAVED` | Warehouse Staff | Product Mapping Pallet · Web |
| Enter Request Date · Warehouse/Zone · PIC · Item Code → system fills Item Name · Customer · Loc ID | Warehouse Staff | Product Mapping Pallet · Web |
| Add barcodes to the Request: Stock popup · Scan Barcode/QR · Add Row by hand | Warehouse Staff | Product Mapping Pallet · Web |
| Skip the duplicate line · report a duplicate-barcode error | System (auto) | Product Mapping Pallet |
| Save → validate Request Date · Warehouse/Zone · Item Code → Request = `SAVED` | Warehouse Staff | Product Mapping Pallet · Web |
| Confirmed → Request = `SUBMITTED` (no way back to `SAVED` from the UI) | Warehouse Staff | Product Mapping Pallet · Web |
| Print the Request form with a QR Code built from the Request number (optional) | Warehouse Staff | Product Mapping Pallet · Web |
| Create a standalone Mapping Slip — not linked to any Request | Warehouse Staff | Product Mapping Pallet · Web |
| On the Request row click Map → system issues `MP-KHOxx-YYMM-PNNN` = `SAVED` · Linked Request No. auto-filled, read-only | Warehouse Staff | Product Mapping Pallet · Web |
| Enter Pallet BC (`V26…`) · Creation Date · Warehouse · Item Code · PIC | Warehouse Staff | Product Mapping Pallet · Web |
| Add sub-barcodes to the Slip: Scan · From Mapping Request · Stock popup | Warehouse Staff | Product Mapping Pallet · Web |
| Save → validate Pallet BC · Creation Date · Warehouse · Item Code → Slip = `SAVED` | Warehouse Staff | Product Mapping Pallet · Web |
| Remaining > 0 → orange warning, does not block Submit | System (auto) | Product Mapping Pallet |
| Submit → Slip = `SUBMITTED`, waiting for Warehouse Manager approval | Warehouse Staff | Product Mapping Pallet · Web |
| Open the `SUBMITTED` Slip · check Pallet BC ↔ the list of sub-barcodes in the Slip | Warehouse Manager | Product Mapping Pallet · Web |
| Approve → Slip = `APPROVED` · merge sub-barcodes into the Pallet BC · record the receipt by pallet | System (auto) | Product Mapping Pallet |
| Request stays `SUBMITTED` while barcodes are not fully mapped; the Request moves to `CLOSED` automatically when every line has Remaining = 0 | System (auto) | Product Mapping Pallet |
| The document’s stock period is closed → every action is blocked (Submit · Approve · Cancel · Delete) with the message `This action cannot be completed because the affected inventory period is closed through [Close Date]` | System (auto) | Product Mapping Pallet |
| Open the `APPROVED` → Cancel (shown only with the right) → cancel confirmation dialog | Warehouse Manager | Product Mapping Pallet · Web |
| Slip = `CANCELLED` · detach sub-barcodes from the Pallet BC · reverse stock · Request: Received down, Remaining up, Request `CLOSED` returns to `SUBMITTED`. Remark and Line items on a cancelled Slip stay editable, and it can be approved again afterwards | System (auto) | Product Mapping Pallet |

## Output

| # | Output | Produced when |
| --- | --- | --- |
| O-1 | File `.xlsx` / `.csv` matching the current filter and view | Click Export while the filtered list has at least one row |
| O-2 | Mapping Request `MPYC-…` = `SUBMITTED` with the barcode list and total Quantity | Click Confirmed with Request Date · Warehouse/Zone · Item Code filled in |
| O-3 | Printed Request form, QR = Request number, attached to the goods for scanning | Click Print on the Request modal or the print icon on the list row |
| O-4 | Mapping Slip `MP-…` = `SUBMITTED` with the Pallet BC and the list of merged sub-barcodes | Click Submit with Pallet BC · Creation Date · Warehouse · Item Code filled in |
| O-5 | Pallet BC holding the sub-barcodes · stock recorded by pallet, ready to be put away | Warehouse Manager approves the Slip — approving merges and records immediately |
| O-6 | Mapping Request `MPYC-…` = `CLOSED` (closed automatically) | Every Request line reaches Remaining = 0 after the linked Slip is approved |
| O-7 | *Exception:* Slip stays `APPROVED` · mapping and stock unchanged | The cancel is blocked because goods on the Pallet BC moved in a later transaction, or the record already has a later action on another screen |
| O-8 | *Exception:* Slip = `CANCELLED` · sub-barcodes detached from the pallet · stock restored to the pre-Approve state · Request `CLOSED` returns to `SUBMITTED` | A user with the cancel right confirms on the dialog and stock on the Pallet BC is still enough to reverse |
