# Inbound (Merged) — 3 receipt types on one screen

> Fine Chemical (FC) · WMS module · v1.5 · 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/inbound-merged

## 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 Master Bin Location | Master data | B04 |
| B02 | Input | Data | Purchase Order (PO) | Purchase Order | B11 |
| B03 | Input | Data | Stock out Slip (linked to WO) | Stock out Slip | B12 |
| B04 | Warehouse Staff | Start | Start |  | B05 |
| B05 | Warehouse Staff | Decision | Request or standalone Slip? |  | B06 [Standalone Slip]; B07 [Create Request] |
| B06 | Warehouse Staff | Task | Create Inbound Slip (standalone, pick type) | Web · Inbound | B08 |
| B07 | Warehouse Staff | Task | Create Inbound Request | Web · Inbound | B09 |
| B08 | Warehouse Staff | Task | Submit for Approval | Web · Inbound | B10 [Slip SUBMITTED] |
| B09 | Warehouse Staff | Decision | Transaction type? |  | B11 [Stock In]; B12 [Return From Line]; B13 [Other In] |
| B10 | Warehouse Manager | Decision | The document's stock period closed? |  | B14 [Closed]; B15 [Not yet] |
| B11 | Warehouse Staff | Task | Stock In: From PO → Supplier, ETA, RM / Packaging W/H | Web · Inbound | B16 |
| B12 | Warehouse Staff | Task | Return From Line: From Stock out Slip → Line, Reason · Shift · FG/SFG W/H | Web · Inbound | B16 |
| B13 | Warehouse Staff | Task | Other In: Dept, Reason + Detail, FG / SFG W/H | Web · Inbound | B16 |
| B14 | Output | Data | Blocks every action: Submit · Approve · Cancel · Delete — This action cannot be completed because the affected inventory period is closed through [Close Date] |  | (end) |
| B15 | Warehouse Manager | Task | Approve (Approve Stock In / Approve Slip) | Web · Inbound | B17; B18 |
| B16 | Warehouse Staff | Task | Submit Request | Web · Inbound | B19 [SUBMITTED] |
| B17 | Output | Data | Inbound Slip = APPROVED |  | (end) |
| B18 | Warehouse Manager | Task | Add Physical & Available Stock at receiving W/H | System (auto) · Inbound | B20; B21 [optional branch]; B22 |
| B19 | Warehouse Staff | Task | Print QR Slip (QR = Request No.) | Web · Inbound | B23 |
| B20 | Output | Data | Stock up at receiving W/H (by transaction type) |  | (end) |
| B21 | Warehouse Staff | Task | W/H Stock Checking (view-only lookup) | Web · W/H Stock Checking |  |
| B22 | Warehouse Manager | Decision | Request still Remaining > 0? |  | B24 [No]; B23 [Yes — receive the rest on a new Slip] |
| B23 | Warehouse Staff | Task | Scan Inbound Request | Mobile · Inbound | B25 |
| B24 | Output | Data | Request → CLOSED (automatic) |  | (end) |
| B25 | Warehouse Staff | Task | Scan Barcode | Mobile · Inbound | B26 |
| B26 | Warehouse Staff | Task | Make Slip | Mobile · Inbound | B08 |
| B27 | Warehouse Manager | Start | Start |  | B28 |
| B28 | Warehouse Manager | Task | Cancel (Slip is APPROVED) | Web · Inbound | B29 |
| B29 | Warehouse Manager | Decision | Stock enough to reverse AND no later action? |  | B30 [No]; B31 [Yes] |
| B30 | Output | Data | Cancel blocked — Available Stock short or a later action exists |  | (end) |
| B31 | Warehouse Manager | Task | Slip → CANCELLED deduct Stock back | System (auto) · Inbound | B32; B33 |
| B32 | Output | Data | Stock reversed Slip = CANCELLED |  | (end) |
| B33 | Output | Data | Request CLOSED returns to SUBMITTED · Remaining goes back up |  | (end) |

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

#### B05 · Request or standalone Slip?

- Warehouse Staff
- Comes from: B04
- Goes to [Standalone Slip]: B06 · Create Inbound Slip (standalone, pick type)
- Goes to [Create Request]: B07 · Create Inbound Request

#### B09 · Transaction type?

- Warehouse Staff
- Comes from: B07
- Goes to [Stock In]: B11 · Stock In: From PO → Supplier, ETA, RM / Packaging W/H
- Goes to [Return From Line]: B12 · Return From Line: From Stock out Slip → Line, Reason · Shift · FG/SFG W/H
- Goes to [Other In]: B13 · Other In: Dept, Reason + Detail, FG / SFG W/H

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

