本文节选自Odoo亚太金牌服务机构【开源智造】所编写的《ERP真的免费不花钱——Odoo应用指南》如需获取完整的知识内容,请至开源智造官网免费获取。感谢网友一键三连:点赞、转发、收藏,您的支持是我们最大的前进动力!
引言
企业库存管理,简单地说,是让企业的库存不缺货、不压库。例如生产企业如果缺货了,产线就要停产,不能按时交货给客户,损失很大,所以库存管理的首要目标是确保不缺货。但是又不能库存太多,库存太多,资金占用大,库存周转效率低,还容易造成积压浪费。
实现库存管理目标,一是要掌握库存现状,二是要合理安排补货。哪个仓库,有什么货(产品或原料),有多少数量,多少价值,有没有被占用(锁货),哪个批次,入库多久了(库龄),是否临近保质期(批次和保质期)。
库存查看
库存模块,报告 库存报告菜单,按库位、产品显示库存状况,包括数量、金额、批次、包裹号、入库日期等。如下图,显示产品在不同库位的库存。按库位分组,再按产品分组,则可以显示每个库位中产品的库存。
- 位置:仓库库位。
- 批次序列码:库存产品的批次。对于需要批次管理的产品(产品档案上勾选了批次管理),产品入库的时候录入批次码。此处分批次显示产品库存。
- 包裹:如果开启了包裹功能,且产品入库时候,录入了包裹号(点击按钮“放入包裹”),则此处分包裹号码显示产品库存。系统的包裹,对应到仓库的实物,最常见的是托盘。
- 在手数量:仓库里面的实有数量
- 可用数量:仓库里面实有数量,减去被占用的数量,即为可用数量。如即将发货的销售发货单,没实际发货,但发货单已经锁了库存(占用了库存)
- 价值:仓库货物的库存价值。不同的存货计价方法,此处计算方法不同。如果是标准法(计划法)、月末一次加权平均、移动加权平均四种方法,此处金额 = 在手数量 * 产品上的成本价格。如果是先进先出法(FIFO),此处金额 = 累计(每次进货的价格 * 该次货物剩余数量)。如果不是内部库位(虚拟库位),此处金额为0。如果是寄存的库存(货主为别人,如客户或供应商),此处金额为0 。
- 入库日期:显示该产品的库存中,最早入库的货物的入库日期
库存模块,报告->库存移动菜单,显示入库、出库、调拨的详细记录。库存移动记录哪个产品,多少数量,什么时间,从哪个库位,移动到了哪个库位,已完成移动还是待移动。例如采购入库,是从供应商库位(虚拟库位)到仓库主库位(内部库位)的移动,销售出库,是从仓库主库位到客户库位(虚拟库位)的移动。销售订单确认的时候,系统下推销售发货单,此时销售出库的库存移动的状态是“待发货(如果缺货则是等待,不缺货则是就绪)”,此时待发货物处于锁定状态,可用库存减少了,但还没实际出库,在手库存没变。仓管员调出发货单,实际完成发货,则状态为完成,在手库存减少了。
库存报告显示的是仓库当前的存货状态,当前存货状态是一系列库存移动,即入库、出库、调拨的操作结果。如下图,啤酒的库存移动:
- 从供应商库位(虚拟)入库到WH/Stock库位120瓶、204瓶,共计入库324瓶
- 分四次从WH/Stock库位调拨到PW1/Stock库位,共计180瓶
- 分三次从PW1/Stock库位出库到客户库位(虚拟),共计180瓶
- 最终结果是,WH/Stock库位还剩144瓶,PW1/Stock库位没有库存
- 安排的日期:如果状态是待移动(草稿、确认、等待、就绪),此日期为计划发货时间,如果状态是完成,此日期为实际发货时间
- 参考:库存移动所在的作业单据(入库单、出库单、领料单等)的单号
- 产品:库存移动的产品
- 从:从哪个库位移出
- 包装:该产品的包装规格,如香烟的盒、条、箱,都是香烟的包装规格
- 需求:产品移动的数量,状态为待移动状态时候,此为计划移动数量,状态为完成时候,此为实际移动数量
- 状态:库存移动的状态。如果已经移动,状态未完成;如果锁到库存,但还没移动,状态未就绪;如果没货,则状态为等待。
库存补货
缺货分析
仓库缺货,系统触发补货,系统支持三种触发补货的方式。一种是安全库存,一种是负库存,一种是按单补货。
- 安全库存:设定某个物料在某个仓库或库位的安全库存数量,一旦库存低于安全数量,系统自动发起补货申请。一些通用料,常用料通常设定安全库存。
- 负库存:逐个产品设定安全库存数量是一个很麻烦的事情,一些新产品,不确定安全数量设置多少为好,由于此类原因,有些产品没有设定安全库存。对于没有设定安全库存的产品,系统自动检查是否为负库存,如果为负库存,则系统提示补货。一些新料、非常用料通常按此方式补货。
- 按单补货:产品、产品分类、仓库上可以设定按单补货的策略,如果设定此策略,则一旦有需求(销售发货、生产领料等),系统自动按单发起补货申请。此种情况,一个需求单自动发起一个补货单,不同需求不会合并到一个补货单。安全库存、负库存都是合并补货。订单式销售,或订单式生产,通常按此方式补货,此方式可以实现客户订单号全程追溯订单执行过程,包括材料采购、仓库领料、车间生产、销售发货等全程追溯。
库存模块,作业->补货菜单,系统自动计算需要补货的产品及补货数量。系统判断是否需要补货的逻辑是:
- 系统检查每个产品在每个仓库三个月后的预测库存,如果低于零,则纳入补货候选
- 系统继续检查每个产品的补货提前期,如果补货方式是采购,取该产品的第一个供应商设定的采购提前期作为提前期;如果补货方式是制造,则取该产品上设定的制造提前期作为提前期;如果补货方式是调拨,则取补货规则上设定的提前期作为提前期
- 检查提前期后的预测库存,如果不低于零则不纳入补货候选。例如,提前期为3天,则系统检查3天后的预测库存
- 检查该产品是否有草稿状态的采购单,如果有,检查草稿状态采购单的采购数量是否大于等于缺口库存,如果是,则不纳入补货候选。
- 显示补货候选,自动计算补货数量(订购列表)
- 产品:哪个产品缺货
- 位置:哪个库位缺货
- 在手:缺货产品在该库位的在手库存数量多少
- 预测: 缺货产品在该库位的预测库存数量多少,系统基于预测库存触发补货。预测库存 = 在手库存 + 即将入库的数量 – 即将出库的数量。如果预测库存低于最小数量,则触发补货。
- 供应商:如果补货方式是采购,此处指定供应商。如果不指定,系统默认取产品上设置的供应商
- 首选路线:指定补货路线,如果不指定,系统按包装规格、产品、产品分类、仓库的顺序搜索补货路线,系统根据补货路线确定补货方式(采购、制造、或者从别的仓库调拨)
- 物料清单:如果补货方式是制造,此处指定生产用BoM。如果不指定,系统取产品上设定的BoM
- 触发器:两个选项:手动或自动。设置为自动,即为安全库存规则(重订货规则),如果库存数量低于最小数量,则系统自动发起补货申请,补货数量 = 最大数量 – 预测库存。设置为手动,则需要点击“订购一次”按钮发起补货申请。
- 补货组:可以设定本次补货所在的补货组。同一个补货组引发的库存移动(采购入库、或库间调拨)自动合并到同一个仓库作业单(入库单,或调拨单)。
- 最小数量:安全库存的最低数量,低于此数量,系统发起补货申请
- 最大数量:安全库存的最大数量,补货的时候,补货数量 = 最大数量 – 预测库存
- 订购:补货申请数量,默认 = 最大数量 - 预测库存。可以手工修改为需要的数量。
- 订购一次:触发器为手动情况下,点击此按钮触发补货申请
- 自动订单:触发器为手动情况下,点击此按钮转为自动触发
- 延后:如果不希望立即补货,点击按钮弹窗设定延后多少天再补货。延后后,系统默认不显示此补货记录,直到延后的日期再显示补货记录。
- 预测右边的小图标:点击该图标,小试该产品在该库位的预测库存,如下图:
- 图示:该产品在该库位过去三个月到未来三个月(共六个月)的每日库存。
- 在手:该产品在该库位当前的在手库存(实际在库数量)
- 预测:该产品在该库位当前的预测库存(实际在库数量 + 即将入库数量 – 即将出库数量)
- 预测的+待定:该产品在该库位当前的预测数量 + 草稿状态的采购单数量
- 在手价值:该产品在该库位当前的库存价值
- 补货列:保留库存:实有数量;不可用:缺货数量;预测库存:总缺货数量;采购在途:草稿状态的采购单数量
- 用于: 待出库单、待入库单、草稿状态采购单
- 交货:待出库单、待入库单的计划入库、出库日期
补货路线
补货路线及规则解决的问题是:如果缺货,应该如何补货。
例如:
- 门店补货:零售行业的门店缺货,应该如何补货呢?有几种策略,常规商品通知对应的区域仓库发货给门店;部分生鲜商品,通知总部采购供应商直送门店。不同商品,配置不同的补货规则,系统自动发起补货通知。例如,常规商品,系统自动发起区域仓库到门店的调货通知单,仓库人员按单发货即可。生鲜商品,系统自动发起采购通知单,总部按单采购,系统自动创建直发到门店的采购入库单
- 以销定采:当有销售订单时候(销售订单确认时候),自动生成对应的采购订单(草稿状态),采购人员按单采购。系统中可以针对以销定采的商品,设定MTO规则,即可实现自动化的以销定采
- 生产领料:例如总装车间缺料,应该找哪个车间领料(如电子部件找电子车间,机械部件找机械车间)。如果电子车间没有现货库存,系统自动发起电子部件生产工单(草稿状态),电子车间按单生产。如果电子车间原料不足,系统自动发起缺料采购。
上述不同行业不同缺货场景,Odoo中都是通过补货路线及规则的灵活设置予以实现。
点击供应商右边的小图标,系统显示该产品的补货规则,补货提前期,以及供应商,如下图。
- 产品类别:勾选表示,在产品分类上配置路线的时候,可以选择到本路线。
- 产品:勾选表示,产品上可以勾选本路线
- 仓库:勾选表示,仓库上可以勾选本路线
- 销售订单行: 勾选表示,销售订单明细行上可以选择本路线
- 包装: 勾选表示,产品的包装规格上可以勾选本路线
- 规则:路线上可以包含多条规则。当某个产品、在某个仓库,缺货的时候,系统依次按 销售订单明细、包装、产品、产品分类、仓库查找补货路线。找到补货路线后,按路线上配置的规则,产生补货作业单据。
- 动作:本规则的动作,选项如下图:
- 拉:当目的位置缺货时候,从源位置移动补货,“作业类型”字段指示系统创建什么样的仓库作业类型以实现补货。
- 推:当有产品移动到源库位的时候,自动产生一个移动作业单,将产品推送到目的库位。“作业类型”字段指示产生的移动作业单的类型。
- 拉并推:目的位置缺货时候,先按源位置缺货进行补货(拉),货物进入源位置时候,自动推送到目的位置(推)。
- 制造:当目的位置缺货时候,自动创建生产单,从源位置领料,生产成品入库到目的位置。
- 购买:当目的位置缺货的时候,自动采购单,采购入库到目的位置
- 作业类型:基于补货规则自动产生的作业单据的作业类型,如采购收货、采购入库、库间调拨、生产领料,等等不同仓库作业类型。
- 源位置:补货的源库位,从哪个库位补货。如零售店缺货,从总仓调拨的补货规则,源库位是总仓库存,目的位置是零售店库位(在Odoo系统中,零售店是店,同时也是一个仓库)。
- 目的位置:补货的目的库位(缺货库位)
- 移动供应方法:三个选项:“从库存获取”、“触发其他规则”、“从库存调取,如不可用,触发其他规则”。目的位置缺货,从源位置补货,导致源位置也可能缺货。移动供应方法设定,是否要继续为源位置补货。
- 触发其他规则:表示进一步为源位置补货(匹配源位置缺货的补货规则,触发补货单据)。
- 从库存获取:不触发源位置缺货的补货动作。
- 第三个选项:表示,如果源位置库存足够,则不触发源位置补货(MTS)。如果源位置库存不足,则触发补货(MTO)。注意,并不是不足数量部分触发补货,而是全量触发补货(不考虑有库存的那部分)。
- 路线:本规则所属的路线
- 仓库:本规则触发的补货的库存移动(Stock Move)的仓库字段(warehouse_id),默认为本字段值。举例说明,如果目的位置缺货,系统匹配到本规则,按本规则系统自动产生了给目的位置补货的库存移动,此库存移动的仓库字段为本字段值。如果库存移动导致源库位缺货,进一步给源库位补货的时候,系统只会匹配此处设定的仓库的补货规则。简单地说,表示此处设定的仓库缺货,才适用本规则。不填表示本规则适用所有仓库。
- 补货组的传播:勾选表示,“触发其他规则”时候,将本规则产生的补货单据的补货组,自动带到源库位补货的单据上。
- 取消下一步移动:勾选表示,“触发其他规则”的时候,源库位补货的单据如果取消了,则本规则的补货单据自动取消。
- Propagation of carrier:这是Odoo15新加的配置项。如果勾选,则销售订单上选择的承运商,将自动带入销售发货触发的一系列作业单据上(设置为多步发货时候,有多个发货作业单)。
- 传导的仓库:如果设置了,此仓库将设置到本规则触发的补货的库存移动(Stock Move)的仓库字段(warehouse_id)。如果不填,系统用“仓库”字段设置到库存移动的仓库字段。当跨仓补货的时候,需要填写此字段。