Removal strategies (FIFO, LIFO, FEFO)

对于有仓库的公司来说,**移除策略**决定了从仓库搬运哪些产品以及何时搬运。移除策略通常是为特定的分拣操作而定义的。这有助于公司选择最佳产品,优化工人为订单分拣物品时需要走的距离,并考虑质量控制,例如移动过期产品。

通常,*移动策略*在拣货操作中定义,以选择最佳产品,优化工人的距离,用于质量控制,或首先移动最接近到期日期的产品。

When a product needs to be moved, Odoo finds available products that can be assigned to the transfer. The way Odoo assigns these products depends on the Removal Strategy defined in either the Product Category or the Location dashboards.

To change the Removal Strategy, go to Inventory app ‣ Configuration ‣ Locations or Product Categories. Click on a Location or Product Category, and then click Edit. Change the product category Force Removal Strategy or the location Removal Strategy by clicking on the drop-down menu and selecting the desired removal strategy. After selecting the new removal strategy, click Save.

Change the Force Removal Strategy for either the Product Categories or Locations.

仓库里发生了什么?

Most warehouses share the same important areas: receiving docks and sorting areas, storage locations, picking and packing areas, and shipping/loading docks. While all products entering or leaving the warehouse might go through each of these locations at some point, removal strategies can have an effect on which products are taken, from where, and when.

In this example below, vendor trucks unload pallets of goods at the receiving docks. Then, operators scan the products in the receiving area, with the reception date and expiration date. After that, products are stored in their respective storage locations.

注解

Not all products have expiration dates, but in this example, expiration dates apply.

Products entering stock via the receiving area.

在 Odoo 中,通过导航至 库存 应用程序接收产品,并在看板视图中点击 收据 标题或 # 待处理 按钮。在 收据 面板上,找到并点击单个收据,这将打开仓库接收表单。单击 编辑,然后在 :guilabel:`已完成`栏中输入收到的数量。最后,:guilabel:`验证`接收产品并在 Odoo 数据库中注册。

小技巧

Receiving products can also be done within the Odoo Barcode application. If using the Barcode app, scan the product(s), update the quantity, and finally, click Validate. After products are received in Odoo, the products can then be moved to their respective storage locations.

Continuing with the same example, below, imagine several sales orders are made for the products received earlier, that use expiration dates. In this example, the products weren’t received on the same day, and they don’t have the same expiration date. In this situation, logically, sending products with the closest expiration date is preferred, instead of products received first or last. Using the chosen removal strategy configured for those products (in this example, FEFO), Odoo generates a transfer for the products with the soonest expiration date to the picking area, then the packing area, and finally, to the shipping docks for delivery to the customer.

Products being packed at the packing area for delivery, taking the expiration dates into account.

注解

To pick for delivery, the product’s lot/serial number can be found on the transfer form. To learn more about picking and shipping, refer to either the Two-step delivery or Three-step delivery documentation.

How each removal strategy works

Removal strategies determine which products are taken from the warehouse when orders are confirmed.

先进先出(FIFO)

When using a First In, First Out (FIFO) strategy, demand for a product triggers a removal rule, which requests a transfer for the lot/serial number that entered the stock first (and therefore, has been in stock for the longest time).

For example, imagine there are three lots of nails in the warehouse, and have the corresponding lot numbers: 00001, 00002, 00003. Each lot has five boxes of nails in it.

Lot 00001 entered the stock on May 23, lot 00002 on May 25, and lot 00003 on June 1. A customer orders six boxes on June 11.

Using the FIFO removal strategy, a transfer request will pick the five boxes from lot 00001 first, and then from the boxes in lot 00002, since lot 00001 entered the stock first. The box from lot 00002 is taken next because it has the oldest receipt date after lot 00001.

The detailed operations for the transfer shows the nail lots to be removed.

后进先出(LIFO)

Similar to the FIFO method, the Last In, First Out (LIFO) removal strategy moves products based on the date they entered a warehouse’s stock. Instead of removing the oldest stock on-hand, however, it targets the newest stock on-hand for removal.

Every time an order for products with the LIFO method is placed, a transfer is created for the lot/serial number that has most recently entered the stock (the last lot/serial number that entered the warehouse’s inventory).

警告

In many countries, the LIFO removal strategy in banned, since it can potentially result in old, expired, or obsolete products being delivered to customers.

