预测和供应

排程

需求计划是根据定义在产品部分的规则,自动计划/优化生产和采购的计算引擎。该计划默认设定为每天运行一次(OpenERP为此自动完成一个既定动作)。你也可以使用菜单 仓库(Warehouse) ‣ 生产计划(Schedulers) ‣ 运行计划(Compute Schedulers). 来运行计划。 该需求计划依据定义在产品、供应商及公司上的所有相关参数来决定不同生产订单、发货以及供应商采购的优先次序。

Note

起始时间

你可以同过修改菜单 Administration ‣ Configuration ‣ Scheduler ‣ Scheduled Actions 来设置计划的起始时间。修改“运行MRP计划”配置文件。(此处原文是两句单独的话,有点看不懂,只能直译)

../../../../_images/stock_cron.png

配置计算需求的起始时间

Tip

计算需求/排程

排程计划只考虑那些已经被确认但却还没有开始的获取需求,这些预定需求将根据所需求产品的配置自行开始生产/任务或者采购。

在开始进行保留和获取的时候,你需要考虑到操作的优先顺序。那些需求日期已经超期的紧急需求,或者比其他产品的需求日期更早的产品,将最先启动。如果库存里有足够的产品能满足所有需求的话,你可以肯定的是,那些最紧急的需求产品将最先被生产。

计划

使用OpenERP,你可以以简单的方法来计划生产。只需进入菜单 Manufacturing ‣ Planning,就可以计划制造订单,工单,以及/或者工作中心。

点击 计划 菜单里的 制造订单 ,将会打开一个日历视图。在这里,你可以选择一个你需要的日期来创建订单。你也可以看到那些已经计划好的订单。在日历视图里拖动一个制单订单,你可以更改这个订单的起始日期。

../../../../_images/mo_plan.png

计划制造订单

你在日历视图里点击一个日期,将会打开一个空白的生产订单窗口,允许你选择你想要生产的产品。

../../../../_images/newmo_plan.png

新的生产订单

排程和和精益生产(JIT)

如果你想采用 精益生产(JIT) 的方式,你需要安装模块 mrp_jit.

如果你安装了这个模块,你将不再需要运行常规的采购计划排程(但仍然需要运行最小库存采购点计划,或者比如说,每天运行一次。)

所有的需求订单都将立即运行,这在某些情况下可能会引起轻微的性能影响。

这也可能会增加你的库存量,因为产品会尽快地被保存占用而且计划的时间范围却不再被考虑进去。在这种情况下,你没有办法再对不同的分拣订单使用优先顺序。

提前期

所有的资源获取操作(也就是包括生产订单的需求和采购订单的需求)都会被计划排程所计算。但是OpenERP不只是生成每一个订单,还能够计划每一个步骤的时间安排。在每个订单文件上你都能找到一个由系统计算出来的计划时间。

OpenERP基于承诺给客户的交货日期来组织整个生产和采购链。这些数据是由订单里确认的日期和订单行里所列的产品的提前期决定的。这个提前期是自动从字段 Customer Lead Time 获取的,你可以在产品表单里看到。客户的提前期则和产品的提前期以及交货期是有区别的。

要知道提前期的计算方法,我们以下面要生产一款柜子为例。假设这个柜子的组装过程分为2个工序,使用下面的两个物料清单(Bill of Materials)。

1 SHE100 Unit的物料清单
产品编码 数量 单位
SIDEPAN 2 PCE
WOOD002 0.25 m
LIN040 1 m
WOOD010 0.249 m
METC000 12 PCE
2 SIDEPAN Units的物料清单
产品编码 数量 单位
WOOD002 0.17 m

这里,SIDEPAN是由所示的流程按订单生产, WOOD002则是按订单采购,而其他的产品都有库存。这样一个SHE100的产品,会生成2张生产订单(SHE100和SIDEPAN),并且生成2张采购WOOD002的采购订单。产品WOOD002会用在SHE100和SIDEPAN的生产过程中。我们在产品表单里设置提前期如下:

