使用路线和推/拉规则

在库存管理中,供应链策略确定何时应制造产品,何时将其交付给分销中心以及在零售渠道中可用。

可以使用具有 推拉规则 功能的 路线 配置此类战略流程。 正确配置所有内容后,库存应用可以按照规则给出的说明自动生成转帐。 是的,Odoo简化了您的工作流程。

在仓库内

想象一个通用的仓库计划,您可以在其中找到收货码头,质量控制区域,存储位置,拣货和包装区域以及货运码头。 所有产品都会经过所有这些位置,这也会触发所有路线规则。

view of a generic warehouse with stock and quality control area

在此示例中,供应商的卡车在接收码头处卸下已订购货物。 然后,操作员在接收区域中扫描产品。 这些产品中的一些被发送到质量控制区域(例如,那些专门在制造过程中使用的产品),而其他产品则直接存储在它们各自的位置。

view of a generic push to rule when receiving products

这是实现途径的示例。 早上,为当天需要准备的所有订单拣选物品。 这些项目是从存储位置中提取的,并移至靠近订单打包位置的提取区域。 然后,将订单包装在各自的盒子中,并用输送机将它们带到装运码头附近,准备将其交付给客户。

view of a generic pull from rule when preparing deliveries

工作原理是什么?

拉规则

使用 拉规则 ,对某些产品的需求会触发采购,而 推规则 是由到达特定位置的产品触发的。

我们可以说 拉规则 用于履行客户订单(销售订单)。 因此,Odoo会在 客户位置 生成订单中每种产品的需求。 由于 拉规则 是由需求触发的,因此Odoo会在 客户位置 上查找 拉规则 。 在我们的案例中,找到了将产品从 发货区域 转移到 客户地点 的交货单提取规则,并创建了两个地点之间的转移。

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

注解

All these transfers are pre-generated by Odoo, starting from the end and going backwards. While working, the operator process these transfers in the opposite order: first the picking, then the packing, then the delivery order.

推送规则

另一方面,推规则 更容易理解。 当产品到达特定位置时,可以实时触发这些文档,而不是根据需要预先生成文档。 推规则 基本上说:“当产品到达特定位置时,将其移动到另一个位置。”

一个简单的例子是:当产品到达 收货区 时,将其移动到 存储位置 。 由于可以将不同的规则应用于不同的产品,因此可以为不同的产品分配不同的存储位置。

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

注解

仅当没有 推规则 预先生成上游传输时,才能触发 推规则

重要

像这样的规则集称为路线。 规则上的分组定义了如何在同一转移中对产品进行分组。 例如,在拣货操作期间,所有订单都按一次转移进行分组,而打包操作则按照每个客户订单进行分组。

使用路线和规则

由于 路线推拉规则 的集合,因此Odoo可帮助您管理高级路线配置,例如:

  • 管理产品的制造链;

  • 管理每个产品的默认位置;

  • 根据业务需求定义仓库内的路线,例如品质管制,售后服务或供应商退货;

  • 通过自动生成租赁产品的退货动作,帮助进行租赁管理。

要配置上述路线之一,请打开 库存应用 然后转到 设置 ‣ 设定 。启用 多步路线 功能。

activation of the multi-steps feature in Odoo Inventory

注解

存储位置 功能会通过 多步路线 自动激活。

第一步完成后,您可以选择预配置路线或自定义路线。下面将对这两种方式进行说明。

预配置路线

仓库菜单中提供了Odoo的预配置路线。 要找到它,请前往 :menuselection:`库存 –> 配置 –> 仓库。 在此打开您的仓库并进行编辑,以查看进出货物的预配置路线。

preconfigured warehouse in Odoo Inventory

一些更高级的路线(例如分装船)已经配置为使您的生活更轻松。 这些是根据您的运输选择而定。 做出选择后,前往 :menuselection:`库存 –> 配置 –> 路线,查看Odoo为您生成的路线。

view of all the preconfigured routes Odoo offers

打开其中一条路线,即可查看可以应用哪些路线。 在这里, 您的公司 仓库中所有选定的产品类别都按照三步路线进行设置。

view of a route example applicable on category and warehouse

尽管对很多企业来说这比较容易,但这个过程可能不适合您。因此,您可以配置自定义路线,在此路线中可以定义自己的规则,也可以定义每个动作的源头和目标位置。举个例子,以下是预置路线的规则。

rules example with push & pull actions in Odoo Inventory

定制路线

要创建自定义路线,请转到 库存 ‣ 配置 ‣ 路线 ,单击创建,然后可以选择此路线的位置。 当然,可以组合使用。

view of a pick - pack - ship route as an example

每个地方都有不同的行为,所以要只勾选有用的,并对每个路线进行相应的调整。

