这篇博客主要是因为公司在月底结算工单(生产订单)的时候,工单若没有完工还存在在制,这次入库的产品只会带走标准成本,不会承担差异。当这笔工单全部完工的时候,工单关闭(TECO/DLV),这个工单所有的差异都会由最后一次入库的产品来承担。这是SAP的特性,只能通过写程序利用SAP的其他特性来解决。这里只做CO月结来分析这个问题,不涉及到解决,后续如果参与了程序的编写再更新方法。
一、创建原材料、成品物料、BOM、工艺路线、生产版本
原来做的流程里面有过很多次的演示,这里只看结果。
1、原材料会计1视图
这里10虽然是创建物料的时候给的,后面会直接发布成标准成本,做采购之后才会有差异。
2、成品会计1视图
成品的标准价不用管,反正后面估算了会被覆盖掉。
3、成品BOM
4、成品工艺路线
工时单价
5、生产版本
二、标准成本估算、标记、发布
三、创建生产订单、MRP、采购申请转采购订单
1、创建并下达生产订单
2、运行原材料MRP
生成的采购申请审批之后(ME54N)转采购订单
3、采购申请转采购订单
后面收货、质检、入库
四、领料、报工、入库
1、领料的时候全部都领了
工单成本分析,这里的转出入库的计划是10,是因为实际上我的标准成本发布是在下生产订单之后发布的,所以这里的计划是按照一开始给的1块钱的标准成本计算出来的。
2、报工的时候只报5个成品的工时,剩下的5个就是在制了。
工单成本分析。多了工费
产生CO凭证。
3、入库
工单成本分析。这里的总的实际成本是根据现在的标准价算出来的,一共5个。5*106=530。
五、记账
账记到记到工单物料的工艺路线中的工作中心对应的生产性成本中心上面,什么科目类型要和作业类型对应,KAH3可以看个大概,具体的配置点在哪里给忘记了。注意这里如果有间接费用分摊来的钱,要记到来源的那个成本中心上面,不要记到工单的成本中心上。
这里的凭证只是给后面分析的时候留个记录,每个系统的会计科目不一样,成本要素组划分也不一样,没有什么参考意义。
1、作业类型100
2、作业类型200
因为作业类型200是分摊过来的钱,所以记账的时候的成本中心要填分摊中的发送方成本中心,但如果你的系统中没有这么配置,可以直接记到成本中心对应的科目上。
3、作业类型300
六、CO月结
这个CO月结流程不太完整,企业结算的过程中还要通过其他事务码进行检查,这里省略了一些步骤。
1、S_ALR_87013611报表查看报工数量
2、COOIS检查工单工时和实际工时
3、CK11N估算下月的标准成本
4、CK24标记下月的标准成本(不发布)
3、4可以用CK40N批量进行
5、MMPV物料关帐,开启下个期间的物料帐
6、OKP1打开下个期间
7、CK24/CK40N发布下个月的标准成本
8、OKP1关闭上月与报工相关的作业期间
9、KSV5运行成本中心费用分配
按照企业内部的分配要求创建期间进行配分。成本中心分配分摊
10、S_ALR_87013611检查分配结果
11、KSU5运行成本中心费用分摊
12、KSB1导出生产性成本中心每个成本要素组的费用
KAH3查看成本要素组
13、KB21N调整异常工时
从成本中心A调整到成本中心B。
14、KSS2费用分割
费用和类型做匹配关系,依据成本要素组(KAH3)的配置。注意参与分割的成本中心所有作业类型的控制成本总和需要等于成本中心3611报表中的借方总额。(确保自己的成本中心加入到了分割结构里面 TCODE:OKEW 路径:SAP 用户化实施指南->控制->成本中心会计->实际过账->期末结算->作业分配->划分->将分解结构分配至成本中心)
有尾差是正常现象,记账把它补平就行,但是误差过大就要找问题出在哪里了。
15、KSII计算实际工费
算出作业类型的单价
16、KSBT检查作业价格合理性
可以通过此报表比对标准单位成本与实际单位成本的差异,分析实际单位成本的合理性。“价格标识”=3 即标准单位成本,“价格标识”=5 即实际单位成本,就是上面KSII算出来的结果。
17、MFN1/CON2重估工单成本
18、S_ALR_87013611检查生产性成本中心的费用余额是否借贷平了
19、MMRV允许过账到上一区间
20、OB52修改区间
21、KKAX/KKAO 计算WIP:在制品
遇到一个问题“成本要素 XXXXXX 的值无法分配到任何行标识”,解决方式看文末。
解决之后运行:
22、KKS2/KKS1工单计算差异
23、KO88/CO88差异过账
24、检查
a、检查资产负债表是否平衡
b、检查投入与产出是否平衡,即生产成本科目和制造费用科目的和要归0
若不平对照科目余额;生产成本和制费发生额的差异;事务码COMLWIPDISP得到在制品报表和S_ALR_87012277和在制品科目余额对比,若不平用FAGLB03调出明细账和在制品报表进行核对;使用FAGLB03检查当期制费科目的凭证是否都是生产性成本中心的。
25、CKMLCP运行物料分类账
若有报错注意MMPV是否开到下一期间了。
凭证1(本期月末)
凭证2(下期月初结转)
CKM3
成品
原材料
结合凭证1可以看到,原材料的差异一部分结转到了成品,一部分结转到了在制品,所以它本身期末就没有差异了。
26、完成之后CO03查看成本分析的在制品分析
可以看到其实KKAX中分给在制的500中不仅有材料还有其他的,但是在数值上就是分过来的那一半的物料,通过CKM3的结果也可以看到,入库了的成品物料已经带走了它的工费,所以这里的细分,我也不太了解原因。如果有了解的可以私信或者评论交流一下。
七、分析
我的流程中由于实际工费和KP26中计划保持一致,所以报工不会存在差异,差异只体现在材料上,也按照生产和在制两个方向分了。但是如果报工费用存在差异,报工的差异全部都会在KKAX处全部给到在制品上面(去看KKAX的结果虽然不是这样体现,但是纯看数值可以这么理解)。因此如果实际工费和计划工费不一致,且工单跨月结算的话,就会导致分批入库的物料对于工费所承担的差异不是均分的。如果工费差异过大,不同批次入库的成品物料的差异会被放大。
八、报错及解决方法
1、问题“成本要素 XXXXXX 的值无法分配到任何行标识”
这里是因为当时记账的时候记了一笔在订单上的账,虽然后面冲销了,但是行项目还是在工单成本分析的地方,虽然价格是0,但是还是导致出现报错。建议添加之后运行完KKAX之后就删掉,不要留在系统里面。估计是要将工单成本分析中的每个项目找到对应的去向(入库/在制...)进行分配,这个成本要素没有在系统规定它的去向所以就报错。
路径:SAP 用户化实施指南->控制->产品成本控制->成本对象控制->按定单划分的产品成本->期末结算->在产品->定义行标识
看对应的成本控制范围有什么行标识
路径:
SAP 用户化实施指南->控制->产品成本控制->成本对象控制->按定单划分的产品成本->期末结算->在产品->定义分配
TCODE:OKG8
添加行项目,给对应的成本控制范围+成本要素+行标识添加行项目
这里我也不太确定要怎么选,复制一个,把成本要素改成报错的成本要素,请求资本改成已结算的,记得位数不够的地方要加“+”进行填充。