提前期
产品编码 客户提前期 生产提前期 供应商提前期
SHE100 30 days 5 days  
SIDEPAN   10 days  
WOOD002     5 days

一个下单日期在1月1日的客户订单,将会安排下列操作和提前期:

  • SHE100发货: 1月31日 (=1月1日 + 30天),
  • 生产SHE100: 1月26日(=1月31日 - 5天),
  • 生产SIDEPAN: 1月16日(=1月26日 - 10天),
  • 采购WOOD002 (生产SHE100用): 1月21日(=1月26日 - 5天),
  • 采购WOOD002 (生产SIDEPAN用):1月11日(=1月16日 - 5天)。

在这个例子里,OpenERP将拟向产品WOOD002的供应商下2个订单,这两个订单可以有不同的需求日期。 在确认订单前,采购经理可以把这两个订单合并成一个单独的订单。

安全天数

排程会计划所有设置了时间参数的产品。但是直接在公司范围设置这些参数也是可能的。这样这些参数就在整个公司范围内发挥作用,而不去考虑具体产品。在公司说明的标签页 Configuration ,你会发现下面的参数:

  • 排程期间(Scheduler Range Days): 程对需求的计算是有时间限制的。如果需求时间的范围是在过去或者是从今天算起晚于你所设置的天数之后的话,排程是不做计划的。
  • 生产提前期(Manufacturing Lead Time): 生产所需要耗用的时间(天数),
  • 采购提前期(Purchase Lead Time): 所需原材料半成品采购备齐所需耗用的时间(天数),
  • 预留提前期(Security Days): 为其他异常情况提供的预留的耗用时间(天数),

Note

采购提前期

即采购部门根据供应商的情况,由采购订单确认到供应商真实采购之间的平均时间来确定. This delay takes into account the order process in your company, including order negotiation time.

下面用一个实例来说明:

  • 生产提前期(Manufacturing Lead Time) : 1,
  • 采购提前期(Purchase Lead Time) : 3,
  • 预留提前(Security Days) : 2.

这样,由上面的数据就可以计算出下面的这些时间:

  • 送货时间 SHE100: 29 January (= 1st January + 30 days – 2 days),
  • 生产时间 SHE100: 23 January (= 29 January – 5 days – 1 day),
  • 生产时间 SIDEPAN: 12 January (= 26 January – 10 days – 1 day),
  • 采购时间 WOOD002 (for SHE100): 15 January (= 26 January – 5 days – 3 days),
  • 采购时间 WOOD002 (for SIDEPAN): 4 January (= 12 January – 5 days – 3 days).

需求

在系统正常运作时, 并不需要担心生产需求计划, 用户只需要按系统自动生成的采购,销售,任务及生产计划完成相应的操作即可.

但是如果有任何的配置问题.系统都会在出现相应的异常,并保持在异常状态下. 只有在这些异常都解决后, 才能计算出相关的采购或者生产任务.

自动采购和补充

产品 视图页,需要设置下面两个有关生产的参数:

  • 按备货计划生产(MTS)
  • 按订单生产(MTO)

这两个参数直接影响自动采购与自动补货的方式. 使用MTS方式时, 你需要在对应产品上设置最小库存规则来触发补货或者采购动作. 并且你还应该给产品设置合适的供应商. 使用MTO方式时, 你必须要给相应产品设置对应的供应商,以便在生产单及销售单确认时能自动产生相应的采购.

管理排程的异常

你可能会在生产过程中遇到各种各样的异常情况. An exception appears in the Procurement Exception view when the system does not know what to do with an object, such as a Manufacturing Order or a Purchase Order.

通常会有如下几种异常情况:

  • 产成品未定义BOM单(Bill Of Materials): in this case you have got to create a BoM or indicate that the product can be purchased instead (change the Supply Method).
  • 相关采购未定义供应商: you have to define a supplier in the Supplier tab of the product form.
  • 供应商未定义地址联系人: you have to complete an address for the supplier for the product in consideration.
  • 原材料库存不足: you have to create a rule for automatic procurement (for example, a minimum stock rule), or manually procure it.
