Stock Transfer Lifecycle¶
Models the lifecycle of an inter-location Stock Transfer — movement of inventory between warehouses, distribution centres, and stores (store-to-store, DC-to-store, store-to-DC). Covers in-transit tracking, receipt, and discrepancy resolution.
Object: stock-transfer ·
States: 9 ·
Transitions: 11
State Diagram¶
flowchart LR
%% ── classDef palette ─────────────────────────────────────
classDef stInit fill:#0d9488,stroke:#0f766e,color:#fff,font-weight:bold
classDef stNorm fill:#3b82f6,stroke:#2563eb,color:#fff
classDef stOk fill:#16a34a,stroke:#15803d,color:#fff,font-weight:bold
classDef stFail fill:#dc2626,stroke:#b91c1c,color:#fff,font-weight:bold
classDef stHold fill:#d97706,stroke:#b45309,color:#fff
%% ── nodes ───────────────────────────────────────────────
draft(["Draft"])
approved["Approved"]
picking["Picking"]
in_transit["In Transit"]
partially_received["Partially Received"]
received["Received"]
discrepancy["Discrepancy"]
closed[["Closed"]]
cancelled[["Cancelled"]]
%% ── transitions ─────────────────────────────────
draft -->|"inventory-allocated"| approved
approved -->|"picking-started"| picking
picking -->|"inventory-transferred"| in_transit
in_transit -->|"inventory-adjusted"| partially_received
in_transit -->|"inventory-adjusted"| received
partially_received -->|"inventory-adjusted"| received
received -->|"inventory-counted"| discrepancy
discrepancy -->|"inventory-adjusted"| closed
received -->|"inventory-adjusted"| closed
draft -->|"inventory-released"| cancelled
approved -->|"inventory-released"| cancelled
%% ── class assignments ───────────────────────────
class draft stInit
class approved,picking,in_transit,partially_received,received,discrepancy stNorm
class closed stOk
class cancelled stFail
States¶
| State | Label | Description | Initial | Terminal |
|---|---|---|---|---|
draft |
Draft | Transfer request created. Quantities and locations defined. Not yet approved. | ✓ | |
approved |
Approved | Transfer authorised by inventory manager. Stock allocated for transfer at source. | ||
picking |
Picking | Items being picked and packed at source location. | ||
in-transit |
In Transit | Items dispatched from source. In transit to destination location. | ||
partially-received |
Partially Received | Some items received at destination. Remaining items still in transit or lost. | ||
received |
Received | All items received at destination. Pending final count verification. | ||
discrepancy |
Discrepancy | Quantity or condition variance between dispatched and received. Investigation required. | ||
closed |
Closed | Transfer reconciled. Inventory updated at both source and destination. Transfer archived. | ✓ | |
cancelled |
Cancelled | Transfer cancelled before dispatch. | ✓ |
Transitions¶
| From | To | Trigger | Guards |
|---|---|---|---|
draft |
approved |
inventory-allocated |
Sufficient stock available at source; Transfer approved by inventory manager |
approved |
picking |
picking-started |
Warehouse operator assigned; Transfer documents printed/available |
picking |
in-transit |
inventory-transferred |
All items picked and packed; Carrier or driver confirmed |
in-transit |
partially-received |
inventory-adjusted |
Fewer items received than dispatched |
in-transit |
received |
inventory-adjusted |
All items received at destination |
partially-received |
received |
inventory-adjusted |
Remaining items received |
received |
discrepancy |
inventory-counted |
Physical count differs from transfer manifest |
discrepancy |
closed |
inventory-adjusted |
Variance documented and approved; Inventory records adjusted |
received |
closed |
inventory-adjusted |
Count verified; Inventory updated at source and destination |
draft |
cancelled |
inventory-released |
Transfer not yet dispatched |
approved |
cancelled |
inventory-released |
Transfer cancelled before picking begins; Stock allocation released |