Commerce Receiving
Process inbound goods from purchase orders, transfers, and returns through receiving, inspection, and put-away.
How It Works
- Create a receipt linked to a purchase order, transfer, or return.
- Record received quantities against expected line items.
- Route items for quality inspection if required.
- Create put-away tasks to move received goods into warehouse locations.
- Complete put-away to finalize inventory placement.
Usage
- CLI:
stateset receiving ...orstateset "receive items for PO PO-123" - Writes require
--apply. - MCP tools:
create_receipt,list_receipts,get_receipt,receive_items,create_put_away,complete_put_away.
Permissions
- Read:
list_receipts,get_receipt— no--applyneeded. - Write:
create_receipt,receive_items,create_put_away,complete_put_away— requires--apply.
Examples
stateset receiving create --type PurchaseOrder --po PO-2025-0100 --apply
stateset receiving receive-items RCV-2025-0042 --sku WIDGET-001 --quantity 150 --apply
stateset receiving put-away RCV-2025-0042 --location LOC-A1-05 --apply
stateset receiving list --status InProgress --since 2025-01-01
Receipt Types
- PurchaseOrder (default): goods from supplier PO
- Transfer: inter-warehouse transfer
- Return: customer return receiving
- Adjustment: inventory adjustment receipt
- Production: finished goods from manufacturing
- Other: miscellaneous receipts
Status Flows
Receipt: Expected -> InProgress -> Received -> Inspecting -> PuttingAway -> Completed (or Cancelled)
Receipt Item: Pending -> PartiallyReceived -> Received -> Inspecting -> Rejected -> PutAway
Put-Away: Pending -> Assigned -> InProgress -> Completed (or Cancelled)
Output
{"status":"completed","receipt_number":"RCV-2025-0042","items_received":3,"total_quantity":150,"put_away_location":"LOC-A1-05"}
Present Results to User
- Receipt number and linked PO or reference.
- Quantities expected vs received vs rejected.
- Items pending inspection.
- Put-away locations and completion status.
Troubleshooting
- Quantity mismatch: record actual received; flag discrepancy for supplier follow-up.
- Items pending inspection: quality hold blocks put-away until inspection passes.
- Unknown SKU on receipt: verify PO line items match product catalog.
- Put-away location full: assign an alternate location or expand bin capacity.
Error Codes
RECEIPT_QTY_MISMATCH: Received quantity does not match the expected PO line quantity.PUTAWAY_LOCATION_FULL: Target put-away location has no remaining capacity; assign an alternate bin.RECEIPT_SKU_UNKNOWN: SKU on the receipt does not match any line item on the linked purchase order.
Related Skills
- commerce-warehouse: Put-away tasks place received goods into warehouse locations.
- commerce-quality: Route received items through quality inspection before put-away.
- commerce-backorders: Received inventory can be allocated to open backorders.
- commerce-accounts-payable: Match receipts to supplier bills for three-way matching.
References
- references/receiving-flow.md
- /home/dom/stateset-icommerce/crates/stateset-core/src/models/receiving.rs
- /home/dom/stateset-icommerce/crates/stateset-embedded/src/receiving.rs