Manage Expiration Dates

Expiration dates in M3 affect purchase order processing, manufacturing order processing, and customer order processing.

Thus, you should use the expiration date management process with lot handling, preferably with a lot method that acquires all lots defined in the lot master file.

In addition, the Best before date, which is the last date recommended for the use of the product while it is at peak quality, is useful for ensuring the quality, not safety, of the product. While you may safely consume the product after the posted date, it may lack qualities such as taste, texture, appearance, or aroma. This is often referred to as a "Use By" date. It is selected by the manufacturer, packer or distributor of the product on the basis of product analysis through its shelf life, quality tests, or other information. It is also based on the conditions of handling, storage, preparation, and use printed on the label.

Outcome

You obtain a correct priority date for lots in 'Balance Identity. Open Toolbox' (MWS068). This date, in turn, is used for automatic allocation when following first in, first out (FIFO) principles.

You can view the balance identities according to the expiration date in (MWS068). If a record exists in lot master table MILOMA, then you will find the information concerning the expiration date, sales date, best before date, and follow-up date on 'Lot/Serial Number. Open/Connect to Item' (MMS235/E). Option 5 is the view to search for follow-up dates. No printouts are available for this view. Dates can be changed in 'Balance Identity. Reclassify' (MMS130).

Where the Expiration date is read-only, there is no impact on the business logic for the calculation of the Expiration date, and Sales date. Best before date will follow the same business logic as Sales date, calculating a value using Best before time (which is the number of days that the product retains its properties and quality) as the offset.

The system provides the ability to enter and change the Expiration date, Sales date and Best before date values. There is also system verification of expiration, sales, and best before dates. Warnings are given to the user if any date values appear invalid.

The 'Expiration date' field is conditionally an editable field in these programs:

  • 'Manufact Order. Report Receipt' (PMS050)
  • 'Quality-Inspected Item. Put-away' (PMS130)
  • 'Manufact Order. Report By-product' (PMS080)
  • 'Manufact Order. Report Co-product' (PMS090)
  • 'Manufact Order. Report Order-less' (PMS260)
  • 'Purchase Order. Receive Goods' (PPS300)

System validation of expiration, sales and best before date calculations are implemented on these programs:

  • 'Manufact Order. Report Receipt' (PMS050)
  • 'Quality-inspected Item. Put away' (PMS130)
  • 'Manufact Order. Report By-product' (PMS080)
  • 'Manufact Order. Report Co-product' (PMS090)
  • 'Manufact Order. Report Orderless' (PMS260)
  • 'Purchase Order. Receive Goods' (PPS300)

Warning messages are issued if conditions do not permit the entry of an expiration date by a user.

Warning messages are presented if a sales date value is greater than the expiration date.

Use expiration date management to obtain the correct priority date for the lots in (MWS068). This date is used by the automatic allocation when material is allocated based on FIFO. Order handling with the last sales date is an exception; here the automatic allocation works on the sales date (if used) instead.

The use of expiration dates in conjunction with sales dates and best before dates helps industries control the quality of a lot by recording these types of dates for usage, freshness and potency. The system provides flexibility for the input and calculation of the expiration and sales dates.

Expiration date, sales date, and best before date are stored in the lot master table MILOMA.

The expiration date method is stored in the item master table MITMAS.

The sales time and best before time are stored in the balance identity table MITBAL.

