Shelf life

This example illustrates the planning functionality to deal with perishable items that have a limited shelf life.

Perishable items requires special attention during planning:

  • The inventory needs to be specified by lots, each with their expiry date. Just knowing the total available quantity isn’t sufficient.

  • Inventory can go wasted if it is not consumed within the defined shelf life. The planning algorithm needs to alert the planner about the wastage risks such that corrective actions can be taken (such as selling to a different customer, produce or purchase less, store temporarily in a freezer, move some manufacturing orders early to consume the material on time, etc)

  • Some operations in the supply chain reset the shelf life of the product: e.g. when baking a cake, it’s shelf life is 10 days, independent of the shelf life of the ingredients used.
    Other operations carry forward the shelf life of the inventory being used: e.g. when transporting stock between locations the shelf life stays the same. e.g. when repackaging products the packaged products gets the shelf life of the items being packaged.
  • We need to satisfy sales orders with a remaining shelf life that your customer is happy with. Your customer may not be happy if the item you sold him will expire the next day.

Check this feature on a live example

Download an Excel spreadsheet with the data for this example

In this example we’ll plan a cake factory and its 2 shops. The shelf life functionality requires some new data fields to be filled in:

  • The shelf life of a product is defined in the item table.
    Our cakes have a shelf life of 10 days.
    Also the ingredients for the cake have shelf life: 21 days for the butter and 14 days for the eggs.
    The other items have no shelf life, and don’t expire over time.
  • In the stock order table the inventory of ingredients and finished good is defined.
    Notice the expiry date field. If this field is unspecified, frepple computes the expiry date as the end date plus the shelf life of the item.
  • The operation table gets a extra field “reset shelf life”.
    By default all operations produce inventory with the shelf life of the produced item.
    If you want operations that inherit the shelf life of the consumed items, this field needs to be set to false.
  • In the demand table the extra field “required shelf life” specifies what shelf life is still expected by your customer.
    To meet the customer sales order #1 we can only ship cakes that have at least 5 days of shelf life remaining. Sales order #2 doesn’t have the field specified, and we can deliver cakes that will expire literally the next day already.

Let’s now have a look at the extra output generated by the shelf life functionality:

  • The “expiry date” shows the date when the material expires and needs to be thrown away.
    The “expiring quantity” shows the amount of material that isn’t used before this expiry date. In this example you see a proposed purchase order of 100 eggs (which is our supplier’s minimum order size) of which 90 will expire before we can use them.
    This “expiring quantity” field allows planners to quickly identify all wastage in the plan and evaluate possible solutions.
    Purchase orders with expiry date and expiring quantity
  • The inventory report has a row to display the expiring inventory. Color codes and tooltips draw the planner’s attention to the waste alerts.
    Inventory report with expiring quantities