| name | commerce-lots-and-serials |
| description | Manage lot/batch tracking and serial number management. Use when tracking product batches with expiration dates, assigning serial numbers, or performing traceability lookups. |
Commerce Lots & Serials
Track product batches with lot numbers and expiration dates, and manage individual unit serial numbers for full traceability.
How It Works
Lot Tracking
- Create lots with production date, quantity, and expiration.
- Track lot inventory across warehouse locations.
- Consume, adjust, transfer, split, or merge lots.
- Quarantine lots for quality issues.
- Attach certificates (COA, COC, MSDS).
- Trace upstream sources and downstream consumption.
Serial Number Tracking
- Create serial numbers individually or in bulk.
- Track serial lifecycle: Available -> Sold -> Shipped -> InService.
- Reserve serials for orders with expiration.
- Transfer ownership and track location changes.
- Look up complete serial history with warranty info.
Usage
- MCP tools (Lots):
create_lot, list_lots, get_lot, consume_lot, adjust_lot, transfer_lot, split_lot, merge_lots, quarantine_lot, release_quarantine, add_lot_certificate, trace_lot, get_expiring_lots.
- MCP tools (Serials):
create_serial, bulk_create_serials, list_serials, get_serial, mark_serial_sold, mark_serial_shipped, reserve_serial, release_serial_reservation, transfer_serial_ownership, lookup_serial, validate_serial, get_available_serials.
- Writes require
--apply.
Lot Statuses
- Active, Consumed, Expired, Quarantine, Transferred
Serial Statuses
- Available, Reserved, Sold, Shipped, InService, Returned, Repaired, Quarantine, Scrapped, Unknown
Certificate Types
- COA (Certificate of Analysis), COC (Certificate of Compliance), MSDS (Material Safety Data Sheet)
Output
{"status":"lot_created","lot_number":"LOT-2025-A001","sku":"PHARMA-100","quantity":500,"expiration_date":"2026-06-30"}
{"status":"serial_created","serial_number":"SN-W001-00001","sku":"WIDGET-PRO","status":"available"}
Present Results to User
- Lot number, SKU, quantity, and expiration date.
- Serial number, current status, and owner.
- Traceability chain (upstream sources, downstream consumers).
- Expiring lots within the requested timeframe.
Troubleshooting
- Lot in quarantine: must release quarantine before consumption.
- Serial already reserved: release existing reservation first.
- Expired lot: cannot consume expired lots; adjust or scrap.
- Merge conflict: lots must share the same SKU to merge.
References
- references/traceability.md
- /home/dom/stateset-icommerce/crates/stateset-core/src/models/lots.rs
- /home/dom/stateset-icommerce/crates/stateset-core/src/models/serials.rs
- /home/dom/stateset-icommerce/crates/stateset-embedded/src/lots.rs
- /home/dom/stateset-icommerce/crates/stateset-embedded/src/serials.rs