在库存管理中,供应链策略决定了何时采购/生产产品、将其运送到配送中心,以及何时将其提供给零售渠道。

在 Odoo 中,产品的供应链策略可以通过路线(Routes)进行配置,这些路线包含推规则(Push Rules)和拉规则(Pull Rules)。一旦所有配置完成,库存应用程序可以根据配置的推/拉规则自动生成转移。

在一个通用的仓库中,有接收码头、质量控制区、存储位置、拣货和包装区域以及装运码头。所有产品都会经过这些位置。当产品在这些位置之间移动时,每个位置都会触发产品的指定路线和规则。

在这个示例中,供应商卡车在接收码头卸下订购的托盘产品。操作员然后在接收区域扫描产品。根据产品的路线和规则,这些产品中的一些会被送到质量控制区(例如,用于制造过程的组件产品),而其他产品则直接存放在各自的位置。

在这个示例中,早上拣货员会为当天需要准备的所有订单拣货。这些物品从存储位置移到靠近订单包装区域的拣货区。然后,订单会被包装到各自的箱子里,通过传送带送到装运码头,准备送到客户手中。

拉规则通过需求触发采购,而推规则则由产品到达特定位置时触发。

拉规则用于满足销售订单。Odoo 会在每个订单的客户位置生成需求。由于拉规则由需求触发,Odoo 会在客户位置上查找定义的拉规则。

例如,一个“交货单”拉规则会将产品从装运区域转移到客户位置,并创建两个位置之间的转移。

然后,Odoo 会找到另一个拉规则,试图满足装运区域的需求:将产品从包装区转移到装运区域的“包装”规则。最后,其他拉规则被触发,直到创建从库存到拣货区的转移。

推规则相对容易理解。它们不是基于需求生成文档,而是在产品到达特定位置时实时触发。推规则基本上表示:“当产品到达特定位置时,将其移动到另一个位置。”

例如:当产品到达接收区域时,将其移动到存储位置。由于不同的推规则可以应用于不同的产品,用户可以为不同产品分配不同的存储位置。

另一个推规则可以是:当产品到达某个位置时,将其移到质量控制区域。然后,一旦质量检查完成,将其移动到存储位置。

因为路线是推/拉规则的集合,Odoo 可以帮助您管理高级路线配置,例如:

  • 管理产品制造链。
  • 管理每个产品的默认位置。
  • 根据业务需求定义库存仓库内的路线,如质量控制、售后服务或供应商退货。
  • 通过生成租赁产品的自动退货移动来帮助租赁管理。

要为产品配置路线,首先打开库存应用程序,转到配置设置。在仓库部分,启用多步骤路线功能并点击保存。

完成第一步后,用户可以使用Odoo自带的预配置路线,或者创建自定义路线。

要访问 Odoo 的预配置路线,转到库存配置仓库。然后,打开一个仓库表单。在仓库配置选项卡中,用户可以查看仓库的入库和出库预配置路线。

一些更高级的路线,如拣货-包装-装运,也可用。用户可以选择最适合其业务需求的路线。一旦入库和出库路线设置完成,转到库存配置路线以查看 Odoo 生成的具体路线。

在路线页面,点击某条路线以打开路线表单。在路线表单中,用户可以查看路线适用于哪些地方。用户还可以将路线设置为仅适用于特定公司。这在多公司环境中很有用,例如,用户可以在国家A拥有一家公司和仓库,在国家B拥有第二家公司和仓库。

在路线表单的底部,用户可以查看该路线的具体规则。每条规则都有一个动作、一个源位置和一个目标位置。

要创建自定义路线,转到库存配置路线,并点击创建。接下来,选择此路线可以选择的位置。路线可以适用于多个地方的组合。

每个位置的行为不同,因此只勾选有用的位置并相应地调整每条路线非常重要。然后,配置路线的规则。

如果路线适用于产品类别,仍然需要在产品类别表单上手动设置该路线。转到库存 ‣ 配置 ‣ 产品类别,然后选择产品类别并打开表单。接下来,点击编辑并在物流部分下设置路线。

当将路线应用于产品类别时,路线中配置的所有规则都会应用于该类别中的每个产品。如果企业对同一类别的所有产品使用直运流程,这将非常有用。

同样的行为也适用于仓库。如果路线适用于仓库,则在所选仓库内发生的所有符合路线规则条件的转移将遵循该路线。

在选择适用于仓库时,仓库下拉菜单视图。

如果路线适用于销售订单行,则情况有所不同。创建报价时必须手动选择路线。这在某些产品需要通过不同路线时非常有用。

请记住在报价/销售订单上切换路线列的可见性。然后,可以在报价/销售订单的每一行选择路线。

允许添加新行到销售订单的菜单视图。

最后,还有适用于产品的路线。这些路线的工作方式与产品类别相似:一旦选择,必须在产品表单上手动设置路线。

要在产品上设置路线,请转到库存 ‣ 产品 ‣ 产品并选择所需的产品。然后,转到库存选项卡,在操作部分下选择路线。

规则在路线表单上定义。首先,转到库存配置路线并打开所需的路线表单。接下来,点击编辑并在规则部分点击添加一行。

每条规则都有一个动作:

  • 从某地拉出(Pull From): 此规则由特定位置的产品需求触发。
  • 推到某地(Push To): 此规则由产品到达定义的源位置时触发。
  • 拉和推(Pull & Push): 此规则允许在上述两种情况下生成拣货。
  • 采购(Buy): 当需要在目的地位置需要产品时,会创建一个询价单以满足需求。
  • 制造(Manufacture): 当在源位置需要产品时,会创建一个制造订单以满足需求。

规则的操作类型也必须定义。这定义了规则生成的拣货类型。

如果规则的动作设置为从某地出或拉和推,则必须设置供应方法。供应方法定义了源位置发生的事情:

  • 从库存中取货(Take From Stock): 产品从源位置的可用库存中取出。
  • 触发另一条规则(Trigger Another Rule): 系统尝试找到一条库存规则,将产品带到源位置。可用库存被忽略。
  • 从库存中取货,如果不可用,触发另一条规则(Take From Stock, if Unavailable, Trigger Another Rule): 产品从源位置的可用库存中取出。如果没有可用库存,系统尝试找到一条规则,将产品带到源位置。

在这个示例中,我们使用自定义的拣货-包装-装运路线来尝试具有高级自定义路线的完整流程。

首先,快速查看路线的规则及其供应方法。有三条规则,都是从某地拉出的规则。每条规则的供应方法如下:

  1. 从库存中取货:当 WH/包装区需要产品时,创建从 WH/库存到 WH/包装区的内部转移以满足需求。
  2. 触发另一条规则:当 WH/输出区需要产品时,创建从 WH/包装区到 WH/输出区的内部转移以满足需求。
  3. 触发另一条规则:当客户位置需要产品时,创建从 WH/输出区到客户位置的交货单以满足需求。 这意味着,当客户订购具有拣货-包装-装运路线设置的产品时,会创建交货单以满足订单。

要准备交货单,需要在输出区有包装好的产品,因此会请求从包装区到输出区的内部转移。

显然,包装区需要准备好要包装的产品。因此会请求到库存的内部转移,员工可以从仓库中收集所需的产品。

如文档介绍所述,流程的最后一步(对于此路线为交货单)是首先触发的,然后触发其他规则,直到我们达到流程的第一步(此处为从库存到包装区的内部转移)。现在,一切都准备好处理,客户可以收到订购的物品。

在这个示例中,当所有规则都被触发且转移完成时,产品会被交付给客户。