Before you start

  • Set the lot control method on 'Item. Open' (MMS001/E).

    To use all functionality (expiration date, sales date, and follow-up date), select methods 2, 3, or 5. They will add a record in the lot master table MILOMA when entered in the system.

    If only priority (expiration) date is used, you can use method 0 (no lot control) or 1 (lot control with no MILOMA record).

  • On (MMS001/F), you can select inspection code 0, 1, or 2 for manufactured items.

    0 = No inspection

    1 = Inspection

    2 = Inspection with laboratory inspection.

  • For purchased items, option 0 or 2 is valid. The goods receiving method determines whether an inspection is performed.
  • On 'Item. Open' (MMS001/F), set the expiration date method to 0, 1, or 2, which indicates:

    0 = Expiration date not used. The receiving date will be set as the priority date.

    1 = Receiving date.

    2 = Production date.

    • For manufactured items, 1 means that the priority date equals the shelf life entry (MMS001) plus the manufacturing date.

      Follow-up date and sales date are calculated in the same way.

      If you have coded the item as inspected, you can override these dates in 'Quality-Inspected Item. Put-away' (PMS130).

    • For purchased items, 1 means that you can specify the expiration date for the item in 'Purchase Order. Receive Goods' (PPS300).

      The supplier's production date is specified and the expiration date is calculated.

  • The Expiration Date may be specified or updated when receiving goods for a manufacturing order or a purchase order, assuming the item has these setup conditions:

    In (MMS001), the Inspection code is defined as 0 or 1.

    In (MMS001), the Expiration date method is 2 or 4.

  • All dates, both purchased and manufactured, can be changed in (MMS130).
  • On 'Item. Connect Warehouse' (MMS002/I), the shelf life, reinspect date, and follow-up date are entered as the sum of YY+MM+DD. This means that if the current date is 980101 and the shelf life is 00 01 01, then the expiration date (priority date) is set to 980202.
  • The Expiration date can be calculated per bucket using point of time table in 'Point of Time Table. Open' (RPS080) with point of time type 50-‘Expiry Date’.

    On (MMS002/I), the expiry date table is defined. If the field is blank, standard calculation of expiration date is used.

  • The conditions in Lot/Serial Number Settings must be met.