For example, imagine there are three lots of boxes of screws in the warehouse, and have the corresponding lot numbers: 10001, 10002, and 10003, each with 10 boxes of screws per lot.

Lot 10001 entered the stock on June 1, lot 10002 on June 3, and lot 10003 on June 6. A customer orders seven boxes on June 8.

Using the LIFO removal strategy, a transfer is requested for seven boxes of screws from lot 10003 because that lot is the last one to have entered the stock.

The detailed operations shows which lots are being selected for the picking.

先到期先出(FEFO)

While the FIFO and LIFO methods target products for removal based on date of entry into the warehouse, the First Expired, First Out (FEFO) method targets products for removal based on their assigned expiration dates.

Using the FEFO removal strategy, every sales order that includes products with this removal strategy assigned ensures that transfers are requested for products with the expiration date soonest to the order date.

As an example, imagine there are three lots of six-egg boxes. Those three lots have the following lot numbers: 20001, 20002, and 20003, each with five boxes in it.

Lot 20001 entered the stock on July 1 and expires on July 15, lot 20002 entered on July 2 and expires on July 14, and lot 20003 entered on July 3 and expires on July 21. A customer orders six boxes on July 5.

Using the FEFO method, a transfer is requested for the five boxes from lot 20002 and one from lot 20001. All the boxes in lot 20002 are transferred because they have the earliest expiration date. The transfer also requests one box from lot 20001 because it has the next closest expiration date after lot 20002.

The detailed operations for the transfer shows the lots to be removed.

Using removal strategies

To differentiate some units of products from others, the units need to be tracked, either by Lot or by Serial Number. To do so, go to Inventory ‣ Configuration ‣ Settings. Then, activate the Storage Locations, Multi-Step Routes, and Lots & Serial Numbers settings. Click Save to save changes.

:alt: Traceability settings. :alt: Warehouse settings.

注解

To use the FEFO removal strategy, the Expiration Dates setting needs to be activated as well. To enable this, go to Inventory app ‣ Configuration ‣ Settings, scroll down to the Traceability section, and click the checkbox next to Expiration Dates. Remember to click Save to save all changes.

Now, specific removal strategies can be defined on product categories. To do this, go to Inventory app ‣ Configuration ‣ Product Categories, and choose a product category to define the removal strategy on. In the Force Removal Strategy field, choose a removal strategy.

:alt: Removal strategy on a product category.

To view all products with lots/serial numbers assigned to them, navigate to Inventory app ‣ Products ‣ Lots/Serial Numbers. This reveals a page with drop-down menus of all products assigned lots or serial numbers, filtered by product by default. To change the category these products are filtered by, click Product (in the search bar, in the top right of the page) to remove the default filter, and select a new filter if desired.

Click on Products, then Lots/Serial Numbers to display all the products with lots or serial numbers.