../../../../_images/procurement_exception.png

需求异常

有时候的一些异常只是系统的临时异常. 系统会自动修复.

如果产品的需求方式是 来自库存(in stock) 而产品的库存数量又不足的情况下, OpenERP will make the exception as ‘temporary’ or ‘to be corrected’. The exception is temporary if the system can procure it automatically, for example, when a procurement rule has been defined for minimum stock.

当需求异常时, 你要去确认一下产品的各项配置是否正确. 然后去重新运行一下MRP计算也可以在明细行上点击 重试(Retry) 按钮并 点击 计算需求(Run procurement).

../../../../_images/procurement_fix.png

需求异常处理

异常中相关产品的生产方法定义为 生产(Produce) 又未为其定义相应的 原材料清单(Bill of Materials), 所以计算机系统并不知道如何生产 该产品, 因此处于异常状态.

人工生成需求

对于内部采购,则可以手工创建一张需求单. 打开菜单 仓库(Warehouse) ‣ 排程(Schedulers) ‣ 需求异常(Procurement Exceptions) 并点击 新建 按钮即可.

../../../../_images/mrp_procurement1.png

手工需求

需求单可以自动计算出相关原材料的需求单. 这些需求单根据相应产品的配置情况又可以生成相应的生产计划以及相应的采购订单.

../../../../_images/mrp_procurement_flow1.png

需求流程

在产品库存不足时,直接产生采购或者生产是不太好的.最好是先生成一张需求单, 主要有以下的一些优点:

  1. 界面更简单,因为OpenERP根据预定义的规则和相关数据得到需求计算结果,例如:采购日期的计算依据是,需求日期、默认供应商、需要的原材料及所选BOM等。
  2. 需求单会考虑需求的优先次序。如果直接输入采购订单,就打破了这种优先次序。

Tip

快捷方式

在产品窗体中可以使用 需求申请(Procurement Request) action 按钮的快捷方式 去创建新的需求申请单.

使用分包商(外协件)

在OpenERP中,还可以处理供应商生产外包(外协)(如 标识喷印, 外加工件等), 在仓库中定相关的供应商外加工库位路径即可.

按以下数据配置一个供应商库位:

  • 库位类型(Location Type): 供应商库位,
  • 地址(Location Address): 选择供应商的发货地址,
  • 库位链类型(Chained Location Type): 固定,
  • 固定库位(Chained Location if Fixed): 库存库位,
  • Chaining Lead Time: number of days before receipt of the finished product.

一但相关的产品的生产计划被确认, OpenERP 会生成下面的这些:

  • 原材料由库存库位向供应商库位的送货,
  • 相应产成品向库存库位的产成品入库.

一旦生产计划单被确认, OpenERP 会自动生成向供应商发货的单据.仓库保管员可以在 仓库(Warehouse) ‣ 仓库管理(Warehouse Management) ‣ 内部调拨(Internal Moves) 菜单去处理这些单据以完成向供应商的发货.

如果原材料确认到货,OpenERP就会激活生产订单,供应商使用原材料来生产成成品后,将会自动被放入您的仓库。从供应商处收到产品的时候,生产就会确认。这时你需要标明供应商消耗的物料的数量。

Tip

Subcontract without Routing

If you do not use routing, you can always subcontract work orders by creating an empty routing in the subcontracting bill of materials.

进入菜单 生产(Manufacturing) ‣ 生产(Manufacturing) ‣ 生产计划(Manufacturing Orders) 可以查看到相应的生产计划单. 生产计划通常需要按下面两个阶段生产:

  1. 耗用原材料,
  2. 完工产成品.

视公司管理需求,可以认为第一步即是在制供应商的确认.第二步则是仓库操作者的确认.

匹配销售订单和物料清单BOM

OpenERP 中,可以为产品定义多个原材料清单(BOM单). 而且还可以为各种原材料定义各种生产方式. You will see in the following section that the manufacturing procedure (the routing) is attached to the Bill of Materials, so the choice of bill of materials implicitly includes the operations to make it.

