Skip to content

Overview

The Procurement domain covers the complete loop from recognizing a supply need through ordering from vendors and receiving materials into the facility. The domain spans four functional areas: the Order Queue, which collects Kanban Cards that have entered the REQUESTING state; Purchase Orders, which consolidate demand signals into vendor commitments; Receiving, which records arrival of materials and closes the kanban loop by transitioning cards to FULFILLED; and End-to-End scenarios that verify the full lifecycle or capture cross-cutting concerns such as business outcomes, continuous improvement, and persistence behavior.

The procurement loop is tightly coupled to the Kanban Card lifecycle defined in the Resource domain. Every action in Procurement either reads card state (to populate the queue) or fires an event that advances a card through its state machine: REQUESTING on queue entry, REQUESTED on PO creation, IN_PROCESS on PO submission, and FULFILLED on receiving. Reference Data entities — Item, Supplier, and ItemSupply — provide the vendor and SKU information that the Order Queue uses for grouping and that Purchase Order lines inherit for pre-population.

The sections below describe the behaviors of each area in detail: