[TITLE]
Odoo 库存管理中的过期日期设置与追踪指南

[DESCRIPTION]
本文详细介绍了在 Odoo 中如何启用、配置和使用过期日期功能,包括批号/序列号追踪、产品设置、收货与生产过程中的日期填写、销售出库的 FEFO 策略、以及在系统中查看和接收过期提醒的完整操作步骤,帮助企业降低过期损失并实现全链路可追溯。

[KEYWORDS]
Odoo, 过期日期, 批号, 序列号, 库存管理, 可追溯性, FEFO, 产品提醒, 失效管理, 销售出库

[TRANSLATED_CONTENT]

# 过期日期

::: {#inventory/product_management/product_tracking/expiration_dates}
在 Odoo 中,*过期日期* 可用于管理和追踪易腐产品的生命周期,从采购到销售。使用过期日期可以减少因意外过期导致的产品损失,并帮助避免向客户发送已过期的产品。
:::

在 Odoo 中,只有使用 *批号**序列号* 进行追踪的产品才可以分配过期信息。批号或序列号分配后,即可设置过期日期。这对始终或专门买卖易腐产品的公司(如食品制造商)尤为有用。

::: seealso
- `../product_tracking/lots` -
`../product_tracking/serial_numbers`
:::

## 启用过期日期

要启用 *过期日期*,进入  
`库存应用 --> 配置 --> 设置`,向下滚动至 `可追溯性` 区域。勾选 `批号 & 序列号` 功能的复选框。

激活该功能后,会出现一个新的选项用于启用 `过期日期`。勾选该复选框并 **保存** 更改。

![已启用批号、序列号及过期日期设置的截图。](expiration_dates/expiration-dates-enabled-settings.png)

:::: tip
::: title
提示
:::

一旦 `批号 & 序列号` 功能被激活,还会出现 `在送货单上显示批号 & 序列号` 的附加功能。启用这些功能有助于端到端可追溯性,便于管理产品召回、识别有缺陷的批次等。
::::

## 在产品上配置过期日期

**库存** 应用的设置中启用了 `批号 & 序列号``过期日期` 功能后,即可在单个产品上配置过期信息。

操作路径:`库存应用 --> 产品 --> 产品`,选择并编辑目标产品。选中后会显示该产品的表单。

:::: important
::: title
重要
:::

要通过批号或序列号进行追踪或配置过期信息,产品 **必须**`常规信息` 选项卡下将 `产品类型` 设置为 `商品`。随后在 `库存追踪` 字段中选择 `按唯一序列号``按批号`::::

切换到 `库存` 选项卡,向下滚动至 `可追溯性` 区域,勾选 `过期日期` 复选框。

:::: note
::: title
注意
:::

如果在启用批号/序列号追踪前已有库存,可能需要进行库存调整,以便为现有库存分配批号。
::::

:::: tip
::: title
提示
:::

在收货或发货时处理大量产品时,建议使用批号追踪,这样多个产品可归属同一批号,便于日后问题溯源。
::::

![产品表单中配置过期日期的截图。](expiration_dates/expiration-dates-product-configuration.png)

`日期` 区域,有四类过期信息可供配置:

- **过期日期**:从收到产品(供应商交付或生产入库)起计的天数,超过后产品可能变得危险,不能使用或消费。
- **最佳食用日期**:在过期日期之前的天数,此时产品开始变质,但尚未危险。
- **清除日期**:在过期日期之前的天数,产品应从库存中移除。
- **警报日期**:在过期日期之前的天数,系统会对该批次或序列号的产品发出警报。

:::: note
::: title
注意
:::

上述字段的数值会自动计算库存中商品的过期日期,无论是从供应商采购还是内部生产。
::::

:::: tip
::: title
提示
:::

如果 `日期` 字段未填写任何值,仍可在收货和发货时手动为批号/序列号分配日期。手动分配后亦可随时覆盖或修改。
::::

## 在收货单上使用批号 & 序列号设置过期日期

`收货单` 上直接为 *进货* 商品生成过期日期。路径:`库存应用 --> 业务 --> 收货单`,点击行打开对应的收货记录。

:::: important
::: title
重要
:::

在为订单数量分配批号或序列号前点击 `验证`,系统会弹出 `无效操作` 提示,要求为所订产品填写批号或序列号,未分配则无法验证收货单。
::::

![验证订单时缺少批号的错误弹窗。](expiration_dates/expiration-dates-user-error-popup.png)

在产品行的右侧点击 `详情` 链接,会弹出 `详细操作` 窗口。

弹窗中,`过期日期` 会根据产品表单的配置自动填充。点击对应行的 `批号/序列号` 字段,输入批号或序列号。

:::: tip
::: title
提示
:::

如果产品表单的 `日期` 未配置,可手动输入 `过期日期`::::

填写完毕后点击 `保存` 关闭弹窗,最后点击 `验证`
![显示已填写过期日期的详细操作弹窗。](expiration_dates/expiration-dates-detailed-operations-popup.png)

验证收货后,会出现一个 `可追溯性` 智能按钮,点击可查看包含 `参考文件`、`产品`、`批号/序列号` 等信息的 `可追溯性报告`
## 为内部制造产品设置过期日期

对内部制造的产品也可生成过期日期。需要先完成一个 **制造订单 (MO)**
创建制造订单的路径:`制造应用 --> 业务 --> 制造订单`,点击 `新建`。在 `产品` 下拉框中选择要制造的产品,填写 `数量`
![包含过期日期的制造订单示例。](expiration_dates/expiration-dates-manufacturing-order.png)

:::: note
::: title
注意
:::

制造产品前,需要在 `产品` 列的行中准备好可消耗的原料。这可以通过为产品创建 `物料清单`,或手动点击 `添加行` 添加原料实现。
::::

准备就绪后点击 `确认`
系统会自动为所需的批号或序列号填充字段。点击 `详情` 链接可查看这些特定编号的额外信息。弹窗中会显示之前在产品表单中配置的全部过期信息。

![显示特定批号过期信息的组件弹窗。](expiration_dates/components-popup.png)

## 销售带有过期日期的产品

销售易腐产品的流程与普通产品相同。首先在 `销售应用` 中创建销售订单。

路径:`销售应用 --> 新建`,填写报价单信息。

添加 `客户`,点击 `添加产品` 将所需商品加入 `产品行`,并设定 `数量`
随后切换到 `其他信息` 选项卡,在 `交付` 区域将 `交付日期` 调整为预期日期之后,点击 `应用` 确认。最后点击 `确认` 完成销售订单。

:::: important
::: title
重要
:::

如果产品在 `警报日期` 之前交付,则不会生成任何警报。
::::

点击销售订单顶部的 `交付` 智能按钮,进入仓库收货单页面。

在收货单页面点击 `验证`,系统会自动处理 `已完成` 数量并将产品送达客户。

:::: important
::: title
重要
:::

要销售带有过期日期的易腐产品,存放该产品的 **库位** 必须将 `移除策略` 设置为 `FEFO(先到期先出)`。若单一批次库存不足,Odoo 会自动从下一个最近到期的批次补足数量。该策略也可以在 `产品分类` 中设置。
::::

::: seealso
- `../../shipping_receiving/removal_strategies` -
`../../shipping_receiving/removal_strategies/fefo`
:::

## 查看批号 & 序列号的过期日期

要按批号查看(或分组)所有带有过期日期的产品,路径:`库存应用 --> 产品 --> 批号/序列号`。

进入后,先清除搜索栏中的默认过滤器,然后点击 `分组依据``添加自定义分组`,选择 `过期日期` 参数。这样即可按过期日期和批号对易腐产品进行分层展示。

:::: tip
::: title
提示
:::

在列表视图中显示过期日期信息,点击列表顶部的 `设置` 图标 (oi-settings-adjust),勾选 `过期日期` 复选框。
::::

![在批号/序列号页面按过期日期分组的截图。](expiration_dates/expiration-dates-group-by-dates.png)

:::: tip
::: title
提示
:::

客户也可以在其客户门户中查看过期警报。
::::

### 过期警报 {#inventory/product_management/expiration-alerts}

要查看过期警报,进入 `库存应用 --> 产品 --> 批号/序列号`
点击包含易腐产品的某个 `批号/序列号`,打开其详情表单。

在表单的 `日期` 选项卡中列出该批次所有的过期信息。

如果批号/序列号的过期日期已过,页面顶部会出现红色的 `过期警报`,提示该批次产品已过期或即将过期。

![显示已过期产品警报的截图。](expiration_dates/expiration-dates-expiration-alert.png)

随后通过面包屑返回 `批号/序列号` 页面。

若要一次性查看所有过期警报,先清除搜索栏的过滤器,点击 `过滤器` → 选择 `过期警报`
![批号/序列号页面的过期警报列表。](expiration_dates/expiration-dates-lot-sn-alerts.png)

### 过期通知

用户可以在产品过期后收到通知,帮助相关员工及时了解所负责商品的状态。

配置通知的路径:`库存应用 --> 产品 --> 产品`,选择已配置批号/序列号及过期追踪的产品,切换到 `库存` 选项卡,在 `物流` 区域的 `负责人` 字段选择接收通知的用户。

当该产品的批号/序列号过期后,系统会向该用户发送通知。  

[SUMMARY]

# Odoo 过期日期指南
## 启用
- 设置 → 可追溯性
  - 勾选 “批号 & 序列号”
  - 勾选 “过期日期” 并保存
## 产品配置
- 产品类型必须为 “商品”
- 库存追踪:按批号或按唯一序列号
- 库存标签页 → 勾选 “过期日期”
- 日期字段
  - 过期日期
  - 最佳食用日期
  - 清除日期
  - 警报日期
## 收货单操作
- 打开收货单 → 详情
  - 系统自动填充过期日期
  - 手动输入批号/序列号
- 保存 → 验证
- 可追溯性按钮查看报告
## 制造订单
- 创建 MO → 选择产品、数量
- 确认后系统生成批号/序列号
- 详情弹窗显示过期信息
## 销售流程
- 创建销售订单 → 添加产品
- 设置交付日期
- 验证收货单
- 库位需设为 FEFO(先到期先出)
## 查看与警报
- 批号/序列号页面 → 按 “过期日期” 分组
- 日期标签页显示所有过期信息
- 过期后出现红色 “过期警报”
- 可通过过滤器查看所有警报
## 通知设置
- 产品 → 库存标签页 → 物流 → 负责人
- 过期后系统向负责人发送通知