# Goods Delivery — Shipping goods to customers

> 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/goods-delivery

## 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 | Customer / Item Master Warehouse · Bin Location | Master data | B03 |
| B02 | Input | Data | Sales Order / Shipping Plan | Sales Order | B10 |
| B03 | Warehouse Staff | Start | Start |  | B04 |
| B04 | Warehouse Staff | Decision | DO or standalone Slip? |  | B05 [Slip]; B06 [Create DO] |
| B05 | Warehouse Staff | Task | Create G/D Slip (standalone) | Web · Goods Delivery | B07 |
| B06 | Warehouse Staff | Task | Create Delivery Order | Web · Goods Delivery | B08 |
| B07 | Warehouse Staff | Task | Submit for Approval | Web · Goods Delivery | B09 [Slip SUBMITTED] |
| B08 | Warehouse Staff | Decision | Line source? |  | B10 [From SO]; B11 [From Stock] |
| B09 | Warehouse Manager | Decision | The document's stock period closed? |  | B12 [Closed]; B13 [Not yet] |
| B10 | Warehouse Staff | Task | From SO/Shipping Plan → Get Selected Rows | Web · Goods Delivery | B14 |
| B11 | Warehouse Staff | Task | Pick from Stock (From Stock popup) | Web · Goods Delivery | B14 |
| B12 | 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) |
| B13 | Warehouse Manager | Task | Approve SUBMITTED → APPROVED | Web · Goods Delivery | B15; B16 |
| B14 | Warehouse Staff | Task | Mapping Barcode (Search & Map Barcode/QR) | Web · Goods Delivery | B17 |
| B15 | Output | Data | G/D Slip = APPROVED |  | (end) |
| B16 | Warehouse Manager | Task | Deduct Physical & Available Stock at Bin (issued) | System (auto) · Goods Delivery | B18; B19 [optional branch]; B20 |
| B17 | Warehouse Staff | Task | Submit DO | Web · Goods Delivery | B21 [SUBMITTED] |
| B18 | Output | Data | Stock down at Bin (goods issued) |  | (end) |
| B19 | Warehouse Staff | Task | W/H Stock Checking (view-only lookup) | Web · W/H Stock Checking |  |
| B20 | Warehouse Manager | Decision | DO still Remaining > 0? |  | B22 [No]; B23 [Yes — receive the rest on a new Slip] |
| B21 | Warehouse Staff | Task | Print DO (QR = DO No.) | Web · Goods Delivery | B23 |
| B22 | Output | Data | DO → CLOSED (automatic) |  | (end) |
| B23 | Warehouse Staff | Task | Scan Delivery Order | Mobile · Goods Delivery | B24 |
| B24 | Warehouse Staff | Task | Scan DO barcodes | Mobile · Goods Delivery | B25 |
| B25 | Warehouse Staff | Task | Make Slip | Mobile · Goods Delivery | B07 |
| B26 | Warehouse Manager | Start | Start |  | B27 |
| B27 | Warehouse Manager | Task | Cancel (Slip is APPROVED) | Web · Goods Delivery | B28 |
| B28 | Warehouse Manager | Decision | Not yet shipped AND no later action? |  | B29 [No]; B30 [Yes] |
| B29 | Output | Data | Cancel blocked — goods have left or a later action on another screen |  | (end) |
| B30 | Warehouse Manager | Task | Slip → CANCELLED add Stock back | System (auto) · Goods Delivery | B31; B32 |
| B31 | Output | Data | Stock restored Slip = CANCELLED |  | (end) |
| B32 | Output | Data | CLOSED DO → back to SUBMITTED |  | (end) |

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

#### B04 · DO or standalone Slip?

- Warehouse Staff
- Comes from: B03
- Goes to [Slip]: B05 · Create G/D Slip (standalone)
- Goes to [Create DO]: B06 · Create Delivery Order

#### B08 · Line source?

- Warehouse Staff
- Comes from: B06
- Goes to [From SO]: B10 · From SO/Shipping Plan → Get Selected Rows
- Goes to [From Stock]: B11 · Pick from Stock (From Stock popup)

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

- Warehouse Manager
- Comes from: B07
- Goes to [Closed]: B12 · 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]: B13 · Approve SUBMITTED → APPROVED

#### B20 · DO still Remaining > 0?

- Warehouse Manager
- Comes from: B16
- Goes to [No]: B22 · DO → CLOSED (automatic)
- Goes to [Yes — receive the rest on a new Slip]: B23 · Scan Delivery Order

#### B28 · Not yet shipped AND no later action?

- Warehouse Manager
- Comes from: B27
- Goes to [No]: B29 · Cancel blocked — goods have left or a later action on another screen
- Goes to [Yes]: B30 · Slip → CANCELLED add Stock back

## Status lifecycle

#### Delivery Order (DO)

`SAVED` → `SUBMITTED` → `CLOSED`

Transitions:

- `SAVED` -- Submit DO --> `SUBMITTED`
- `SUBMITTED` -- Auto: every line Remaining = 0 --> `CLOSED`
- `CLOSED` -- Slip cancelled --> `SUBMITTED` (back)
- `SAVED` -- Delete DO --> `Deleted`

#### G/D Slip

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

Transitions:

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

- `CANCELLED` (G/D Slip) → pulls row Delivery Order (DO) back

Notes on the diagram:

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

## Input

| # | Input | Type | Used in step |
| --- | --- | --- | --- |
| I-0 | Sales Order / Shipping Plan | Source document | From SO/Shipping Plan → Get Selected Rows |
| I-1 | Customer Master, Item Master, Warehouse, Bin Location | Master data | Every line, DO/Slip header |

## Step ↔ screen

| Step | Role | Screen |
| --- | --- | --- |
| Create Delivery Order | Warehouse Staff | Goods Delivery · Web |
| Create G/D Slip (standalone) | Warehouse Staff | Goods Delivery · Web |
| From SO/Shipping Plan → Get Selected Rows | Warehouse Staff | Goods Delivery · Web |
| Pick from Stock (From Stock popup) | Warehouse Staff | Goods Delivery · Web |
| Mapping Barcode (Search & Map Barcode/QR) | Warehouse Staff | Goods Delivery · Web |
| Submit DO · Print DO | Warehouse Staff | Goods Delivery · Web |
| Scan Delivery Order · Scan DO barcodes · Make Slip | Warehouse Staff | Goods Delivery · Mobile |
| Submit for Approval | Warehouse Staff | Goods Delivery · Web |
| Approve · Cancel | Warehouse Manager | Goods Delivery · 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) | Goods Delivery |

## Output

| # | Output | Produced when |
| --- | --- | --- |
| O-1 | Delivery Order: `SAVED` → `SUBMITTED` → `CLOSED` | CLOSED automatically when every line has Remaining = 0 |
| O-2 | G/D Slip = `APPROVED` | Manager clicks Approve while the Slip is `SUBMITTED` |
| O-3 | Physical & Available Stock decrease at each line's Bin Location | On Approve — goods leave the warehouse |
| O-4 | Delivered / Remaining updated on the DO lines | Slip is linked to a DO |
| O-5 | *Exception:* Slip = `CANCELLED`, stock restored, a CLOSED DO returns to SUBMITTED — or the cancel is blocked | Slip is `APPROVED`; blocked if goods have left / been handed to the carrier, or a later action on another screen |