当将路线应用于产品类别( (库存 ‣ 配置 ‣ 产品类别 )时,路线中配置的所有规则都将应用于该类别 每个 产品。 例如,如果您对同一类别的所有产品都使用直接运送过程,则这可能很有用。

view of a route applied to the "all" product category

相同的行为适用于仓库。 如果勾选 仓库 ,则所有转移发生在所选仓库内,并且满足链接规则的条件,然后按照该路线进行。

view of the route menu when selecting applicable on warehouse

对于 销售订单行 ,情况恰恰相反。 创建报价时,您必须自行选择路线。 如果某些产品采用不同的路线,这将非常有用。

view of the route menu when selecting applicable on sales order lines

当您工作中使用这种路线时,切记一定要在销售订单上选择,如下所示。

view of the menu allowing to add new lines to sales orders

这样,就可以在文档的每条记录上选择路线。

view of the routes added to the sales orders

最后,有些路线可以应用于产品。 这些功能或多或少类似于产品类别:选择后,您必须手动设置必须在哪个产品上应用它。

view of the menu when selecting applicable on products

为此,请转到 库存 ‣ 主数据 ‣ 产品 然后打开您要在其上应用路线的那个。. 然后转到 库存选项卡 然后选择您创建的路线。

view of a product form, where the route must be selected

从表面上看,如果路线的配置看起来很简单,请不要忘记我们尚未设置任何规则。 如果不难设置,那么对于工作路由至关重要。

规则

规则将在路线上定义。 为此,请转到 库存 ‣ 配置 ‣ 路线, 然后转到 规则 部分,然后单击 添加行 按钮。

view of the rules menu, where it is possible to add new rules

可用规则触发各种动作。 如果Odoo提供 规则,其他规则也是可用。 这是所有这些的一些解释:

  • 提货 :该规则由特定库存位置中的产品需求触发。 需求可能来自已确认的销售订单,也可能来自需要特定组件的制造订单。 当需求出现在源位置时,Odoo会生成一个行动以满足需求。

  • 推送至 :此规则由某些产品到达定义的来源位置触发。 万一您将产品移动到源位置,Odoo 会生成拣配以将这些产品移动到目标位置。

  • 推拉 :它允许在上述两种不同的情况下产生拣货。 这意味着当在特定位置需要产品时,会从先前的位置创建转移来满足该需求。 然后,在先前的位置创建需求,并触发一条规则来满足它。 一旦满足第二个需求,产品就会被推到第一个位置,所有需求都得到满足。

  • Buy: when products are needed at the destination location, a request for quotation is created to fulfill the need.

  • 制造 :当在源位置需要产品时,将创建制造订单以满足需求。

overview of a transfer requested between the stock and the packing zone

您还必须定义 操作类型 。 此操作允许定义从规则创建哪种选择。 使用上面的屏幕截图,创建的拣配例如是内部转账。

另一方面,供应方法 允许定义在源位置发生的情况:

  • 从库存取货 :产品取自源位置的可用库存;

  • 触发另一个规则 :系统尝试查找库存规则以将产品带到源位置。 可用库存将被忽略。

  • 从库存取货,如果不可用,则触发另一个规则 :产品取自源位置的可用库存。 如果没有可用的库存,系统将尝试找到一条规则以将产品带到源位置。

计划 部分中,您可以确定重新计划拣货链中的一个的行为。 如果您决定 传播重新安排 ,则下一步也将重新安排。 如果您希望选择重新安排下一个动作的时间,则可以决定以 下一个活动 的形式接收。

怎么是完整的流程?

还记得我们的拣选 - 包装 - 发货自定义路线吗?让我们用它来尝试一下高级定制路线的全流程。

首先,快速浏览一下我们的规则及其提供方法:我们有3条规则,所有都是 规则。 提供方法如下:

  • 从仓库取货 :当在仓库/包装区域中需要产品时,可以从仓库/库存中创建 *拣货*(从仓库/库存到仓库/包装区域的内部转移)来满足需求。

  • 触发另一个规则 :当需要在仓库/包装区中放置产品时,可以从仓库/包装区创建 包装 (从仓库/包装区到仓库/输出的内部转移)来满足需求。

  • Trigger Another Rule: When products are needed in Partner Locations/Customers, Delivery Orders are created from WH/Output to fulfill the need.

overview of all the transfers created by the pick - pack - ship route

这意味着,当客户订购产品时,会创建一个送货单来完成订单。

view of the operations created by a pull from transfer

注解

如果源文件是同一个销售订单,状态就不一样了。事实上,如果列表中的前一次转账还没有完成,则状态将会是**Waiting Another Operation**。

view of the transfers various status at the beginning of the process

为准备订单,输送机需要产品在输出区域内完成包装,因此需从包装区进行一次内部调货。

view of the detailed operations for a transfer between the packing and output zones

显然,包装区要有待包装的产品。所以,需发起一次内部调货,然后员工才可以从仓库集货。

view of the detailed operations for a transfer between the stock and packing zones

正如本文档介绍中所解释的,流程中的最后一步(这里是送货单)是第一个被触发的,然后触发其他规则,直到我们到达流程中的第一步(这里是从库存到包装区的内部转移)。现在,一切都准备好了,客户可以得到订购的商品。

在我们的案例中,当所有的规则被触发并完成转账后,产品就会交付给客户。

view of the transfers' status when all the process is done