Commerce Backorders
Track unfulfilled demand, allocate incoming inventory, and prioritize backorder fulfillment.
How It Works
- Create backorders when ordered items are out of stock.
- Set priority and expected/promised dates.
- Allocate incoming inventory (from POs, production, or transfers) to backorders.
- Fulfill backorders partially or completely as stock becomes available.
- Monitor backorder summaries by SKU and priority.
Usage
- CLI:
stateset backorders ... or stateset "list backorders for SKU WIDGET-001"
- Writes require
--apply.
- MCP tools:
list_backorders, create_backorder, update_backorder, allocate_backorder, fulfill_backorder, cancel_backorder, get_backorder_summary, get_sku_backorder_summary.
Permissions
- Read:
list_backorders, get_backorder_summary, get_sku_backorder_summary — no --apply needed.
- Write:
create_backorder, update_backorder, allocate_backorder, fulfill_backorder, cancel_backorder — requires --apply.
Examples
stateset backorders create --sku WIDGET-001 --quantity 100 --priority high --apply
stateset backorders allocate BO-2025-0015 --source PurchaseOrder --po PO-2025-050 --apply
stateset backorders fulfill BO-2025-0015 --quantity 60 --apply
stateset backorders summary --sku WIDGET-001
Status Flows
Backorder: Pending -> Allocated -> PartiallyFulfilled -> ReadyToShip -> Fulfilled (or Cancelled)
Allocation: Pending -> Confirmed -> Expired (or Released)
Priority Levels
- Low, Normal (default), High, Critical
Fulfillment Sources
- Inventory (default): existing warehouse stock
- PurchaseOrder: incoming supplier shipment
- Transfer: inter-warehouse transfer
- Production: manufacturing output
Output
{"status":"partially_fulfilled","backorder_id":"BO-2025-0015","sku":"WIDGET-001","quantity_ordered":100,"quantity_fulfilled":60,"quantity_remaining":40}
Present Results to User
- Backorder number, SKU, and priority.
- Quantities ordered, fulfilled, and remaining.
- Expected and promised dates.
- Fulfillment source (PO, production, etc.).
- SKU-level backorder summary across all orders.
Troubleshooting
- Allocation expired: re-allocate or extend expiration date.
- Cannot fulfill: verify available inventory matches allocation.
- Priority conflict: Critical backorders should be fulfilled before Low/Normal.
- Promised date passed: update the promised date and notify the customer.
Error Codes
BO_ALLOCATION_EXPIRED: The inventory allocation has expired and must be re-allocated.
BO_INSUFFICIENT_STOCK: Available inventory is insufficient to fulfill the backorder quantity.
BO_PROMISED_DATE_PASSED: The promised delivery date has elapsed without fulfillment.
Related Skills
- commerce-receiving: Incoming PO receipts provide stock for backorder allocation.
- commerce-warehouse: Warehouse inventory levels drive backorder fulfillment.
- commerce-quality: Failed inspections can reduce allocatable inventory.
References
- references/backorder-management.md
- /home/dom/stateset-icommerce/crates/stateset-core/src/models/backorder.rs
- /home/dom/stateset-icommerce/crates/stateset-embedded/src/backorder.rs
1---2name: commerce-backorders3description: Manage backorders for out-of-stock items. Use when tracking unfulfilled demand, allocating incoming inventory to backorders, or prioritizing backorder fulfillment.4---56# Commerce Backorders78Track unfulfilled demand, allocate incoming inventory, and prioritize backorder fulfillment.910## How It Works11121. Create backorders when ordered items are out of stock.132. Set priority and expected/promised dates.143. Allocate incoming inventory (from POs, production, or transfers) to backorders.154. Fulfill backorders partially or completely as stock becomes available.165. Monitor backorder summaries by SKU and priority.1718## Usage1920- CLI: `stateset backorders ...` or `stateset "list backorders for SKU WIDGET-001"`21- Writes require `--apply`.22- MCP tools: `list_backorders`, `create_backorder`, `update_backorder`, `allocate_backorder`, `fulfill_backorder`, `cancel_backorder`, `get_backorder_summary`, `get_sku_backorder_summary`.2324## Permissions2526- Read: `list_backorders`, `get_backorder_summary`, `get_sku_backorder_summary` — no `--apply` needed.27- Write: `create_backorder`, `update_backorder`, `allocate_backorder`, `fulfill_backorder`, `cancel_backorder` — requires `--apply`.2829## Examples3031```bash32stateset backorders create --sku WIDGET-001 --quantity 100 --priority high --apply33stateset backorders allocate BO-2025-0015 --source PurchaseOrder --po PO-2025-050 --apply34stateset backorders fulfill BO-2025-0015 --quantity 60 --apply35stateset backorders summary --sku WIDGET-00136```3738## Status Flows3940**Backorder:** Pending -> Allocated -> PartiallyFulfilled -> ReadyToShip -> Fulfilled (or Cancelled)41**Allocation:** Pending -> Confirmed -> Expired (or Released)4243## Priority Levels4445- Low, Normal (default), High, Critical4647## Fulfillment Sources4849- Inventory (default): existing warehouse stock50- PurchaseOrder: incoming supplier shipment51- Transfer: inter-warehouse transfer52- Production: manufacturing output5354## Output5556```json57{"status":"partially_fulfilled","backorder_id":"BO-2025-0015","sku":"WIDGET-001","quantity_ordered":100,"quantity_fulfilled":60,"quantity_remaining":40}58```5960## Present Results to User6162- Backorder number, SKU, and priority.63- Quantities ordered, fulfilled, and remaining.64- Expected and promised dates.65- Fulfillment source (PO, production, etc.).66- SKU-level backorder summary across all orders.6768## Troubleshooting6970- Allocation expired: re-allocate or extend expiration date.71- Cannot fulfill: verify available inventory matches allocation.72- Priority conflict: Critical backorders should be fulfilled before Low/Normal.73- Promised date passed: update the promised date and notify the customer.7475## Error Codes7677- `BO_ALLOCATION_EXPIRED`: The inventory allocation has expired and must be re-allocated.78- `BO_INSUFFICIENT_STOCK`: Available inventory is insufficient to fulfill the backorder quantity.79- `BO_PROMISED_DATE_PASSED`: The promised delivery date has elapsed without fulfillment.8081## Related Skills8283- **commerce-receiving**: Incoming PO receipts provide stock for backorder allocation.84- **commerce-warehouse**: Warehouse inventory levels drive backorder fulfillment.85- **commerce-quality**: Failed inspections can reduce allocatable inventory.8687## References88- references/backorder-management.md89- /home/dom/stateset-icommerce/crates/stateset-core/src/models/backorder.rs90- /home/dom/stateset-icommerce/crates/stateset-embedded/src/backorder.rs