一、背景
客户是一家制造型公司,使用的是S/4 HANA 公有云系统。这家客户的BOM结构比较简单,原材料采用移动平均价,成品则采用标准价。可能以前生产量比较小,月末也不存在什么在制品,所以一直没关注在制品的月末处理。最近生产量突然开始增加了,月末也出现了大量的在制品,财务在月结运行物料分类账的时候就发现了大量的未分摊差异,觉得差异有点大,就来找到我给看一下是什么原因,我也是在网上找了大量的资料,做了各种测试,也询问了好几个同行,才梳理通这个基于事件的生产中,在制品的记账逻辑。
二、基于事件的生产和基于期间的生产方案
这个是SAP官方的介绍,基于事件的方案和我们之前基于期间的方案之间的对比
产品成本收集器的基于事件 (3F0) 与基于期间 (BEI) 的生产成本过账 | SAP Help Portal
我浅显的解释一下,基于事件的方案是为了实时计算产品成本和在制品,同时减少月末的操作。在订单的投料、报工的时候,同时自动将金额转到在制品上,这样生产订单余额一直是零,从FI总账和CO层面都能保持一致。然后在订单完工入库的时候,再同时转出在制品和所有的差异。
相信熟悉以前在制品方案的同学就能看出来差别了,咱们以前是月末的时候,都是要计算完实际作业单价,重估生产订单之后,再开始在订单层面计算在制品,这时的在制品金额是包含了实际作业单价跟标准作业单价之间的差异的。但是基于事件的方案因为要在月中实时结转,这时还没有实际作业单价算出来,所以是按照计划作业单价来计在制品的作业成本。那这二者中间的差异是否会跟之前的方案一样全部进入在制品吗?哈哈,这里卖个关子,下面再讲。
三、在制品在基于事件的方案下的各个操作步骤
1、准备测试数据。
我这里准备了一个测试的案例,下面就跟我这个案例来梳理整个的流程。
该公司在4月份下达了60个成品的订单,下面是这个成品的物料组成(每个)
物料组成 | 数量 | 价格 |
A | 1 | 100 |
B | 1 | 200 |
这个是它的工艺路线,只经过一道工序,分别用了三种作业
作业类型 | 标准单价 | 标准工时 |
人工 | 50 | 1.5 |
机器 | 60 | 1.5 |
其他 | 70 | 1.5 |
这个成本的标准价是570,订单的计划成本就是570*60=34200.
2、日常的操作
日常操作投料、报工,具体操作我就不赘述了,网上资料大把。我就大概讲下基于事件的方案下,投料和报工时在制品时如何结转和记账的。
①投料
假设移动平均价没变过哈,还是按照上面的价格来。即投入A物料60个,价值6000,投入B物料60个,价值12000.共18000
投料时会产生凭证
借:生产成本 18000
贷:原材料 18000
同时会自动生成一个在制品结转的凭证
借:在制品 18000
贷:生产成本-在制品结转 18000
②报工
报工和完工入库,完工50个,下面是各个作业类型的工时和对应的目标成本
作业类型 | 工时 | 按标准价计算的工时成本 |
人工 | 78 | 3900 |
机器 | 80 | 4800 |
其他 | 110 | 7700 |
合计 | 16400 |
报工不会产生财务凭证,但是会产生在制品的结转凭证
借:在制品 16400
贷:生产成本-在制品结转 16400
③完工入库
完工入库时,会按照成品的标准价入库,50个*570=28500
借:库存商品 28500
贷:生产成本-成品结转 28500
同时,会结转在制品出来
借:生产成本-在制品结转 28500
贷:在制品 28500
好了,本月日常的操作做到这一步就结束了,以下分别是当前状态下生产订单的投入和产出。
订单的投入 | 订单的产出 | ||
---|---|---|---|
工时成本 | 16400 | 成品 | 28500 |
原材料 | 18000 | 在制品 | 5900 |
合计 | 34400 | 合计 | 34400 |
3、月结
①、计算实际作业单价
这步的操作和原理没有什么变化,我直接贴上结果吧
作业类型 | 标准单价 | 实际单价 |
人工 | 50 | 30 |
机器 | 60 | 40 |
其他 | 70 | 40 |
②、重估在制品数量
先贴一下这一步在SAP官方的说明
还记得我上面留的问题吗,我们日常的操作之后,其实订单的投入和产出都是按照作业的标准单价来计算和结转的,那么月底计算完实际单价,肯定就会有差异,这个差异在以前老的方案是全部进的在制品,但基于事件的方案,则是会在成品和在制品之间进行分摊,所以就需要先确定这个分摊比例。我还是用上面的测试用例,来解释一下
首先计算一下整体的差异,共-6460的差异
作业类型 | 标准单价 | 实际单价 | 实际工时 | 目标成本 | 实际成本 | 差异 |
人工 | 50 | 30 | 78 | 3900 | 2340 | -1560 |
机器 | 60 | 40 | 80 | 4800 | 3200 | -1600 |
其他 | 70 | 40 | 110 | 7700 | 4400 | -3300 |
合计 | 16400 | 9940 | -6460 |
然后计算在制品数量
按SAP官方的解释,
在制品数量 = 实际消耗数量 - 计划消耗数量 * 实际接收数量/计划接收数量
900-600*580/600
我用我的理解来翻译一下
在制品的报工数量=实际报工数量-计划报工数量*实际完工数量/计划完工数量
实际报工数量:就是各个作业的实际工时了
计划报工数量:就是这个订单计划的报工数,以人工工时为例,订单计划生产60个,每个成品计划人工1H,那订单的计划报工数量就是60*1H=60H.
实际完工数量:就是完工入库的成品量,即55个
计划完工数量:就是订单的数量了,即60个。
理论讲完,来计算一下吧
作业类型 | 实际报工数量 | 计划报工数量 | 实际完工数量 | 计划完工数量 | 在制品报工数量 |
人工 | 78 | 90 | 50 | 60 | 3 |
机器 | 80 | 90 | 50 | 60 | 5 |
其他 | 110 | 90 | 50 | 60 | 35 |
当然,既然是在成品和在制品直接分摊差异,光是计算在制品数量还是不够的,还得计算一下成品的数量,不过成品数量其实就是等于实际成品的完工数量乘以每个成品每个作业的标准用量,这个就是系统自己能算出来了,不需要做什么操作。
作业类型 | 成品目标报工数量 |
人工 | 75 |
机器 | 75 |
其他 | 75 |
可能细心的同学也发现了,在制品数量好像就是等于实际报工数量-成品的目标报工数量了,这其实也是对的!
有了上面这三个数量(实际报工数量、在制品报工数量、成品目标报工数量),我们就能计算出在制品和成品分别需要承担的差异,公式大概是这样:
在制品承担差异的金额=总差异*在制品报工数量/实际报工数量
成品承担差异的金额=总差异*成品目标报工数量/实际报工数量
按这个公式,差异是这么算的
作业类型 | 差异 | 实际报工数量 | 在制品报工数量 | 在制品承担的差异 | 成品报工数量 | 成品承担的差异 |
人工 | -1560 | 78 | 3 | -60 | 75 | -1500 |
机器 | -1600 | 80 | 5 | -100 | 75 | -1500 |
其他 | -3300 | 110 | 35 | -1050 | 75 | -2250 |
注①:如果不做在制品数量重估,那所有的差异都会计到成品里面,一旦差异比较大,成品库存不够冲的时候就会产生未分摊差异。
注②:如果本月的实际报工数量小于成品目标报工数量,其实算出来在制品报工数量就为负数了,这种情况下,SAP是不会再生产在制品的数量凭证了,所有的差异均由成品库存来承担。
理论讲完,这个重估的操作就很简单了,就是运行一个后台作业。
APP:计划产品成本核算作业
模板选择:基于事件的过账 - 实际成本核算重估的在制品数量过账
作业最后会产生一张在制品数量凭证。查看在制品数量凭证的APP:在制品-基于事件
③运行物料分类账
计算完在制品数量之后,就需要运行物料分类账了,这个就没什么区别,都是一样的操作步骤。
能在物料账运行结果查看作业分摊到在制品上面的结果
点进去能查看差异分摊到在制品上面的凭证,如果没有这个凭证,可以看看对应的自动过账配置对不对,或者科目有没有问题。WPA是在制品库存科目。
继续讲上面的案例,运行完物料分类账后,其实会产生以下两笔凭证
a、在制品承担差异的凭证
借:生产订单差异 60 (人工)
生产订单差异 100 (机器)
生产订单差异 1050(其他)
贷:在制品 1210
b、成品承担差异的凭证
借:生产订单差异 1500 (人工)
生产订单差异 1500 (机器)
生产订单差异 2250(其他)
贷:库存商品 5250
那做完物料账分摊差异后,最终的成品和在制品金额就是这样了
订单的产出(计划) | 差异 | 月末余额 | |
成品 | 28500 | -5250 | 23250 |
在制品 | 5900 | -1210 | 4690 |
合计 | 34400 | -6460 | 27940 |
4、次月全部完工入库
到了次月,假设订单没有继续投入物料和人工了(就算投入了,也是按照上面的逻辑转在制品),完工剩下10个成品后,会产生凭证
借:库存商品 5700
贷:生产成本-成品结转 5700
同时,会结转在制品出来
借:生产成本-在制品结转 5700
贷:在制品 5700
此时会发现,订单上面在制品余额还是有200,怎么回事呢?不应该是4690-5700=-1010吗?
因为物料分类账分摊的差异不会到订单上面去,所以如果你在上月做完物料分类账之后再去看你的生产订单,你会发现订单上面在制品金额没有变化,还是计划的5900,不要慌,这是正常的,接着往下看!
因为是最终完工入库,所以SAP还会把在制品再冲回到差异里,产生这个凭证
借:生产成本-差异 200
贷:在制品 200
5、次月月末运行物料分类账
这时运行物料分类账后,能发现所有的差异和金额全部都体现到库存里面来了。
包括:
1、本月投料/报工产生的差异(下图①)
2、之前在制品承担的差异1210(下图②)
2、生产订单上完工入库后,在制品的余额200(下图③)
此时物料账会产生凭证
①上月在制品差异冲回凭证
借:在制品 1210
贷:生产订单差异 60 (人工)
生产订单差异 100 (机器)
生产订单差异 1050(其他)
②在制品结转到成品库存(总的差异金额=本月新增的作业工时的差异+上月在制品差异+工单余额=0-1210+200=1010)
借:生产订单差异 1010
贷:库存商品 1010
至此,整个基于事件的在制品的各种场景就梳理完了,撒花~~~
欢迎评论区留言指出文中的不合理之处~~