FEFO(先到期先出)移除策略指南

FEFO 移除

先到期先出(FEFO)移除策略根据产品的指定移除日期来决定移除顺序。

启用 FEFO 移除策略 {#inventory/warehouses_storage/fefo_enable}

批次和序列号用于区分相同产品并追踪到货或失效等信息。要启用此功能,请进入 Inventory --> Configuration --> Settings。在 Traceability 小节下,勾选 Lots & Serial Numbers。启用 Lots & Serial Numbers 后,会出现 Expiration Date 功能。勾选它即可追踪失效日期、最佳食用日期、移除日期和警报日期。

启用批次或序列号追踪

接下来,确保目标产品已通过批次或序列号进行追踪。路径为 Inventory --> Products --> Products,选择对应产品。在产品表单的 General Information 标签页,勾选 Track Inventory,然后选择 By Unique Serial NumberBy Lots

设置日期

在产品表单的 Inventory 标签页的 Traceability 小节下,勾选 Expiration Date,即可出现 Dates 小节。随后可设置 Expiration DateBest Before DateRemoval DateAlert Date 等字段。更多信息参见 Removal date <inventory/warehouses_storage/removal-date>

分配批次和序列号

启用上述功能后,可通过 inventory adjustment <../../warehouses_storage/inventory_management/count_products> 或在 product reception <inventory/product_management/assign-lots> 时为产品分配批次或序列号。

设置移除策略

在分配批次或序列号后,可在库位或产品类别上设置移除策略。

在库位上

打开 Inventory app --> Configuration --> Locations,选择目标库位。在库位表单的 Logistics 小节,从移除策略列表中选择 First Expiry First Out (FEFO)

在产品类别上

进入 Inventory app --> Configuration --> Categories,选择相应的产品类别。在 Force Removal Strategy 字段中指定 First Expiry First Out (FEFO)

:::: important
::: title
重要提示
:::

当库位和产品类别同时设置了不同的移除策略时,Force Removal Strategy 字段在产品类别表单中的值拥有最高优先级。
::::

移除日期 {#inventory/warehouses_storage/removal-date}

产品 必须 在其 移除日期 前从库存中移除,该日期是相对于产品 失效日期 提前一定天数设定的。

用户在产品表单的 Inventory 标签页下的 Traceability 小节中,将 Tracking 设置为 By LotsBy Unique Serial Number,然后勾选 Expiration Date,即可出现 Removal Date(以及其他日期)字段。

:::: important
::: title
重要提示
:::

必须先在 Inventory app --> Configuration --> Settings 中启用 Lots and Serial NumbersExpiration Dates 功能,才能追踪失效日期。
::::

产品的失效日期=收货日期 + Expiration Date 字段中设定的天数。移除日期则是失效日期减去 Removal Date 字段中设定的天数。

::: example
在产品 EggInventory 标签页中,用户设置了以下日期:

  • Expiration Date:收货后 30
  • Removal Date:失效前 15

若一批鸡蛋于 1 月 1 日到达仓库,则失效日期为 1 月 31 日(1 月 1 日 + 30 天),相应的移除日期为 1 月 16 日(1 月 31 日 – 15 天)。
:::

::: {#inventory/warehouses_storage/exp-date}
要查看库存中物料的失效日期,进入 Inventory app --> Products --> Lots / Serial Numbers。默认按库位分组,如需按产品分组,可在搜索栏中取消分组并选择产品分组。展开产品后可看到其批次,点击最右侧的 oi-settings-adjust(设置调整)图标,勾选 Expiration DateRemoval Date 列。
:::

也可以在产品表单中点击 Lot/Serial Numbers 智能按钮查看这些日期。

工作流

使用 FEFO(先到期先出) 移除策略可确保先到达最近移除日期的产品被优先拣选。

以下示例使用产品 Carton of Eggs(装有 12 颗鸡蛋的箱子)进行说明。该产品按批次追踪,且其所属产品类别的 Force Removal Strategy 已设为 First Expiry First Out (FEFO)

          LOT1            LOT2            LOT3
------------------------------------------------------------
在手库存   5               2               1
失效日期   2026‑01‑08      2026‑01‑15      2026‑01‑22
移除日期   2025‑12‑24      2025‑12‑31      2026‑01‑07

Sales app 中创建新报价并确认后,会生成当日(2025‑12‑09)的交付单,系统会根据 FEFO 策略预留失效日期最近的批次。

在交付单的 Operations 标签页中,点击产品行最右侧的 Details 链接,可打开 Detailed Operations 弹窗,查看拣选细节。Pick From 字段显示了满足需求的批次来源。

订单需求为 6 箱鸡蛋,系统首先从 LOT1(移除日期 2025‑12‑24)拣选全部 5 箱,其余 1 箱则从 LOT2(移除日期 2025‑12‑31)拣选。

::: seealso

  • Removal strategies <../removal_strategies>
  • Set up force removal strategy <inventory/warehouses_storage/removal-config>
  • Expiration dates <../../product_management/product_tracking/expiration_dates>
  • Enable lots tracking <inventory/warehouses_storage/lots-setup>
  • Odoo Tutorials: Perishable Products
    :::
滚动至顶部