点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
什么是生产订单的标准成本、计划成本、实际成本、目标成本,我想做成本会计的应该很熟悉,计算公式简单表示如下。
标准成本 = 标准价格 * 标准数量 + 作业价格 * 标准数量
计划成本 = 计划价格 * 计划数量 + 作业价格 * 计划数量
实际成本 = 实际价格 * 实际数量 + 作业价格 * 实际数量
目标成本 = 标准价格 * 实际数量 + 作业价格 * 实际数量
这些计算公式并不复杂而且结构都是一样的,只是价格和数量的取值不一样,但在SAP软件中是如何灵活配置计算出这些成本的,我认为还是挺复杂的,所以本文通过一个离散制造业的例子介绍下这几个值在SAP软件中的计算逻辑和配置方法并在系统中演示下这几个值的计算过程。
假设有如下业务场景:
某公司生产的产品为ML-FERT-R300,生产1个这产品需要用到1个原材料ML-ROH-R100和需要经过一道工序,经过这道工序需要消耗人力工时30MIN,机器工时60MIN ,每批产品调机工时60MIN。其中机器作业价格:30/H,人工作业价格:20/H,调机设置作业价格50/H。
现在工厂要正式批量生产这个产品,首次生产的批量为80个,这个产品使用的是标准成本,所以正式生产一般需要先计算出这个产品的标准成本,生产订单生产完成后,产品入库要使用标准成本核算。
计算产品的标准成本一般需要先建立这个产品的BOM和工艺路线等等,关于产品标准成本的计算逻辑可以参考如下推文:
SAP软件产品标准成本估算的逻辑及配置介绍
产品的标准成本计算和发布完成后,就可以在SAP软件中创建生产订单了,通过CO01创建,创建生产订单或下达后(由配置决定计算的时间节点),系统会自动计算出生产订单计划成本,当生产订单有发料或报工后,系统立即更新这生产订单的实际成本,当生产订单有产出时,系统会计算这生产订单的目标成本,注意目标成本只有有产出时才能计算,它的实际数量是指收货到仓库的数量。
创建完成生产订单后就可以通过如下方式查询生产订单的计划成本、实际成本和目标成本,通过事务码CO03直接查询,查询步骤如下图:
查询结果显示如下:
(生产订单成本趋势图)
下面在详细介绍下这几个值的计算逻辑,要完全了解这计算逻辑,需要先了解下SAP的成本核算变式,SAP软件是通过成本核算变式来定义各种不同成本的计算逻辑的,比如有标准成本核算变式(本例使用PPC1)、计划成本核算变式(本例使用PYG1)、实际成本核算变式(本例使用PYG2),分别用来计算生产订单的标准成本、计划成本和实际成本。成本核算变式可以使用系统标准,也可以自定义。
备注:关于成本核算变式的详细介绍上面链接中的文章有非常详细介绍,这里就不在展开了。
我们已经知道生产订单计划成本和实际成本的计算逻辑取决于成本核算变式,但在系统中有很多成本核算变式,有系统标准预制和自定义的,那么在开生产订单时候系统是何时计算和如何确定使用哪个成本核算变式来计算的?
这个是需要通过系统配置指定的,具体是通过事务码OKZ3进行配置(如下图)
上图配置表示在工厂1710下的生产订单,当生产订单类型使用YBM1,那么生产订单的计划成本的计算使用的成本核算变式为PYG1,实际成本计算使用成本核算变式为PYG2.
计划成本计算:设置为在生产订单保存后进行计算,计算时间点也可以设置为订单下达或手工进行触发,这设置需要根据业务进行设置,如果生产订单创建和实际下达时间间隔较长,计划成本计算结果可能不一样的。
上面生产订单成本趋势图的【全部计划成本】具体计算逻辑说明
物料成本计算:
发货-1710/ML-ROH-R100对应的计划成本 = 组件数量*物料主数据-计划价格1 = 80*100 = 8000
其中:
组件数量 = BOM组件数量 * 生产订单数量 / BOM基础数量 = 1*80/1 =80(如果有维护报废率,计算需要考虑,本例不考虑)
BOM组件数量和BOM基础数量可用通过(CS02/CS03查询BOM如下)
物料主数据-计划价格1 可用通过MM03查询如下图
这里为何要取计划价格1计算,这个是根据配置逻辑计算的,这个价格取什么值,可以根据实际业务灵活配置的,上面我们已经知道本例的生产订单的计划成本计算使用了成本核算变式PYG1,那么看看这个成本核算变式配置就知道为何会取到这个价格。
这个配置可以通过OPL1查看(如下)
备注:这里配置是计划价格1优先,标准成本一般月初定下后本月一般会保持不变,不能随便更改,但主数据中维护计划价格可以根据市场的实际变化更改,如果物料价格变化很大很快,使用计划价格计算生产订单的计划成本,能更准确的进行生产成本的监控。
作业成本计算:
确认-1710301/1机器作业对应的计划成本 = 计划作业数量*作业价格 = (60 /1) * 80 * (20/60) = 1600
确认-1710301/11人事小时对应的计划成本 = 计划作业数量*作业价格 = (30 /1) * 80 * (30/60) = 1200
确认-1710301/3设置生产对应的计划成本 = 计划作业数量1*作业价格 = (60 /1) * (50/60) = 50(这个作业数量1不用乘以生产数量,因为每个生产订单,只需要设置1次和生产数量没有关系)
其中:
计划作业数量=(工艺路线中活动类型的标准值/基本数量)*生产数量 (这些值维护在工艺路线中,是通过事务码CA01/CA02维护的(如下图)
本例只有一道工序,上图表示生产1个产品,需要经过一道工序,消耗机器工时(活动类型1)60MIN,消耗人工工时(活动类型11)30MIN。
每个生产订单需要消耗设置生产工时(活动类型3)60MIN。
作业价格就是KP26维护值
(注:如果作业价格单位是小时和工时计量单位不一样,系统会考虑换算系数的)
作业类型的价格取值和物料价格一样是根据配置逻辑取值的,上面我们已经知道本例的生产订单的计划成本计算使用了成本核算变式PYG1,那么看看这个成本核算变式配置就知道为何会取到这个价格,这个配置可以通过OPL1查看(如下)
取作业价格的策略解析如下:
1 周期计划作业价格:即KP26维护的当前的作业计划价格。
2 计划价格作为财务年度所有周期的平均值:整个会计年度的期间平均值
3 计划价格作为年剩余周期的平均:整个会计年度剩余期间的平均值
4 前一周期的实际作业价格:将上月的实际作业价格作为本月初成本估算时的估算作业价格。
5 过去的大多数最新实际作业价格 / 6大多数最新实际作业价格:
如果选择了评估策略"1周期计划作业价格",但还没有为下个期间编制了计划作业价格,而生产部门要提前在系统中创建下个月的生产订单,因为下个月的计划价格仍未维护,系统报错无法生成生产订单,如果追加次优先级的策略“5过去的大多数最新实际作业价格”或“6大多数最新计划作业价格”这样系统可以取得最新的计划或实际价格来评估下期的生产订单计划成本。
7 期间的实际价格:作业实际价格一般月末才能计算出来,标准成本估算一般不会月末计算,所以一般不会此策略。
CO版本计划/实际:这里可以设定从哪个版面读取评估价格。
上面生产订单成本趋势图的【总的实际成本】具体计算逻辑说明
物料成本计算
发货-1710/ML-ROH-R100对应计划成本 = 实际发货数量*物料主数据-标准价格 = 82*80 = 6560
这里和上面计划成本的差异在于这里是按实际发货数量乘以物料的标准价计算,本例生产订单根据BOM计算生产80个产品应该发原材料ML-ROH-R100:80个,但因为生产过程中实际损坏了2个,所以实际多发了2个,所以这里实际发料数量为82,这个应该好理解,但价格为何用标准价格计算了,这也是配置决定的,上面我们已知道生产订单的实际成本计算使用的成本核算变式PYG2,看看这个成本核算变式配置就知道为何会取到这个价格,这个配置可以通过OPL1查看(如下)
上图定义生产订单实际成本计算的物料价格取自物料主数据的标准价或移动平均价格,到底取那个由物料主数据的的价格控制字段决定。比如ML-ROH-R100的价格控制是S ,所以生产订单实际成本计算使用标准价格(如下图)。
备注:假如这个物料的价格控制是V,则取移动平均价格计算实际成本。
作业成本计算:
确认-1710301/1机器作业对应的实际成本 = 实际作业数量*作业价格 = 4920 * (20/60) = 1640
确认-1710301/11人事小时对应的实际成本 = 实际作业数量*作业价格 = 2460 * (30/60) = 1230
确认-1710301/3设置生产对应的实际成本 = 实际作业数量1*作业价格 = 60*(50/60) = 50(这个实际作业数量1不用乘以生产数量,因为每个生产订单,只需要设置1次和生产数量没有关系)
各作业类型的实际作业数量就是等于生产订单报工的实际作业时间(就是CO11N报工数据,如下图)。
上图生产订单报工界面:表示生产80个产品,经过0010工序实际耗用了设置工时60MIN,机器工时4920MIN,人工工时2460MIN 。
上面生产订单成本趋势图的【总计目标成本】具体计算逻辑说明
物料成本计算
发货-1710/ML-ROH-R100对应目标成本 = 目标耗用数量*物料主数据-标准价格 = 78*80 = 6240
目标耗用数量 = BOM组件数量*生产订单产出的收货数量/ BOM基础数量 = 1*78/1 =78
所以总计目标成本在生产订单没有进行收货,是查询不到,只有收货之后才能显示出来。
这里价格维护取物料主数据的标准价格,因为生产订单的目标成本的版本是0,当然目标成本版本可以定义多个版本,用于不同的评估目的,但实际过账的只有版本0。也就是这个目标版本指定了生产订单目标成本的计算逻辑。
上图设置表示目标成本版本0使用标准成本估算,那么生产订单目标成本计算逻辑就和产品标准成本估算的逻辑的是一致,就是使用标准成本计算的成本核算变式 ,本例使用标准成本核算变式为PPC1,可以通过OKKN查询这个标准成本核算变式的配置如下。
上图表示物料价格计算取标准价格,所以生产订单目标成本计算按此取物料价格。
作业成本计算:
确认-1710301/1机器作业对应的目标成本 = 收货数量*标准工时*作业价格 = 78 *60 *(20/60) = 1560
确认-1710301/11人事小时对应的目标成本 = 收货数量*标准工时*作业价格 = 78 * 30*(30/60) = 1170
确认-1710301/3设置生产对应的目标成本 = 标准工时*作业价格 = 60*(50/60) = 50(这个不用乘以收货数量,因为每个生产订单,只需要设置1次和生产数量没有关系)。
收货数量:就是此生产订单的实际收货数量,本生产订单收货78个,假设2个因为各种原因暂时不能收货,标准工时就是工艺路线中定义的。
作业价格取值设置如下:
作业类型的作业价格取值和物料价格一样是根据配置逻辑取值的,上面已知道目标成本计算使用了成本核算变式PPC1,那么看看这个成本核算变式配置就知道为何会取到这个价格,这个配置可以通过OKKN查看(如下)
备注:这里配置解析可以看参考上面【总计划成本计算】的介绍。
最后总结下:在SAP软件中生产订单的标准成本、计划成本、实际成本、目标成本的计算逻辑设置是非常灵活的,单纯看公式好像很简单,配置步骤也不算复杂,但实际业务如何使用、如何配置更加接近实际业务和满足业务需求就不是那么简单的,需要一定财务功底和项目经验。
本人是利用业余时间更新博文,没有很多时间去校对文章,有时候发布后才发现文中存在错误或错别字,但微信公众号一旦发布就限制修改,最多好像只能修改20个字,如有错误的地方欢迎大家指正,但不一定能修改,请大家理解!
特别声明:以上纯属个人学习SAP软件应用的心得体会,不代表SAP官方和其它任何公司,仅可作为学习SAP参考,文中操作演示截图来源于SAP软件,相应著作权归SAP公司所有。