Skip to main content

Handling Expiring Products in the POS

When using the point of sale, you may want to have stock expire over time. This guide walks through the process of configuring the environment to best accommodate for this behavior. After following the below guide, users will be able to approximate the tracking of expiring stock levels based on outgoing stock, with the assumption that FEFO (First Expiring, First Out) principles will be adhered to.

To do so, the following process needs to be followed:

User Guide - Text 

  1. Configure Expiration Dates and Lots for Products

    For each product that you would like to set expiration dates on, do the following:

    • Set Product Type and Traceability:

      • Ensure that the product type is set to “Storable Product” under the General Information tab of the product configuration form.
    • Choose Traceability Method:

      • Go to the Inventory tab of the product configuration form.
      • Select either “By Unique Serial Number” or “By Lots” as the traceability method.
    • Configure Expiration Information:

      • Once the traceability method is selected, a field for “Expiration Dates” will appear.
      • Set the following expiration-related details to be used as the default for each product:
        • Expiration Date: The date when the product becomes unsafe or unacceptable.
        • Best Before Date: The time frame before the expiration date when products start to deteriorate.
        • Removal Date: The date when the product should be removed from inventory.
        • Alert Date: A warning date for managing recalls or identifying problematic batches.
  2. Create a Purchase Order:

    • Navigate to the Purchase app.
    • Click on Purchase Orders.
    • Select Create to start a new purchase order.
    • Fill in the relevant details, including the vendorproductsquantities, and any other necessary information.
    • Save the purchase order.
  3. Assign Lots and Expiration Dates:

    • For products that require lot tracking and expiration management:
      • Open the purchase order.
      • Click on the Order Lines tab.
      • For each product, click on the 'More Details' button.
      • Under the Lot/Serial Number section, assign the appropriate lot number (if available) and set the expiration date.
      • Save the changes.
  4. Receive Products with Lots and Expiration:

    • When you receive the products from the vendor:
      • Go to the Receipts tab in the purchase order.
      • Click on Receive Products.
      • Enter the actual quantities received.
      • If the products have lot numbers, enter them in the Serial/Lot Numbers field.
      • Confirm the receipt.
  5. FEFO (First Expired, First Out) Handling:

    • Rooteam POS supports FEFO for managing stock based on expiration dates.
    • When picking products for sales, delivery, or internal transfers:
      • The system will remove stock from the products with the earliest expiration dates.
      • This ensures that products with shorter shelf lives are used first.

User Guide - Visual 

How to use lots in Rooteam POS




1. Go to the Purchase App


2. Create a New Purchase Order


3. Create a Purchase Order with Items that Expire


4. Confirm Order


5. Go to Receipt for the Order


6. Open Order Line Details


7. Click on Import Serials/Lots


8. Type in lot information

The format is as follows: lot/serial number, (semicolon), quantity.


9. Click on Generate to add the lots to the purchase order


10. The Lots are now Created


11. Expiration Dates can be added per lot, or the default value (set on the product) can be used.


12. In this example, expiration dates were set for lots 'A' and 'B', with 'C' using the default date.


13. To review your lot input, you can click on 'Detailed Operations'


14. This takes you to an overview with more details about your order, including expiration information

The lines can be edited from here as well.


15. To complete reception of the order, validate the picking


16. The purchase order is now complete.

In this inventory view, all available stock of the item can be seen, including the individual lots. Stock will be withdrawn from the items closest to expire first.

Technical Configuration

To modify the POS operation type and adjust product locations in your inventory to utilize FEFO (First Expired, First Out) as the removal strategy, follow these steps:

1. Enable Lots & Serial Numbers and Expiration Dates

  1. Navigate to the Inventory App:

    • Open Odoo and go to the Inventory app.
  2. Activate Lots & Serial Numbers:

    • In the Configuration section, click on Settings.
    • Check the box for “Lots & Serial Numbers” to enable this feature.
    • An additional option for “Expiration Dates” will appear. Enable it as well.

2. Modify POS Operation Type

  1. Adjust Traceability Options for “PoS Orders”:
    • Go to Inventory > Configuration > Operation Types.
    • Locate the “PoS orders” operation type.
    • Modify the traceability options by turning off:
      • Create New lots / Serial numbers
      • Use existing lots/serial numbers

3. Configure Expiration Dates and Lots for Products

For each product that you would like to set expiration dates on, do the following:

  1. Set Product Type and Traceability:

    • Ensure that the product type is set to “Storable Product” under the General Information tab of the product configuration form.
  2. Choose Traceability Method:

    • Go to the Inventory tab of the product configuration form.
    • Select either “By Unique Serial Number” or “By Lots” as the traceability method.
  3. Configure Expiration Information:

    • Once the traceability method is selected, a field for “Expiration Dates” will appear.
    • Set the following expiration-related details to be used as the default for each product:
      • Expiration Date: The date when the product becomes unsafe or unacceptable.
      • Best Before Date: The time frame before the expiration date when products start to deteriorate.
      • Removal Date: The date when the product should be removed from inventory.
      • Alert Date: A warning date for managing recalls or identifying problematic batches.

4. Assign Lot Numbers (if needed)

  1. Existing Stock Adjustment:
    • If your product has existing stock, perform an inventory adjustment to assign lot numbers to it.

5. Adjust Product Locations with FEFO

      1. Configure Removal Strategy (FEFO):
        • Go to Inventory > Configuration > Locations.
        • Select the removal strategy you want to apply (in this case, FEFO).
        • To view the Removal strategy option, ensure that you have activated “Multi-steps routes” in the Inventory configuration.
        • Once configured, products with expiration dates will have their stock removed using FEFO, allowing stock to be approximated with expiration data.