Skip to content

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