The right stock goes to the wrong customer. The wrong stock goes to the right customer.
Different customers have different minimum shelf life at shipment requirements. A modern trade retailer like Reliance Retail may require 75% remaining shelf life at delivery. An export customer may require 80%. A general trade distributor may accept 50%. The ERP allocates the nearest available batch — not the batch that meets each customer's specific requirement.
The mismatch surfaces at the customer's receiving dock — a batch is rejected because it does not meet the MSLS requirement, the truck returns with the load, and the manufacturer absorbs the cost of a failed delivery, a re-pick, and a customer relationship under strain. The batch that was rejected may have been perfectly suitable for a different customer who received a batch that was over-specified for their requirements.
Shelf life allocation is a matching problem — each customer order has a shelf life requirement, each batch has a remaining shelf life, and the allocation engine needs to match them before the picking list is generated. HublerX reads each customer's MSLS requirement from the customer master, reads the remaining shelf life of every available finished goods batch from the WMS, and generates a batch allocation for each order that satisfies the customer's requirement — before the picker receives the instruction.
Live workflow view
The step-by-step sequence
- 1
Customer MSLS requirements read from master data
HublerX reads each customer's minimum shelf life at shipment requirement from the customer master in the ERP — by customer tier, product category, or individual customer agreement. MSLS requirements are maintained once and applied automatically to every order.
On order confirmation - 2
Available batch shelf life read from WMS
HublerX reads the remaining shelf life of every available finished goods batch from the WMS — batch ID, manufacturing date, best before date, and current location. Batches on quality hold are excluded automatically.
On allocation run - 3
Shelf life aware allocation calculated
For each customer order, HublerX calculates which available batches satisfy the customer's MSLS requirement — accounting for transit time to the customer's location. Where multiple batches qualify, the oldest eligible batch is allocated first (FEFO within the qualifying set).
Before picking list generation - 4
MSLS breaches flagged before picking
Where no available batch meets a customer's MSLS requirement for a specific order line, HublerX flags the breach before the picking list is generated — with the customer requirement, the best available shelf life, and the shortfall. The logistics coordinator and commercial team are notified to resolve before the truck is loaded.
On breach detection - 5
Compliant picking list generated
Once allocation is confirmed, HublerX generates the picking list with the specific batch IDs allocated to each customer order line — not just SKU and quantity. Warehouse operators pick the exact batches specified, eliminating the risk of a compliant allocation being overridden at the shelf.
On allocation confirmation - 6
Allocation recorded for audit and compliance
The batch-to-customer allocation is recorded in HublerX and linked to the delivery order in the ERP — with the batch shelf life at time of allocation, the customer MSLS requirement, and the compliance status. The record is available for customer compliance submissions and regulatory audits.
On dispatch
Results are directional. Outcomes vary by customer MSLS requirements, finished goods batch turnover, and WMS integration depth.
See how shelf life aware allocation works in your operation
30 minutes. Your ERP. Your customer requirements.