- Warehouse Manager
- Comes from: B08
- Goes to [Closed]: B14 · 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]: B15 · Approve (Approve Stock In / Approve Slip)

#### B22 · Request still Remaining > 0?

- Warehouse Manager
- Comes from: B18
- Goes to [No]: B24 · Request → CLOSED (automatic)
- Goes to [Yes — receive the rest on a new Slip]: B23 · Scan Inbound Request

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

- Warehouse Manager
- Comes from: B28
- Goes to [No]: B30 · Cancel blocked — Available Stock short or a later action exists
- Goes to [Yes]: B31 · Slip → CANCELLED deduct Stock back

## Status lifecycle

#### Inbound Request

`SAVED` → `SUBMITTED` → `CLOSED`

Transitions:

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

#### Inbound Slip

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

Transitions:

- `SAVED` -- Submit for Approval --> `SUBMITTED`
- `SUBMITTED` -- Approve (Stock In / Slip) --> `APPROVED`
- `APPROVED` -- Cancel — stock enough & no later action --> `CANCELLED`
- `CANCELLED` -- Edit Remark / Line items → approve again --> `APPROVED` (back)
- `SAVED` -- Delete --> `Deleted`

- `CANCELLED` (Inbound Slip) → pulls row Inbound Request back

Notes on the diagram:

- Cancel blocked if stock is short, a later action exists on another screen, or the stock period is closed

## Fields that differ by transaction type

| Item | Stock In | Return From Line | Other In |
| --- | --- | --- | --- |
| Source document | Purchase Order (From PO) | Stock out Slip (linked to Work Order) | None |
| Partner | Supplier | Line (Injection Work Center tree) | Requesting Department (free text) |
| Reason | None | Return Reason (5 values) | Reason / Reason Code (7 values) + Reason Description |
| Type-specific fields | ETA; Supplier Delivery Note No. (on Slip) | Production Shift (Morning/Afternoon/Night) | Related Department; Reference Document (on Slip) |
| Person in charge | Person in Charge | Person in Charge (Line Leader) | Person in Charge |
| Receiving warehouse | KHO-NVL-01, KHO-NVL-02, KHO-BAO-BI | KHO-TP-01, KHO-TP-02, KHO-BTP, KHO-PHE | KHO-TP-01, KHO-TP-02, KHO-BTP |
| Request number | YQNK-NVL-YYMM-XXXXX | YCTH-CH01-YYMM-XXXXX | YQKH-KHO01-YYMM-XXXXX (series shared with Other Out) |
| Slip number | GRN-NVL-YYMM-XXXXX | PT-CH01-YYMM-XXXXX | PKH-IN-YYMM-XXXXX |
| Approve button label | Approve Stock In | Approve Slip | Approve Slip |

## Input

| # | Input | Type | Used in step |
| --- | --- | --- | --- |
| I-0 | Purchase Order (PO) | Source document — Stock In | Stock In → From PO |
| I-1 | Stock out Slip (linked to Work Order) | Source document — Return From Line | Return From Line → From Stock out Slip |
| I-2 | Item Master, Warehouse, Bin Location | Master data | Every line, Request/Slip header |

## Step ↔ screen

| Step | Role | Screen |
| --- | --- | --- |
| Create Inbound Request | Warehouse Staff | Inbound · Web |
| Create Inbound Slip (standalone) | Warehouse Staff | Inbound · Web |
| Pick transaction type (Stock In / Return From Line / Other In) | Warehouse Staff | Inbound · Web |
| Submit Request · Print QR Slip | Warehouse Staff | Inbound · Web |
| Scan Inbound Request · Scan Barcode · Make Slip | Warehouse Staff | Inbound · Mobile |
| Submit for Approval | Warehouse Staff | Inbound · Web |
| Approve · Cancel | Warehouse Manager | Inbound · Web |
| 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) | Inbound Merged |

## Output

| # | Output | Produced when |
| --- | --- | --- |
| O-1 | Inbound Request: `SAVED` → `SUBMITTED` → `CLOSED` | CLOSED automatically when every line has Remaining = 0 |
| O-2 | Inbound Slip = `APPROVED` | Manager clicks Approve while the Slip is `SUBMITTED` |
| O-3 | Physical & Available Stock increase at the receiving warehouse (warehouse depends on type — see the field table above) | On Approve |
| O-4 | Received / Remaining updated on the Request lines | Slip is linked to a Request |
| O-5 | *Exception:* Slip = `CANCELLED`, stock reversed, a CLOSED Request returns to SUBMITTED — or the cancel is blocked | Slip is `APPROVED`; blocked if Available Stock is short, or a later action on another screen |
