Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery

Product

Resources

Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery

Product

Resources

Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery
Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery Shelf-life allocation: check batches at deliveryShelf-life allocation: check batches at delivery Shelf-life allocation: check batches at delivery

Will this batch have enough shelf life at delivery?

Will this batch have enough shelf life at delivery?

Work through a five-day customer shelf-life requirement, then a two-day delivery delay, to see which lots qualify and what the warehouse needs to do next.

For a dairy or perishable-food operation, the batch that expires first may be unsuitable for the next order. A customer might need five days of shelf life remaining when the delivery arrives. Stock with six days left today could fall short after transport or a change to the delivery date.

To allocate the order, first identify the batches that meet the customer’s requirement at delivery and are otherwise eligible. Then choose among them by expiry. This gives the planner a usable selection and the warehouse a batch it can pick for that order.

Check eligibility before applying FEFO

First expired, first out (FEFO) puts the earliest-expiring stock first. FIFO, first in, first out, instead follows the order stock arrived.

FEFO answers which eligible batch to use first. Eligibility depends on the particular order: the product and customer, expected delivery date, required remaining shelf life and the stock available to fulfil it. Existing allocations and quality holds still apply. Plenty of remaining shelf life does not make a held batch available.

Agree the date and counting rules with the people responsible for quality and customer agreements. Which date on the batch is relevant? Which delivery date represents the promise to the customer? Does the agreement count whole calendar days, and how does it treat the delivery day? Use those definitions in the calculation. A software setting must not silently extend the batch’s expiry to make an order fit.

Work through one delivery

This illustrative example uses delivery on 10 September 2026 and a requirement for at least five remaining days. Count days by subtracting the delivery date from the expiry date, without adding the delivery day. These are example commercial rules and arithmetic, not food-safety guidance.

All four lots contain the same product. Assume released lots are otherwise suitable and available for this order, with sufficient quantity in each to fulfil it.

Lot

Expiry date

Days remaining at delivery

Release status

Eligible?

A

13 September

3

Released

No: fewer than five days

B

16 September

6

Released

Yes

C

18 September

8

Released

Yes

D

19 September

9

On hold

No: not released

B and C qualify. FEFO chooses B because it expires first among those two. A’s earlier expiry does not make it suitable for this customer. D stays on hold despite having the most time remaining.

Now move the delivery two days later, to 12 September. The expiry dates, release statuses and other conditions stay the same.

Lot

Days remaining at revised delivery

Result

A

1

Fails the five-day requirement

B

4

No longer eligible

C

6

Still eligible

D

7

Still on hold

B has lost two days of remaining shelf life at delivery, so the order needs a new allocation. C is now the eligible choice under our assumptions. In a real allocation, check its remaining quantity too. If C cannot cover the order, the planner needs to resolve the shortage before assigning a batch.

The expiry date describes the lot. The remaining shelf life at delivery describes that lot’s suitability for a particular order. Changing the delivery date can change the latter even though nothing on the lot record has changed.

Make the recalculation useful to the team

The planner needs to see which orders a date change affects and what can fulfil them now. Put the customer requirement and delivery date beside the available lots, with their release status and remaining days. Show why a lot was excluded so the planner can explain the choice to customer service or investigate missing information.

The next step depends on how far warehouse work has progressed. Before picking starts, a revised allocation can become the new picking instruction. If staff have already picked B, changing its reference on the order does not replace the physical stock. Someone must review what has been picked, arrange any substitution and give the warehouse clear instructions. Dispatch should record the lot and quantity that actually left.

This also gives you a practical software test. Run the original allocation, change the delivery date and check whether the affected order comes back for attention with valid alternatives. Repeat after picking has started to see how staff resolve the work already done.

Check the process your current system supports

Existing products may already handle the required dates and rules. Microsoft Dynamics documents customer sellable-days requirements based on the requested receipt date, or the confirmed receipt date when defined. Unleashed documents batch expiry visibility and transaction history.

Ask your supplier to demonstrate your whole allocation and date-change process with the settings your operation uses. Establish how new dates reach the allocation calculation and the people doing the work, including when order intake and warehouse stock live in different systems. Test a batch being put on hold after allocation as well. A date-correct calculation still depends on current release and availability information.

Organising shelf-life allocation in Keel

Keel is an operations platform for shaping how your team plans and carries out work. For this process, an implementation could give a planner one view of the order’s delivery promise and the lots that can meet it. A changed delivery date could bring the affected allocation back for review, with eligible alternatives ordered by expiry. After the planner chooses a lot, the workflow could pass the revised instruction to the warehouse and track the work still to do.

The calculation behind that view would use custom business logic to apply the agreed customer rule and check the selection. Keel’s operator tools and flows provide views and interactive steps for working with the result. The way planners review allocations and the rules behind their choices can therefore evolve together, including when you change a customer agreement or improve the allocation process.

Those allocation rules, stock connections and warehouse handoffs need implementation and testing for your operation. Keel’s team leads the implementation and agrees the handover with you. Discuss your shelf-life allocation, using one order and its eligible and ineligible lots to explain how your team handles a changed delivery date.