Skip to main content

Procurement

Overview​

Purchase orders, goods receipts, vendors, and stock transfers. Receipts and transfers feed stock and then the inventory publish path.

Code map​

PiecePath
Purchase ordersrc/modules/operations/purchase-order
State machinepurchase-order-state-machine.ts
Goods receiptsrc/modules/operations/goods-receipt
GRN state machinegoods-receipt-state-machine.ts
Transfersrc/modules/operations/stock-transfer
Vendorsrc/modules/commerce/vendor
Schema32-procurement.prisma, 22-partner.prisma

Purchase order transitions​

FromTo
DRAFTSUBMITTED, CANCELLED
SUBMITTEDPARTIALLY_RECEIVED, RECEIVED, CANCELLED
PARTIALLY_RECEIVEDRECEIVED, CLOSED, CANCELLED
RECEIVEDCLOSED
CANCELLED, CLOSEDnone

Goods receipt transitions​

FromTo
PENDING_QCQC_IN_PROGRESS, QC_COMPLETE, PUTAWAY_PENDING, REJECTED
QC_IN_PROGRESSQC_COMPLETE, PUTAWAY_PENDING, REJECTED
QC_COMPLETEPUTAWAY_PENDING, PUTAWAY_IN_PROGRESS, COMPLETED
PUTAWAY_PENDINGPUTAWAY_IN_PROGRESS, COMPLETED
PUTAWAY_IN_PROGRESSCOMPLETED
COMPLETED, REJECTEDnone

Implementation behavior

PENDING_QC can move directly to PUTAWAY_PENDING. QC can be skipped by that edge.

Business intent

Whether a tenant setting is supposed to remove that edge is not established. The map allows it.

Status

Requires business confirmation if operators must not skip QC.

Events​

Goods receipt and stock transfer enqueue stock.sync.requested and/or stock.received inside the workflow transaction. stock.received wakes fulfillment allocation.

Workflow: Goods receipt.

API surface​

Purchase order and goods receipt controllers. OpenAPI for fields.