Once several bills of materials have been defined for a particular product, you need to have a system to enable OpenERP to select one of them for use. By default, the bill of materials with the lowest sequence number is selected by the system.

使用 属性 还可以更灵活地控制采购与销售. 进入菜单: 生产(Manufacturing) ‣ 配置(Configuration) ‣ 主数据(Master Bill of Materials) ‣ 属性(Properties) 以定义BOM单属性, which can be set up arbitrarily to help you select a bill of materials when you have a choice of BoMs.

Note

属性

Properties is a concept that enables the selection of a method to manufacture a product. Properties define a common language between salespeople and technical people, letting the salespeople have an influence on the manufacturing of the products using non-technical language and the choices decided on by the technicians who define Bills of Materials.

例如你可以按下面的表格数据定义属性组以及属性:

属性
属性分组 属性
质保 3 年
质保 1 年
Method of Manufacture Serial
Method of Manufacture Batch

Once the bills of materials have been defined, you could associate the corresponding properties with them. Then when the salesperson enters a sales order line, he can attach the properties required (Extra Info tab). If the product has to be manufactured, OpenERP will automatically choose the bill of materials that matches the defined properties in the order most closely.

Note

扩展视图

Note that the properties are only visible in the Bills of Materials and Sales Management if you are working in the Extended view mode. If you cannot see it on your screen, add the group Useability /Extended View to your user.

../../../../_images/sale_line_property.png

销售单明细上定义属性

例如: 生产单明细上的制造批次号

As an example, take the manufacturing of the shelf presented above. You can imagine that the company has two methods of manufacturing for this cabinet:

  • Manually: the staff assembles the shelves one by one and cuts the wood plank by plank. This approach is usually used to assemble prototypes. It gets you very rapid production, but at a high cost and only in small quantities.
  • On a production line: the staff uses machines that are capable of cutting wood by bandsaw. This method is used for production runs of at least 50 items because the lead times using this method are quite lengthy. The delay to start the production is much longer, yet the cost per unit is considerably lower in this volume.

You define two bills of materials for the same cabinet. To distinguish between them, you will define two properties in the same group: manual assembly and production line assembly. In the quotation, the salesperson can set the method of manufacture he wants on each order line, depending on the quantities and the lead time requested by the customer.

Note

原材料清单及代用品

在一些ERP软件里, 也将原材料清单叫做 替代品.

By putting a bill of materials on its own line, you can also implement substitute products. You set the bill of materials to type Sets/Phantom to make the substitution transparent and to prevent OpenERP from proposing an intermediate production order.

生产和服务

In OpenERP, you can handle three types of goods: two types of products (Stockable or Consumable products) and one type of services.

For this last category, OpenERP can react in two different ways. Once a manufacturing order is generated for a product and this product contains a Service, a task can be automatically generated or not.

Note

任务

要自动产生相关任务, 你需要安装 project_mrp 以及 project 模块.

通常, 任务不会与项目关联. 你可以创建一个项目, 并在对应的服务 产品 页的 需求与库们(Procurement & Locations) 页签 Miscellaneous 项目(Project) 字段选择该项目进行关联.

../../../../_images/service_prj.png

为服务类产品关联一个项目

To illustrate this process, follow the next example:

首先, 您需要创建一个项目用于关联本次服务. 我们将项目叫做 咨询服务项目(Consulting), 然后我们还需要按下面的信息创建一个相应的服务产品:

服务配置
字段
Name Consulting
Reference CSLT
Product Type Service
Procurement Method Make to Order
Supply Method Produce
Default UoM Hour
Project Consulting

Once you have configured your project and your product, you can create a Sales Order to order hours of consultancy. When you confirm the Sales Order, a task will be created.

../../../../_images/soprj_tip.png

进入菜单 项目(Project) ‣ 项目(Project) ‣ 任务(Tasks), 会有一个 SO011:[CSLT] Consulting 新的任务. 任务会有不同的销售单号.

../../../../_images/prj_so.png

产品与任务,项目关联