每个企业都希望能够合理控制材料库存,在不影响生产的前提下,尽量减少材料库存占用过多资金。大家都在学丰田做精益生 产,渴望实现零库存管理。想法很好,目标也很明确,然而,离现实太远,一些基础问题都没有解决,丰田经验很好,但难以落实。我一直感叹我们公司天天学丰 田,学精益生产,却连物料计划员都没有,采购多少全凭采购员经验,当然,经验有时也不是那么可靠,仓库积压的材料也是越来越多,消化积压材料此刻又成为公 司头等大事。明白人还是有的,他们希望我们IT能够提供积压材料的相关信息,例如积压天数和库存成本,然后按照60天、90天、180天、1年以上积压以 报表形式输出。
你可能会问,公司不是上了ERP吗?难道系统不提供这些信息?的确,ERP是上了,但它确实提供 不了我们需要的信息。例如,我公司的ERP提供的库存天数查询,库存天数的计算依据是最后一次收料或发料的事务日期,这样的库存天数没有参考价值,真不能 算是库存天数,很容易造假,某个物料可能已经积压了好几年,假如现在公司要进行检查,仓管员临时发一个出去,这样账上的库存天数就成当天了。能够出现这样 的库存天数计算方法只能说明当初这个程序设计者考虑太少。这样的问题上ERP的时候为什么发现不了呢?企业里懂ERP的人太少,他们只会被动接收,当项目 调研收集问题时,他们什么有价值的问题也提不出,等ERP上线正式使用了,他们又开始喊这个不合理哪个不实用,可惜为时已晚。
这里,我们讨论三种材料库存天数的计算方法。
1最小库存天数
最小库存天数= 当天日期 - 最后一次采购入库的日期,这个比较好理解,也是比较常用的,但不够谨慎。
2一般库存天数
一 般库存天数= 当天日期 - (最近几次入库数量大于等于当天库存数量的那个事务日期),先进先出原则,查找入库记录,往前倒退,累加入库数量,直到入库数量大于等于当前库存数量,这 条入库记录的事务日期就是我们要找的日期。一般库存天数,经过统计而来,比较准确,这也是被考核部门容易接收的计算依据。
3 最大库存天数
最 大库存天数 = 当天日期 - (最近几次出入库数量大于等于当天库存数量的那个事务日期),后进先出、谨慎性原则,查找出入库记录,往前倒退,累加出入库数量,直到出入库数量大于等于 当前库存数量,这条出入库记录的事务日期就是我们要找的日期。最大库存天数,统计时间更长,不易造假,最能反映问题,对被考核部门来说很具杀伤力和争议, 我比较常推荐这种算法。例如,轮胎的管理,轮胎本应该摆放在仓库里,可我们还是将轮胎放在露天的水泥地上,风吹日晒,存上两三年不用的轮胎就废掉了。轮胎 虽然使用率非常高,但确实存在积压很久的轮胎。水泥地上的轮胎用栏杆围起来,只留一个出口,生产领料时总喜欢拿门口的轮胎,既方便又省力,入库也是一样, 长此以往,最里边的轮胎只能等着慢慢腐烂直至报废。不只是轮胎,很多容易生锈、腐蚀、变质的材料都或多或少因此种方式被浪费。
下面,演示一下库存天数的计算方法。假设ERP中有一张物料收发事务表,共有物品编码,事务类型、事务日期、事务数量等四个字段,即时库存是根据事务数量计算得到的当日库存数量,累计数量是通过倒退的方式得到的出入库数量。
物品编码 |
事务类型 |
事务日期 |
事务数量 |
即时库存 |
累计数量 |
10001001 |
IN |
2010-01-01 |
10 |
10 |
37 |
10001001 |
OUT |
2010-01-02 |
-2 |
8 |
27 |
10001001 |
OUT |
2010-01-03 |
-2 |
6 |
29 |
10001001 |
OUT |
2010-01-04 |
-2 |
4 |
31 |
10001001 |
OUT |
2010-01-05 |
-2 |
2 |
33 |
10001001 |
IN |
2010-01-06 |
20 |
22 |
35 |
10001001 |
OUT |
2010-01-07 |
-5 |
17 |
15 |
10001001 |
OUT |
2010-01-08 |
-5 |
12 |
20 |
10001001 |
OUT |
2010-01-09 |
-5 |
7 |
25 |
10001001 |
IN |
2010-01-10 |
25 |
32 |
30 |
10001001 |
OUT |
2010-01-11 |
-6 |
26 |
5 |
10001001 |
OUT |
2010-01-12 |
-8 |
18 |
11 |
10001001 |
OUT |
2010-01-13 |
-5 |
13 |
19 |
10001001 |
OUT |
2010-01-14 |
-6 |
7 |
24 |
10001001 |
IN |
2010-01-15 |
30 |
37 |
30 |
10001001 |
OUT |
2010-01-16 |
-6 |
31 |
0 |
10001001 |
OUT |
2010-01-17 |
-8 |
23 |
6 |
10001001 |
OUT |
2010-01-18 |
-8 |
15 |
14 |
10001001 |
OUT |
2010-01-19 |
-6 |
9 |
22 |
10001001 |
OUT |
2010-01-20 |
-4 |
5 |
28 |
10001001 |
IN |
2010-01-21 |
30 |
35 |
32 |
10001001 |
OUT |
2010-01-22 |
-6 |
29 |
2 |
10001001 |
OUT |
2010-01-23 |
-4 |
25 |
8 |
10001001 |
OUT |
2010-01-24 |
-4 |
21 |
12 |
10001001 |
OUT |
2010-01-25 |
-6 |
15 |
16 |
10001001 |
IN |
2010-01-26 |
30 |
45 |
22 |
10001001 |
OUT |
2010-01-27 |
-4 |
41 |
-8 |
10001001 |
OUT |
2010-01-28 |
-2 |
39 |
-4 |
10001001 |
OUT |
2010-01-29 |
-2 |
37 |
-2 |
依 据上面这样表,假设物品10001001的月初数量为0,2010-01-29为当天日期,当天的库存数量是37,那么最小库存天 数=2010-01-29减2010-01-26=3天,一般库存天数=2010-01-29减2010-01-21=8天,最大库存天 数=2010-01-29减2010-01-01=28天。我注意到,29日库存数量37中只有2个的库存天数是28天,根据谨慎性原则,我们仍认为这个 物品的最大库存天数是28天。正常来说,材料采购应该有规律可言,遵循这样的规律,最大库存天数才不会奇高,账上这样处理,实物管理上也需要遵循。
我讲这个问题,不涉及程序编写,重点是强调对实际问题认识的重要性,我们不仅要会编写程序,更要会利用IT工具解决业务问题。