Follow these steps

  1. Expiration Date Management in Purchase Flow:
    1. There are four different possibilities in this flow: with or without quality inspection, and expiration date method 1 or 2.

      No Quality Inspection (QI) and Expiration Date Method 1

    2. On 'Purchase Order. Receive Goods' (PPS300/E), the expiration date will be proposed as the current date (transaction date) plus the shelf life. Both are editable fields.

      Transaction date 980101

      Expiration date 980202

      No Quality Inspection (QI) and Expiration Date Method 2

    3. On (PPS300/E), the manufacturing date can be changed but is not proposed by default.
    4. Manufacturing date 980101

      This will give the different dates calculated with the manufacture date as a base.

      With QI and Expiration Date Method 1

    5. On (PPS300/E), the expiration, sales, and follow-up dates are proposed as transaction dates, along with the dates entered on (MMS002/I).

      Expiration date 990230

      Sales date 990215

      Follow-up date 990201

      With QI and Expiration Date Method 2

    6. On 'Purchase Order. Inspect Goods' (PPS310/E), the manufacturing date is proposed as the transaction date but can be overridden.

      Manufacturing date 980101

  2. Expiration Date Management in Manufacturing:
    1. When using the expiration date functionality on the manufacturing order (MO) header, an expiration date is calculated automatically and displayed on the MO. The date can also be manually overridden.

      For the functionality to work, activate the 'Keep expiry date decisions made on the MO' check box for the MO type in 'Manufacturing Order Type. Open' (PMS120). The expiration date method for the item on 'Item. Open' (MMS001/F) must also be set to 2 or 4.

      Managing expiration date on the MO can be useful when the date is needed before reporting put-away, since the date is calculated already when the MO is created. This can be the case if the expiration date is used as a parameter during planning or if the date should be printed on the item during manufacturing.

      The expiration date is calculated as the finish date on the MO plus the number of shelf life days. For example, MO finish date is 070601 and shelf life is 15 days. The expiration date will be set to 070616.

      If the MO is re-planned or when it is reported as put-away in (PMS050), the expiration date is automatically recalculated.

      You can also manually specify an expiration date on the MO. This date will then override the automatically calculated date.

    2. If not using the functionality on the MO header, the expiration date is calculated when the receipt is reported during put away in (PMS050).

      The expiration date is calculated as the production date or receipt date, specified when reporting receipt, plus the number of shelf life days. Whether production date or receipt date is used, depends on the 'Expiration date method' field for the item on 'Item. Open' (MMS001/F).

    3. If not using the functionality on the MO header for an item that should be quality inspected, the date is calculated according to the step above. However, the date can be changed during reporting in (PMS130).

      An item needs to be quality inspected if the 'Inspection code' field is set to 1 or 2 for the item on 'Item. Open' (MMS001/F).

  3. Expiration Date Management in Customer Order Flow:
    1. If a sales item has a sales date and automatic allocation, a passed sales date ID will not be automatically allocated. It can be overruled by manual allocation. If the item has manual allocation, no warning will be issued if the sales date is passed.
    2. A user-defined matrix of allocation key fields can be set up in 'Alloc Control Selection Field. Enter' (MMS123). For the key fields used, you can define whether allocation should validate the sales or expiration (priority) date in 'Alloc Control Selection Table. Open' (MMS124).
    3. Simple allocation and last sales date will not work normally since the allocation is done differently (in MITBAL instead of MITLOC). The simple allocation will allocate for the balance on the item/warehouse combination. But when you start 'Picking List. Report' (MWS420) to select the balance identity to use, the auto-allocation will not allocate on a balance identity with a passed last sales date.
  4. Management of Expiration, Sales and Best Before Dates Upon Receipt:
    Note: This functionality addresses only the assignment of dates to lots upon receipt. It does not apply to the usage of dates in Customer orders or Distribution orders.
    • In (PMS050), you can specify or update the 'Expiration date' field if the item being received meets the setup requirements for Inspection code and Expiration date method. System validation ensures that 'Expiration date' is greater than the 'Sales date'. The new expiration date is saved.
    • In (PMS130), you can specify values for 'Expiration date', 'Sales date' and 'Best before date' if the item being received meets the setup requirements related to the lot inspection method and expiration date method. The system performs validation that 'Expiration date' is greater than the 'Sales date'. The new values for 'Expiration date', 'Sales date' and 'Best before date' are saved.
    • In (PMS080), you can specify or update the 'Expiration date' if the item being received meets the setup requirements for inspection code and expiration date method. The new expiration date is saved.
    • In (PMS090), you can specify or update the 'Expiration date' if the item being received meets the setup requirements for inspection code and expiration date method. The new expiration date is saved.
    • In (PMS260), you can specify or update the 'Expiration date' if the item being received meets the setup requirements for inspection code and expiration date method. The new expiration date is saved.
    • In (PPS300), you can specify values for 'Expiration date' and 'Best before date'. When receiving goods for a purchase order, validation ensures that 'Expiration Date' is greater than the 'Sales Date'. The new expiration date and best before date are saved.
    • In (MMS002), you can specify a 'Best before time' to calculate the Best before date. The field value will reflect the number of days. To allow the input of the 'Best before time' field, an item must be lot-controlled, and the 'Expiration date method' must be set to 1, 2, 3, or 4. The new best before time is saved.
      Note: The system applies the same logic to the 'Best before time', as is used for the input of 'Sales time' and the calculation of the 'Sales date'.
    1. In 'Item Type. Select Fields' (MWS041), select the Field Control for (MMS002/I) and define the user access for 'Best before time' in Item Type. The access options for 'Best before time' are '0- No display', '1- Display' and '2- Editable'.
    2. In 'Interface Item. Connect Warehouse' (MHS002), you can enter a 'Best before time' to calculate the Best before date. The field value will reflect the number of days. To allow the input of the 'Best before time' field, an item must be lot-controlled, and the 'Expiration date method' must be set to 1, 2, 3, or 4. The new best before time is saved.
      Note: The system applies the same logic to the 'Best before time', as is used for the input of 'Sales time' and the calculation of the 'Sales date'.
    3. In 'Lot/Serial Number. Open/Connect to Item' (MMS235), you can view the 'Best before date' for an item/lot combination.

      The 'Best before date' uses the same logic as the display of the 'Sales date'.

    4. In 'Item. Open Toolbox' (MMS200), you can view the 'Best before time' for an item.

      The 'Best before time' uses the same logic as the display of the 'Sales time'.

    5. In 'Balance Identity. Analyze per Data Type' (MWS320), you can view the 'Best before time' for an item.

      The 'Best before time' uses the same logic as the display of the 'Sales time'.