Skip to content

Goods Receipt Lifecycle

Models the lifecycle of a Goods Receipt (bolla di consegna / DDT) from creation on expected delivery through physical receipt, quality check, and matching against the originating Purchase Order and Supplier Invoice. Covers discrepancy handling (quantity, quality, price variances).

Object: goods-receipt · States: 8 · Transitions: 9


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 ───────────────────────────────────────────────
    expected(["Expected"])
    partially_received["Partially Received"]
    received["Received"]
    under_inspection["Under Inspection"]
    matched["Matched"]
    discrepancy["Discrepancy"]
    closed[["Closed"]]
    rejected[["Rejected"]]

    %% ── transitions ─────────────────────────────────
    expected -->|"inventory-adjusted"| partially_received
    expected -->|"inventory-adjusted"| received
    partially_received -->|"inventory-adjusted"| received
    received -->|"inventory-counted"| under_inspection
    under_inspection -->|"inventory-counted"| matched
    under_inspection -->|"inventory-adjusted"| discrepancy
    under_inspection -->|"inventory-adjusted"| rejected
    discrepancy -->|"inventory-adjusted"| matched
    matched -->|"inventory-transferred"| closed

    %% ── class assignments ───────────────────────────
    class expected stInit
    class partially_received,received,under_inspection,matched,discrepancy stNorm
    class closed stOk
    class rejected stFail

States

State Label Description Initial Terminal
expected Expected Goods Receipt created from Purchase Order. Awaiting physical delivery.
partially-received Partially Received Some items from the PO received. Remaining items still expected.
received Received All expected items physically received at warehouse or store.
under-inspection Under Inspection Items being counted, weighed, and quality-checked against the delivery note.
matched Matched Physical receipt matches PO quantities and quality. Ready for invoice matching.
discrepancy Discrepancy Variance found: quantity short/over, damaged items, or wrong products. Supplier notification required.
closed Closed Receipt fully reconciled. Inventory updated. Three-way match (PO, GR, Invoice) complete. Accounting entry posted.
rejected Rejected Entire delivery refused (e.g. wrong goods, severe damage). Returned to supplier.

Transitions

From To Trigger Guards
expected partially-received inventory-adjusted Fewer items received than PO quantity
expected received inventory-adjusted All PO lines received in expected quantities
partially-received received inventory-adjusted Remaining expected items now received
received under-inspection inventory-counted Warehouse operator initiates count and quality check
under-inspection matched inventory-counted Physical count matches delivery note; No quality issues found
under-inspection discrepancy inventory-adjusted Count or quality variance beyond tolerance
under-inspection rejected inventory-adjusted Goods refused in their entirety (wrong product, severe damage)
discrepancy matched inventory-adjusted Supplier credit note issued OR adjusted quantity agreed; Variance documented and approved
matched closed inventory-transferred Invoice received and matched; Accounting entry approved