Commerce Warehouse
Manage warehouse facilities, location hierarchies, and inventory movements across zones, aisles, racks, and bins.
How It Works
- Create a warehouse with type and address.
- Define locations within the warehouse (zones, aisles, racks, bins).
- Track inventory at each location with on-hand, reserved, and available quantities.
- Move inventory between locations with full audit trail.
- Adjust location inventory with reason codes and references.
Usage
- CLI:
stateset warehouse ... or stateset "list warehouse locations"
- Writes require
--apply.
- MCP tools:
list_warehouses, get_warehouse, create_warehouse, update_warehouse, list_locations, get_location, create_location, get_location_inventory, adjust_location_inventory, move_inventory, list_movements.
Permissions
- Read:
list_warehouses, get_warehouse, list_locations, get_location, get_location_inventory, list_movements — no --apply needed.
- Write:
create_warehouse, update_warehouse, create_location, adjust_location_inventory, move_inventory — requires --apply.
Examples
stateset warehouse create --name "East DC" --type Distribution --apply
stateset warehouse create-location WH-EAST --type Pick --code LOC-A1-01 --apply
stateset warehouse move --sku WIDGET-001 --from LOC-A1-01 --to LOC-B2-03 --quantity 25 --apply
stateset warehouse inventory LOC-A1-01 --include-reserved
Warehouse Types
- Distribution (default), Manufacturing, Retail, ThirdParty, Consignment, Returns
Location Types
- Bulk, Pick, Staging, Receiving, Shipping, Quarantine, Returns, Production, Packing, CrossDock
Status Flows
Warehouse: Active -> Inactive -> Decommissioned
Movement: Pending -> InProgress -> Completed (or Cancelled)
Location: Active -> Inactive -> Blocked
Movement Types
- Receipt, Transfer, Pick, Adjustment, Shipment, Return
Output
{"status":"moved","from_location":"LOC-A1-01","to_location":"LOC-B2-03","sku":"WIDGET-001","quantity":25}
Present Results to User
- Warehouse and location identifiers created or updated.
- Inventory quantities at affected locations.
- Movement audit trail with reason and reference.
- Location utilization and capacity status.
Troubleshooting
- Insufficient stock at location: check on-hand minus reserved before moving.
- Location not found: verify the warehouse and location hierarchy exist.
- Duplicate location code: location codes must be unique within a warehouse.
- Movement stuck in progress: verify both source and destination locations are active.
Error Codes
INSUFFICIENT_LOCATION_STOCK: On-hand quantity minus reserved is insufficient for the requested move.
LOCATION_NOT_FOUND: The specified warehouse or location code does not exist in the hierarchy.
DUPLICATE_LOCATION_CODE: A location with this code already exists within the warehouse.
Related Skills
- commerce-receiving: Put-away tasks move received goods into warehouse locations.
- commerce-quality: Quality holds block inventory movement at specific locations.
- commerce-backorders: Warehouse stock levels determine backorder allocation.
References
- references/warehouse-locations.md
- /home/dom/stateset-icommerce/crates/stateset-core/src/models/warehouse.rs
- /home/dom/stateset-icommerce/crates/stateset-embedded/src/warehouse.rs
1---2name: commerce-warehouse3description: Manage warehouses, locations, and inventory movements. Use when setting up warehouses, creating zones/bins, moving stock between locations, or tracking location-level inventory.4---56# Commerce Warehouse78Manage warehouse facilities, location hierarchies, and inventory movements across zones, aisles, racks, and bins.910## How It Works11121. Create a warehouse with type and address.132. Define locations within the warehouse (zones, aisles, racks, bins).143. Track inventory at each location with on-hand, reserved, and available quantities.154. Move inventory between locations with full audit trail.165. Adjust location inventory with reason codes and references.1718## Usage1920- CLI: `stateset warehouse ...` or `stateset "list warehouse locations"`21- Writes require `--apply`.22- MCP tools: `list_warehouses`, `get_warehouse`, `create_warehouse`, `update_warehouse`, `list_locations`, `get_location`, `create_location`, `get_location_inventory`, `adjust_location_inventory`, `move_inventory`, `list_movements`.2324## Permissions2526- Read: `list_warehouses`, `get_warehouse`, `list_locations`, `get_location`, `get_location_inventory`, `list_movements` — no `--apply` needed.27- Write: `create_warehouse`, `update_warehouse`, `create_location`, `adjust_location_inventory`, `move_inventory` — requires `--apply`.2829## Examples3031```bash32stateset warehouse create --name "East DC" --type Distribution --apply33stateset warehouse create-location WH-EAST --type Pick --code LOC-A1-01 --apply34stateset warehouse move --sku WIDGET-001 --from LOC-A1-01 --to LOC-B2-03 --quantity 25 --apply35stateset warehouse inventory LOC-A1-01 --include-reserved36```3738## Warehouse Types3940- Distribution (default), Manufacturing, Retail, ThirdParty, Consignment, Returns4142## Location Types4344- Bulk, Pick, Staging, Receiving, Shipping, Quarantine, Returns, Production, Packing, CrossDock4546## Status Flows4748**Warehouse:** Active -> Inactive -> Decommissioned49**Movement:** Pending -> InProgress -> Completed (or Cancelled)50**Location:** Active -> Inactive -> Blocked5152## Movement Types5354- Receipt, Transfer, Pick, Adjustment, Shipment, Return5556## Output5758```json59{"status":"moved","from_location":"LOC-A1-01","to_location":"LOC-B2-03","sku":"WIDGET-001","quantity":25}60```6162## Present Results to User6364- Warehouse and location identifiers created or updated.65- Inventory quantities at affected locations.66- Movement audit trail with reason and reference.67- Location utilization and capacity status.6869## Troubleshooting7071- Insufficient stock at location: check on-hand minus reserved before moving.72- Location not found: verify the warehouse and location hierarchy exist.73- Duplicate location code: location codes must be unique within a warehouse.74- Movement stuck in progress: verify both source and destination locations are active.7576## Error Codes7778- `INSUFFICIENT_LOCATION_STOCK`: On-hand quantity minus reserved is insufficient for the requested move.79- `LOCATION_NOT_FOUND`: The specified warehouse or location code does not exist in the hierarchy.80- `DUPLICATE_LOCATION_CODE`: A location with this code already exists within the warehouse.8182## Related Skills8384- **commerce-receiving**: Put-away tasks move received goods into warehouse locations.85- **commerce-quality**: Quality holds block inventory movement at specific locations.86- **commerce-backorders**: Warehouse stock levels determine backorder allocation.8788## References89- references/warehouse-locations.md90- /home/dom/stateset-icommerce/crates/stateset-core/src/models/warehouse.rs91- /home/dom/stateset-icommerce/crates/stateset-embedded/src/warehouse.rs