要查看为销售订单选择的序列号,请转到 销售应用程序 并选择有关销售订单。在销售订单中,单击右上角的 送货 智能按钮。在:guilabel:操作'选项卡中,点击产品最右侧的:guilabel:`⦙≣(详细操作)'图标。出现 :guilabel:`详细操作 窗口,显示为该特定产品选择的交货单批号或序列号。

FIFO(先进先出)

:abbr:`FIFO(先进先出)`清除策略是指先进入仓库库存的产品先出库。如果公司销售需求周期短的产品(如服装),则应使用这种方法,以确保库存中不会有过时的款式。

在本例中,有三批白色衬衫。这些衬衫来自 全部/服装 类别,其中 FIFO 被设为移除策略。在 库存估价报告 中,列出了三个不同收据的金额。

查看库存评估报告中的白衬衫批次。

批次 000001 包含五件衬衫,批次 000002 包含三件衬衫,批次 000003 包含两件衬衫。

要查看移除策略的实际效果,请转到 销售应用程序 并单击 创建 以创建销售订单。然后,从下拉菜单中选择 客户。然后单击 订单行 选项卡中的 添加产品。从下拉菜单中选择产品(本例中为 白衬衫),或在字段中输入产品名称。在 数量 字段中输入数量(本例中为`6.00`),然后单击 保存,再单击 确认

销售订单确认后,将创建交货订单并将其与分拣联系起来,并通过 FIFO(先进先出)`策略保留批号。将从批次 `000001 中选出五件衬衫和批次 000002 中选出一件衬衫发送给客户。

采用先进先出策略为销售订单预留两个批次。

LIFO (后进先出)

:abbr:`LIFO(后进先出)`策略的工作方式与:abbr:`FIFO(先进先出)`策略相反。采用这种方法时,**后**收到的产品会先出库。这种方法主要用于没有保质期和没有时间敏感因素(如过期日期)的产品。

本例中有三批煤渣砖。这些煤渣块来自 全部/建筑材料 类别,其中 FIFO 被设为移除策略。在 库存估价报告 中,列出了三个不同的收据和金额。

View of the lots of cinder blocks in the inventory valuation report.

Lot 000020 contains three cinder blocks, lot 000030 contains five cinder blocks, and lot 0000400 contains four cinder blocks.

To see how the LIFO strategy works, first navigate to Inventory app ‣ Configuration ‣ Product Categories, and select a product category (for this example, the All/Building Materials category) to edit. This reveals a product category form.

Once on the product category form, under the Logistics section, change the Force Removal Strategy to Last In First Out (LIFO).

Last in first out (LIFO) strategy set up as forced removal strategy.

要查看移除策略的实际效果,请转到 销售应用程序 并单击 创建 以创建销售订单。然后,从下拉菜单中选择 客户。然后单击 订单行 选项卡中的 添加产品。从下拉菜单中选择产品(本例中为 煤渣块),或在字段中输入产品名称。在 数量 字段中输入数量(本例中为`5.00`),然后单击 保存,再单击 确认

销售订单确认后,将创建交货订单并与分拣链接,最新的批号将通过 LIFO(后进先出) 策略保留。将从批次 0000400 中选择所有四块煤渣砖和批次`000030` 中选择一块煤渣砖发送给客户。

保留两块土地,采用后进先出策略销售。

FEFO(先到期先出)

:abbr:`FEFO(先到期先出)`移仓策略不同于:abbr:`FIFO(先进先出)`和:abbr:`LIFO(后进先出)`策略,因为它是根据**过期日期**而不是仓库收货日期来移除产品。使用这种方法,最先过期的产品会被先移出。这种方法适用于易腐烂产品,如药品、食品和美容产品。

批次是根据其**移除日期**从最早到最晚挑选。移除日期表示产品需要在有效期前多少天从库存中移除。移除日期在产品表单中设置。未定义移除日期的批次会在有移除日期的批次之后被拣选。

警告

如果产品没有按时从库存中移除,过了保质期的批次仍有可能被拣选用于送货订单!

注解

For more information about expiration dates, reference the Expiration dates document.

首先,进入 库存应用程序 ‣ 配置 ‣ 设置 并确保启用 有效期。启用 有效期 设置后,就可以为单个序列化产品以及包含多个产品的批号定义不同的到期日期。

本例中有三批护手霜。这些护手霜来自 全部/健康与美容 类别,其中 FEFO 被设为移除策略。在 库存估价报告 中,列出了三个不同收据的金额。

Lot 0000001 contains twenty tubes of hand cream, expiring on Sept 30, lot 0000002 contains ten tubes of hand cream, expiring on November 30, and lot 0000003 contains ten tubes of hand cream, expiring on October 31.

View the hand cream lot numbers and expiration dates in the inventory report.

Expiration dates can be entered when validating the received products, or set on products by going to Inventory app ‣ Products ‣ Lots/Serial Numbers. Click Create, enter the serial number, and select the product from the drop-down menu. Next, select the expiration date in the Dates tab. Finally, click Save.

View of the removal date for 0000001.

To see how the FEFO strategy works, first navigate to Inventory app ‣ Configuration ‣ Product Categories, and select a product category (in this example, the All/Health & Beauty category) to edit. This reveals a product category form.

Once on the product category form, under the Logistics section, change the Force Removal Strategy to FEFO.

FEFO forced removal strategy set on the product category.

Next, go to the Sales app and click Create to create a sales order. Next, select a Customer from the drop-down menu. Then click Add a product in the Order Lines tab. Select a product (for this example, the Hand Cream) from the drop-down menu, or type in the name of the product in the field. Enter a quantity (in this example, 25.00) in the Quantity field, then click Save, then click Confirm.

Once the sales order is confirmed, the delivery order will be created and linked to the picking, and the lot numbers expiring first will be reserved thanks to the FEFO strategy. All twenty tubes of hand cream from lot 0000001 and five from lot 0000003 will be selected to be sent to the customer, detailed in the Detailed Operations tab in the sales order.

Hand cream lot numbers selected for the sales order.