生产成本订单

2 Product Cost by Order

(1)制造订单(Manufacturing Orders)

SAP提供了三种典型的生产方式:重复制造,按生产订单和按销售订单(订货组装/订货生产)生产方式,对应三种生产成本归集方式,这三种方式除了在计算成本上用到的成本变式不大同以外,在计算WIP,差异和计算规则上逻辑有很多相似之处.

前言:在三个月前刚学习CO之时,我就一直想抽空写点

的关于CO-PC的东西,没办法,现在年轻人都喜欢这个,

你跟它讲个破理论就是讲了一百遍,现在什么时代了,他还会回头问你一些社会主义初级阶段的问题.

生产订单包含材料,所需资源和成本等信息,SAP提供了强大的生产订单处理能力,

1.在一生产订单里可产生多个相互关联的成品(Co-product,和By-product不同,后者通常指unassembly工单拆料)并可通过allocation structure在个产品成本之间分配发生的各种生产费用.

2.在生产订单可指定某个组件的外包工序,你甚至可在工单随便插入一些额外的center .

3.拆卸工单(比如将回收产品拆料),维修工单的处理,你可以建立一个单独的返修订单直接归属到最初的生产订单上,这个你只需要CO07建立一不带default settlement rule MAT然后加个ORD指向原工单这些费用就能结算到原prod order,如prod order没close,维修料工直接在弄上去更简单。,你也可以在现有的订单上插入特定的返修工序。

4.对于条形码的支持和SFCS control我就不大敢恭维,通常大都企业会另开发.这样的开发6年前我经常干.

5.发料

(1)分步MB1A(MIGO)发, MIGO收

(2)Backflush和order confirmation

为了减少零部件和原材料物料控制的间接费用,“倒冲”是一种值得推荐的程序,你甚至可来了料就往一backflush sto. Loc .送.成品入库自动扣减原料

你可以在工艺路线的物料分配中设倒冲标示(backflushing indicator) 。如果一个物料总是用倒冲法,你可以在物料主文件记录中规定倒冲参数。你还可以根据你所用的工作中心进行倒冲。

同一个公司可能采用不同的生产方式,你没有必要太过界于一些概念的东西,符合你企业流

如图1,[1]-[10]项是基于图1-[1]-图1-[10]的.

[1]Basic Settings

请参考成本核算单Costing sheet配置.

[2]Cost Variants for Manufacturing Orders

Tcode:OPL1

Costing variant的作用在Product Cost Planning的标准成本估算变式配置里已有详细阐述,工单使用的成本变式的和标准成本成本变式的配置逻辑相同(当然也包括其它任何估算变式),如图2,ZPP1,ZPP2是Copy PPP1和PPP2的,通常配置不就是Copy SAP提供的标准东西

再根据实际业务需求修改来修改去吗

?

图3是一合成图,将SAP 默认的PPP1,PPP2和自定义的ZPP1和ZPP2四个成本变式集中在一起,ZPP1,ZPP2使用了自定义的评估变式Z06和Z07(如图3-[3]和图3-[4]).

图4显示了PPP1,PPP2,ZPP1,ZPP2成本变式对应的006,007,Z06和Z07评估变式,在此特意显示出Material Val.栏的物料取价策略(读者当然同样要注意检查作业类型,外包,Overhead栏的相关设置,比如在Overhead栏如果使用了Costing sheet必须确定有costing sheet)

从图4中[3][4]可看到Z06,Z07和SAP default的007的取价策略都是根据物料主数据价格确定的,并没有第二个取价策略,如物料主数据没维护价格,就会取到0,当Price取到0时,CO人员就能发现,从这点上本人觉得还是只有一个好(如果需要你甚至可找到相关User exit判断如

有某物料未维护价格就产生错误提示).

看看SAP default 的006,取价顺序先是物料标准价格,如为0或未维护,然后就采用移动平均

价格,下面讨论一下.

(1) 本人现公司几乎所有物料都采用MAP(移动平均价),包括FG,使用MAP+Batch+Serial Number管理.而一些组件却使用了标准价格(因为有回收件),于是CO人员经常被物料价格弄的糊涂.

回到取价策略(如图4),其实可简单这么认为,7是Legal price(会计核算价格),你采用的price control是S,Legal price就是S,price control是V,Legal price就是V. 显然Valuation variant 006不是,它先取STD price,然后是MAP price,它不去管你采用何种Price control.

(2)现在有人说,作者呀,你似乎并没有领悟SAP CO-PC的精髓,况且你物料使用的是MAP,在我这物料却全部使用STD price,这完全不同嘛.

我回答: SAP还有精髓?不会吧,我想你一定是弄错了,我杀过很多猪,只知道骨髓,我知道一 般猪排里好吃的骨髓不多,你要吃骨髓就找猪头啃,可是,如不消化,自己就会成Zhu头. 看看图5,相信很多CO用户还是没弄明白标准成本,计划成本,目标成本,实际成本究竟是 怎么回事,它们关系如何?

你跳到第[7]步Define Cost-Accounting-Relevant Default Values for Order Typ(如图10),不妨这样假设,假设你就使用Order type PP01,第7步你能发现PP01类生产订单的计划成本使用的成本变式是PPP1(包含估算变式006),工单实际成本核算则使用PPP2(007),计划成本在保存工单时计算, 就是说你工单(Order Type PP01)的

材料计划成本= 材料计划价格(先STD再MAP,Valuation variant 006)*材料计划数量(Bom Usage Qty*工单数量,对生产的成品就是工单数量)

材料实际成本=材料实际数量*实际价格(这容易理解,对PP01类工单取价是007,就是抓取物了的Legal price).

作业和生成相关费用(Prod.OH)的计划成本和实际成本呢?

因为此两种费用的承载使用的是次级成本要素,作业使用的是43(Internal Activity Allocation)类,如果你企业使用了Costing sheet,Prod. OH则使用41型成本要素.

所以工单的作业成本和Prod. OH的

作业计划成本= 作业计划价格*计划数量

作业实际成本 = 作业价格*实际数量

作业实际成本的作业价格通常是要重估的,如果愿意,你甚至可不重估,就使用计划价格.

***必须特别强调的是,你要牢记各种情况,假设工单生产的FG也是MAP,它的plan cost和actual cost一样是通过valuation variant(图10) 取得的,这和原料不同,请看Define Goods Received Valuation for Order Delivery)的定义的valuation variant,除非它恰好和006/007相似.就是说这个.实际上它不仅仅是FG入库的actual cost valuation variant,也是FG plan cost的valuation strategy .如果很幸运的你的成品是STD price,当然plan cost = STD Price *工单数量,如果材料也是STD price,材料的plan cost=std price * BOM quantity *工单数.

不要把计划成本和标准成本混为一谈.只能在SAP中,标准成本是实现计划成本的一种选择,你看看Valuation variant 006的第一取价策略(STD price)就知道,当你工单的plan cost取价valuation varaint采用006(先取STD price)时,工单的计划成本就等于标准成本估算后的标准单价*计划数量(这样你在工单).

象图4作者Prod order plant/actual cost 的valuation varinat是Z06和Z07(取价都是物料主数据价格),就是说开工单时plant cost抓取的是那时刻的物料价格,如果是MAP,就是那时刻的MAP价格. 有人问,这时刻在变吗?是的,这样的plan cost你CO02每计算一次都可能立即随着变化, 那这样的prod order plan cost不到好玩哟. User喜欢这样玩你能咋的.

在手工年代,标准成本甚至一年一此,很明显,cost rollup靠算盘是多么痛苦的事情,现在电算化了,只要你愿意你想怎么整都行,如果你吃饱没事,你天天可做STD cost est.可惜一个月只能release 一次.CKR1吧.

从技术角度,如果FG采用的是MAP,你甚至prod. Order actual cost就是发料到工单可取物料的plan cost 1,为此,你可很简单建立一物料FG01,MAP下面挂俩原料raw01 &raw02, 你定义一个valuation varaint让它第一时取的价格是物料主数据plan cost 1, 在Define Goods Received Valuation for Order Delivery)的定义的valuation variant选上你定义的valuation variant, 然后你做FG01的收货,是的,价格取的是物料主数据的plan cost 1 ,然后update到MAP price ,所以采用MAP的FG的valuation varaint的设置要多思考一下.

但是这样做不符合会计准则.

轻松一下,讲个合理合法的笑话.

一个侦探专业的学生迷上侦探,天天探些鸟事,期末考试后肯定是一蹋糊涂,于是白发苍苍的教授找到他你给我一个不让你不及格过关的合理合法理由.这人想了想回答说:

我来反政一下,你今年70多了,你LP才20刚出头,你们同居在一起,虽扯了结婚证,合法但不合理,我探知你LP在你出差时和一小伙住在一起,合理但不合法,你今天连俺这样的侦探高手就因为几个破书面知识没背好要不让及格,那时既不合理又不合法.

By period: 作业实际价格重估CON1/CON2 Prod. OH重估:CO42/CO43

By Order : 作业实际价格重估MFN1/CON2 Prod. OH重估:KGI2/CO43

By Sales Order : 作业实际价格重估VAN1 Prod. OH重估:VA44

[3]Valuation Varaint

相信前面大家对Valuation Variant已相当熟悉了,Z06,Z07在上面既然已经说明了,下面重点提下Y07,Z08评估变式.

Y07是用来组装件/半成品/成品(都有BOM)入库,这仅仅适用生产的物料(有BOM建立

)

采用移动平均价格的情形, 上面已经介绍过因为要使用批次管理必须使用移动平均价格,如果采用的标准价格,当然入库永远是按标准价格入库的.

如图7,Valuation variant Z08是俺老人家玩成品根据最后一次PO采购价估算成本的.

怎么玩这个国内恐怕真正玩的转的人不会很多(MD,呆会Xuebi又要从背后扔狗shi了,这年头,大哥俺吹吹牛都会有人不服),如果此物料对多供应商有很多Info record估计很多人连info

record怎么取价是死不瞑目,当然如果Source list有个fixed vendor就取那fixed的,如果一个fixed vendor都没有,有人就瞎猜了,俺source list maintain 顺序取,俺最后一次PO收货取,哈哈哈…怎么取?知道不, 今天没空不说

(

[4][5][8]

常用的生产订单包括production order和Co production order,通常前者都是有BOM和Routing的,如果没上PP,可以采用Co production order统计生产成本,这两者都是10型(请看KOT2,实际上包括各种内部订单,流程订单等在处理上应该使用了很多相同逻辑,正如condition技术用在MM/SD pricing, output,Costing sheet一样)的order,如果有的企业不上PP这样玩,那就太缺德了,你说你上SAP不就是为了显示您有钱吗?可是你偏要将一PP不上,太没有公德心了,要是大家都这样,人家PP顾问不要去扫马路?

[6]Tcode:KOT2,

CO01看到的是10 type的类型.

[7]

Define Cost-Accounting-Relevant Default Values

就是说如果CO01创建订单时type选ZP01,Plan 和Actual cost的costing varaint将选ZPP1和ZPP2(请回顾图3),

[9] Error message 管理

[10]

当生产的半成品,成品和组装件采用的是MAP时,plan cost/actual cost的valuation variant都是这个,它默认的是使用007 . 图 11将它改成Y07.

注意: 如果你SFG/FG采用的是MAP,而工单的plan/actual cost 是copy pp01, 006/007的valuation只针对其component, 除非你不做任何改变,SFG/FG plan/actual cost都是007(注意材料可是006) .

请回看图7,这是因为产品采用MAP的结果,

图7,取价是K:SO cost est . L:Mat info record. 2:STD price .这样SFG/FG采用MAP,计划成本和实际成本的取价通常取到STD price(因为K,除非这工单是make-to sales order并且在做了SO cost est.可惜没人这样做,L是采购价,不采购,所以通常是STD),一个特例是这时STD没有,很明显,你FG的plan cost就根本不出现在cost analysis 里面. 为此需要改正一下

Y07.

解释一下图12的取价,因为SFG/FG有为sales order生产的prod. Order,sales order是可做cost est.的,所以先取它,然后是取物料价格,就是MAP,如果你是make-to order,MD,而你又使用了nonvaluated stock(就是SFG/FG入库是save在EBEW->sales order stock),物料主数据的价格反映的是MBEW的东东,这样MAP就一直为0,所以你取STD,如有外购还可取INFO RECORD

(2)期末结算(Period-End Closing)

(一) Work in Process

90300900: Production Order RA - V

al Actual Co , Type 31.

Define valuation method ,实际上非常简单,如下图,对于production ordercost collector,TECO和DLV status 计算差异,PREL和REL计算WIP,相信打击已经熟悉.

在此步骤,如果你觉得自己已经是CO export,请使用Tcode :OKG3玩一玩,这样可能你更明白什么是WIP calculation at target cost 和actual cost 了.

你必须注意设置的cost element一定要是10位,如果你的科目不足10位一定要补前导0 .

Define Update

62000310: Prod. Order Settlement

14040010: WIP-Prod Ord Settlement

中国企业可使用P&L 生产成本-WIP,BS-WIP .有些人似乎总要讨论WIP究竟是P&L和BS,这点和中方的CO有一点点差异,作为软件,可能它必须这样做.

OKG6:弄个CO document number range .

(2) Variance Calculation

[1]Define Variance Key

Tcode:OKV1

如图1-[1],如果选上表示报废成本将从差异计算抽取出来不包含在总差异里,这样你可方便得分析那工单哪步操作发生的报废金额,为止,不想翻译了,你自己看.

当图1-[1]不选时,工单scrap耗费的料,作业将做为数量差异(quantity variance).这个好理解,需要100个,scrap了5个,actual 105,这5个相当于数量多投入.

图1-[2]选上表示差异计算的结果将写入COEPB:Variance line item ,然后你KOB3就可分析,否则KOB3就看不到什么

*SAP在多个module都会提示你要不要这个line item比如EC-PCA的1KEF,要line item SAP说会影响点performance,这毫无疑问.

[2]

OKVW:没什么只是将variance key给plant,然后建立物料时会自动带出,如需要可将这varaince key字段设置不可修改(MM module),开工单时也会从物料主数据带到工单.

[3]

Tcode:OKVG

既然[1]没用它,这也不要了,这些variance category是如何产生的?自己看帮助.

[4]

如上图,假设我做了个valuation variant for WIP(scrap都不用了,只有WIP可玩).

你说Full settlement 的production order WIP|Varaince = 实际生产成本投入和产出之差多好, ,你没不要玩的太复杂.

如你在此步不设置,差异计算的目标成本就使用标准成本.

你先看看这个,To be able to calculate work in process at target costs, the order must have the settlement type PER (Periodic). That is, the default values for the order type must be as follows:

 For product cost collectors the default rule must be STR For manufacturing orders the default rule must be PP2

通常在product cost by order里,WIP/scrap的计算都采用actual cost .

SE16: V_T399X_PC(IMG path:Mafacturing orders-> Define Cost-Accounting-Relevant Default Values for )Order Typ

你想计算WIP使用target cost,

灰了,为此你要Tcode OPL8那去改成PP2,请看结算篇的 例1 工单结算规则

靠,就为了个破WIP计算使用target cost ,这不有病自找麻烦吗?

[5]

让你彻底了解一下什么是目标成本.

定义0.1.2三版本的target version玩玩.

为此你必须在CO 的general version(Tcode:OKEVN)定,这个叫基本版本. 1.2,version 0是必须的,你必须保证如上图[2]是选上的表示可用于差异计算,同样[1]选上表示可用于WIP计算和RA 分析.

对0这俩必须选上,why?其实很简单,比如发料到prod. Order,当然有数据写如version 0(Technically, 实际数据呀,FI的数据一定以version 0存在CO 相关table .) .

看看versino 0.1.2长的怎么样.

Version 0 ,[3]上面说了差异不算,即使算了这空也会使用STD cost .version 0 control cost只能是actual cost,target cost只能是current std cost est .

V

ersion 1

Sames as verion 0

Version 2

SAP对version 0-3 的描述是.

The standard system supplies the following target cost versions:

 Target cost version 0 ()

The amount of the total variance generates a posting in Financial Accounting during settlement. For this version, select actual costs as the control costs and standard cost estimate as the target costs.

 Target cost version 1 ()

For this version you choose actual costs as the control costs and planned costs as the target costs.

 Target cost version 2()

With target cost version 2, the costs from the preliminary order cost estimate are interpreted as control costs.

For this version, select planned costs as the control costs and current cost estimate as the target costs. You cannot calculate planning variances for the product cost collector.

 Target cost version 3 (production variance of the period)

You compare the planned costs of the period calculated on the basis of an alternative (such as a ) with the actual costs of the period on the basis of the yield delivered to stock in the period.

The base quantity for variance calculation is the yield.

For this version, you choose the actual costs as the control costs and the alternative material cost estimate as the target costs. To determine the alternative material cost estimate, enter a costing variant and choose a costing version.

请关于target cost version请看例1.工单成本和差异结算分析

说个笑话.一天,搅肉机,YZZY,Sherky三人在路上看见CO,仨小子想,靠,今天要好好宰宰,就上去抓CO,CO一看不对劲掉头就跑,最后跑到屠夫的肉摊径直就躺了上去,三人大惊,说,咱也是宰你怎么就怎么不给面子. CO回答:你们这三个懒家伙,连刀都不磨快,落在你们手里,止不定会受怎样的折磨,到不如让屠夫一刀来个痛快..

例1.工单成本和差异结算分析

Plan生产成本总投入:130.32(125.88+2.90_1.54)

在variance calculation 的Version 0里,product cost by order的actual cost就是control cost 换个layout 看,Act. Costs allcated即图例1的所有的生产成本投入.

.

在product cost by order差异计算时,一般你使用实际

KKAX选012三version .看看1

在看看2.Plan cost

你看到的version 0,1,2差异不同,很可惜,version 1, 2是用来分析的,只有version 0允许结算. 回答一个问题.就是为什么需要target cost ?

答:即使你production order 使用的是FUL, 你的差异一定等于实际投入和产出之差,但是target cost是必须的,就是你可能一定要做每月的STD cost est.否则可能计算不了差异. 看看这些公式

Variances = actual debit - WIP - actual credit.如果你把scrap分出来,formula是. Variances - scrap = actual debits - WIP - scrap - actual credits,

对于Prod. Order,WIP和差异绝不会同时存在(对cost collector, 只有一个 backflush reporting point,绝不会有WIP存在,对于俩或以上backflush 报告点的cost collector ,比如你在第一reporting point 报10个,第2点FG入库报7个,Under this case,靠,WIP可能和差异同时存在于那个cost collector order )

于是对于prod. Order 上面的公式简化为.

Variances = actual debit - actual credit.

为什么要Target cost?

再看差异计算的公式:

Variances = control costs - target costs.

Input side(生产成本投入方) varainace = control cost (看看variance Version 0就是actual cost实际的生产成本投入) – target cost

Output side var .= target cost – actual cost allocated(生产成本产出) .

靠,将俩相加就是.

Total variance = input variant + output var = control cost –target cost + target cost – actual cost allocated .

MD,简单一下,对于FUL 的prod . total variance 就是control cost -0 actual cost allocated = actual prod order 投入- actual prod . order output .

程序的设计逻辑就是这样弄的.如果你号称中国ERP设计高手?你想一下要target cost在中间折腾干啥? 我知道但是我不告诉你…

最后需要说明的是对FUL settled的prod. Order,那个target cost似乎需要settle 才能显示出来.

如在cal. Var没有std cost est.差异结算不下去.

贴一小图

所以,不要老simply说target cost就是计划成本,然后又说计划成本就是标准成本….这样会忽优死人的.. 如果到现在你还不明白plan cost, actual cost ,target cost ,control cost ,赶紧买屠刀去.. 忙,不想浪费时间整理..

关于target cost更详细的请看在cost collector的请看Product cost by period篇.

总之一句话,最有效的对付SAP的方法就是屠宰法,你抓住人家的设计思想路,那再难也变不到哪里去..

(3) Settlement

如图1,

[1]Create Settlement Profile

Settlement rule在内部订单已阐述过,在此着重描述和工单关联的部分,如图2

.

图2-[1] Full settled意思是工单结算后的balance必须为0,否则当你关闭或删除此单后就会有

错误消息,要看工单的结算后balance请使用CO03->菜单goto->Cost->balance就可.

图2-[2]Allocation结构Allocation我不好说中文是啥意思,因为国内有些 User好象喜欢非要

将这类术语的区别给整个水落石出的,Allocation(如这也翻译成分配的话?)包括distribution(常说的分配)和assessment(分摊),这俩者区别在此不阐述.

工单的结算规则要不要Allocation Structure,如果你家的任何工单将只结算到MAT,可

以不要(参考例3 工单结算Allocation问题),如工单还有它Settlement receiver(比如

CTR,G/L)等就一定要定义Allocation structure.

* 注意如果你家工单只是settle到物料,可不设置allocation structure

图2-[3]Source struture表示sender发生的成本按Cost element(interval/Group)结算多个

Receiver,即那些cost element承载的费用到一指定Receiver,这样将相关的生产成本进一步细分并能指定结算接受方,通常用于联成品(Joint Product,联产品在化工行业普遍使用)结算.

双击Settlement rule检查明细时你可在Distribution rule看到Source assignment字段.

图2- [4]KEI1定义的PA传输架构,通常使用的PA传输结构有FI,从MM/SD/FI等模块通过成

本要素直接post数据到PA table,A1 Structure(或许是自定义的其他名字)传输的是生

产成本结算的各种差异,如需要可再自定义其它传输结构,请看例4工单结算CO-PA传输结构问题,更多请看CO-PA相关配置.

图2-[5] 对于工单,即使你设置魔认的object type是PSG也不会生效,工单Settlement rule通常默认的Receiver(Object type)是MAT(工单生产入库的物料)请看例1 工单结算规则.

图2-[6] 如果非Receiver 合计非100%在保存工单时会有警告提示. 图2-[7] 选上表示会自动决定一Distribution rule(MAT,Tcode:OPL8可知),否则就不会,这个一

定要选上,MAT是不能手工加到工单上的,请看例1 工单结算规则. 图2-[8] 按比例结算

图2-[9] 按固定数量结算,一个Receiver结算方式需唯一,要么按比例要么按固定数量,

在工单好象只能是按%,Full settlement也限制了所有的Receivers的%加起必须是100,否则在结算时就会有问题.

图2-[10]差异到CO-PA,KEI1必须定义工单结算差异传输到PA的传输结构.

图2-[11]表示允许的有效结算接受方,图中不允许到G/L Account. 图2-[12]结算所产生的凭证类型SA 图2-[13]至多只允许3个Receivers

图2-[14]结算凭证必须在3自然月后才可被Archive/Del,如果被删除,就不能在Reverse.

[2]Create Settlement Cost Elements

建立结算成本要素,两类一是为外部结算,即通常所说的从FI posting过来的Cost,另一类是用于CO内部结算, 如果结算

Internal settlement: Cost element category 21 (secondary). External settlement: Cost element category 22 (primary).

[3]Create Allocation Structure

如图3,A1,A2 structure是SAP默认的,A1包含多Assginment,将Source cost element细分而已,A2则只有一Assignment行,source是Cost element group INT(I此group包含了所有的cost element),不关是否分割,在source里一定要将所有的cost element包括

.

如图4,之前使用OKKS切换Controlling area到0001,看图4[3],G/L Account改成By cost

element,通常receiver Category CTR和G/L特别在内部订单结算很常用,除了可使用专用类的settlement cost element外(对CTR,通常是21型的次级成本要素,对G/L通常是22型的初级成本要素),Settlement cost element也可使用普通的费用类cost element,使用前请使用OBA5将K4 004和4 010消息设成警告

.

如图5[1],将CTR的settlement cost element设置成type为1的一般费类cost element, 图5[2]表示G/L的settlement cost element就是结算规则输入科目本身.

[4]Create Source Structure

一个source structure包含多行Assignment,给每个Assignment行分配Source(Cost element/Group).设置很简单.

[5]Create PA Transfer Structure

关于PA transfer structure详细请看CO-PA配置,非常遗憾的是,SAP默认是将似乎是将所有的差异全部传输到PA模块,而非按当期的销售数量除当期全部生产数量或其他类似比例传输, 这实际类似一个老话题,就是没上ML差异如何合理分配.

[6]Maintain Settlement Doc. No. Range

定义结算凭证的Number range,要产生结算凭证KANK必须同时定义了CO凭证的Number range .

例1 工单结算规则

假设工单使用的是上面图2定义的ZP01 Settlement Profile .

多数情况下我们可能只需要将工单全部结算到物料就可以,Category MAT是你在建立工单时

就自动带出的,不能手工增减,这样一个case,假设ZP01的Valid Receiver Material是禁止的,开工单会有警告保存工单后,Category MAT是再也不能加上的,以后结算就会出问题,实际情况这样的case应该很少.

假设一Pilot run工单(新产品试产),可能需要将部分成本结算到其它catetory,如图例1,假设想将另10%的生产成本分别结算到研发成本中心和试产人工费用中去,在图2的ZP01加上Valid Receiver G/L,让我们来看图例1,

图例1[1] Receiver接受工单Sender方成本的百分比,如总的百分比不是100%,将会有什么情况发生?因为ZP01是要求Full settled,在KO88(CO88)就会有错误提示. 图例1[2]也是一个比例关系,和[1]不能同时输入.

图例1[3]给receiver输入一固定的amount,[1][2][3]你只能输入一项,要么给一个百分比要么给

一固定的Amount,可对工单这种order来说,因为Settlement type是FULL,所以只能输入%项并且个Receiver总计必须是100%.

图例1[4]ZP01 settlement profile最多只允许3个receiver(请看图2[13]

).

为什么category MAT在开工单能自动带出呢?

我并不认为CO内外部支持顾问一定要多么熟悉PP模块(当然有时间和精力去钻研更好),但是有些PP相关配置还是要熟悉的,打开Tcode OPL8(Define order type-dependent parameters,IMG Path:Production->Shop Floor Control->Master Data->Order),看到如图例2画面

图例2[1]显示了Order type ZP01的default distribution rule是PP1(只能选PP1->Full settlement和PP2->Periodic settlement),为什么ZP01的default rule只能是PP1/PP2呢?使用KOT2你能

看到ZP01的order category 是10->PP Production order,属于category 10的order type的default type只能是PP1/PP2.SAP默认将此Field设成必选.

PP2是Settlement by Period,通常用于期间生产(生产成本归集使用一种特殊的内部订单Cost collector)结算方式.

图例2[2] 再次显示CO01建立ZP01型工单时工单计划/实际值所使用的Cost Variant,如想知道计划/实际值是如何取价的,查看ZPP1/ZPP2 Costing variant的Valuation variant就知.

例2 Reverse结算问题

可以reverse以前任何期间的结算

,并非受物料期间的限制最多只能是前一期间,当然相信你总不至于要将上个年度的结算给reverse,reverse的settlement doc.的posting period通常当然在本期间,Settlement period选你所需要reverse的工单的历史结算期间就可.

在此例中,注意posing period和settlement period区别就可.

例3工单结算Allocation问题

通常出现Allocation structure错误就应该检查它了,图5中设置的G/L category使用了by cost element,假设某工单的settlement rule是将10%的生产成本结算到某费用类科目,如图例4,

因为62000370(1类型的费用)不能用于结算90101000 43类的作业成本,于是出现图例3的错误提示,更改Allocation structure,设置一专门settlement cost element 61000199(类型22

)

看看结算凭证.如图例6,类型SA,这是Settlement profile里设置的, 图例6[2]-[3]形成分录 Dr:62000370 (前台在settlement rule里输入的,如图例4)

Cr:61000199 (后台allocation structure里配置的22型结算成本要素

)

例4工单结算CO-PA传输结构问题

例5 Posting reverse的价格变化 例6 自动建立Settlement rule

在例1中你已经知道MAT是如何自动带出来的,如果希望自动带出其它Settlement,需要使用Enhancement .

CMOD: COOM0003-> EXIT_SAPLKOBS_001-> ZXKOBSU01,ZXKOBSU01的逻辑如下

表1.

将ZXKOBSU01和COOM0003同时激活.

AUAK|AFUK|AFKO|AFPO|AFVC(Operation within an Order)|AFVU(DB structure of the user fields of the operati)|AFVV(DB structure of the quantities/dates/values in the op)

COBRB| Distribution Rules Settlement Rule Order Settlem AUAB:Settlement Document:Distribution Rules CACS_STMRU:Ind Settlement Rule

COBRA:Settlement RUle for Order Settlement

COBRB:Distribution RUles Settlement Rule ORder Settlement T054A:

TCN08:Strategies for Determinning a settlement Rule

TSR01:Auto Generation of Settlement rules

TSR0E:Strategy for auto. generation of settlement rules

COSB保存计算WIP.variance 的结果,COSBD 是KO88的结果. 如果COSBD和COSB记录对不上就不能关闭工单.,错误消息 啊AUAK是settlement doc .

例7 简单Review生产订单的逻辑

未整理.

CO01:Fetch data from BOM,Production version Related tables:

1 BOM Header/Item : STKO/stop MAST,STZU

2 使用production version to choose 生产版本if multi-bom MKAT 3 Routing/work center/capacity tables: CRHD/CRFH/CRHH/CRHs/CRCA/CRC0

4 Order status :JSTo/JSEG(所有order status都一样,所有的order一定在AUFK,所以的各种order ,IO,PM order,process order一定share很多处理逻辑从设计思想这样将简单化,不但status,并且作业价格重估,差异,WIP计算,settlement相信都一样)

5工单的结算规则在COBRA/COBRB表,似乎仅此两表

6 工单item 自动产生reservation,可by 它(MB1A/MIGO 261)发料,表RKPF/RESB

7 AFKO/AFPO:order header/item . AUFK,AUFM (这个比较重要,需要提出的是你在工单菜单goto->documented goods movements看到的就是这表的,而非MKPF/MSEG,并且AUFM的amount…) 8 COSL:Co object:Activity totals COSL-WRTTP: 01 plan

-04:actual 实际值在COEPL表中

9 COBK:CO object:CO header COEP:line item (by period

COEPL :line item for act. Type(by period)

10.AFVC:Opertion within an order (Routine data) AFVU:

AFFL: Work order sequence

11.如果你结算差异,结果似乎在COSB保存计算WIP.variance 的结果,COSBD 是KO88

的结果.

整理下前后台的设计,弄个SA,SD doc出来….

如果COSBD和COSB记录对不上就不能关闭工单.,错误消息

结算差异科目的取得,其中一个是GBB(AUF)另一个是PRD(PRF)->Tcode OBYC,更详细请看:SAP真TMD容易系列SAP科目自动设置之OBYC , AUF通常是生产成本产出, PRF弄个PPV(生产订单差异科目),SAP无非是将科目弄到一些表然后account deter.时去抓,看看,中国人就喜欢hard-code .

差异计算activity 是KVAR,settlement是不是KOAO?acitvity就是,这你都不知道,不说了…

2 Product Cost by Order

(1)制造订单(Manufacturing Orders)

SAP提供了三种典型的生产方式:重复制造,按生产订单和按销售订单(订货组装/订货生产)生产方式,对应三种生产成本归集方式,这三种方式除了在计算成本上用到的成本变式不大同以外,在计算WIP,差异和计算规则上逻辑有很多相似之处.

前言:在三个月前刚学习CO之时,我就一直想抽空写点

的关于CO-PC的东西,没办法,现在年轻人都喜欢这个,

你跟它讲个破理论就是讲了一百遍,现在什么时代了,他还会回头问你一些社会主义初级阶段的问题.

生产订单包含材料,所需资源和成本等信息,SAP提供了强大的生产订单处理能力,

1.在一生产订单里可产生多个相互关联的成品(Co-product,和By-product不同,后者通常指unassembly工单拆料)并可通过allocation structure在个产品成本之间分配发生的各种生产费用.

2.在生产订单可指定某个组件的外包工序,你甚至可在工单随便插入一些额外的center .

3.拆卸工单(比如将回收产品拆料),维修工单的处理,你可以建立一个单独的返修订单直接归属到最初的生产订单上,这个你只需要CO07建立一不带default settlement rule MAT然后加个ORD指向原工单这些费用就能结算到原prod order,如prod order没close,维修料工直接在弄上去更简单。,你也可以在现有的订单上插入特定的返修工序。

4.对于条形码的支持和SFCS control我就不大敢恭维,通常大都企业会另开发.这样的开发6年前我经常干.

5.发料

(1)分步MB1A(MIGO)发, MIGO收

(2)Backflush和order confirmation

为了减少零部件和原材料物料控制的间接费用,“倒冲”是一种值得推荐的程序,你甚至可来了料就往一backflush sto. Loc .送.成品入库自动扣减原料

你可以在工艺路线的物料分配中设倒冲标示(backflushing indicator) 。如果一个物料总是用倒冲法,你可以在物料主文件记录中规定倒冲参数。你还可以根据你所用的工作中心进行倒冲。

同一个公司可能采用不同的生产方式,你没有必要太过界于一些概念的东西,符合你企业流

如图1,[1]-[10]项是基于图1-[1]-图1-[10]的.

[1]Basic Settings

请参考成本核算单Costing sheet配置.

[2]Cost Variants for Manufacturing Orders

Tcode:OPL1

Costing variant的作用在Product Cost Planning的标准成本估算变式配置里已有详细阐述,工单使用的成本变式的和标准成本成本变式的配置逻辑相同(当然也包括其它任何估算变式),如图2,ZPP1,ZPP2是Copy PPP1和PPP2的,通常配置不就是Copy SAP提供的标准东西

再根据实际业务需求修改来修改去吗

?

图3是一合成图,将SAP 默认的PPP1,PPP2和自定义的ZPP1和ZPP2四个成本变式集中在一起,ZPP1,ZPP2使用了自定义的评估变式Z06和Z07(如图3-[3]和图3-[4]).

图4显示了PPP1,PPP2,ZPP1,ZPP2成本变式对应的006,007,Z06和Z07评估变式,在此特意显示出Material Val.栏的物料取价策略(读者当然同样要注意检查作业类型,外包,Overhead栏的相关设置,比如在Overhead栏如果使用了Costing sheet必须确定有costing sheet)

从图4中[3][4]可看到Z06,Z07和SAP default的007的取价策略都是根据物料主数据价格确定的,并没有第二个取价策略,如物料主数据没维护价格,就会取到0,当Price取到0时,CO人员就能发现,从这点上本人觉得还是只有一个好(如果需要你甚至可找到相关User exit判断如

有某物料未维护价格就产生错误提示).

看看SAP default 的006,取价顺序先是物料标准价格,如为0或未维护,然后就采用移动平均

价格,下面讨论一下.

(1) 本人现公司几乎所有物料都采用MAP(移动平均价),包括FG,使用MAP+Batch+Serial Number管理.而一些组件却使用了标准价格(因为有回收件),于是CO人员经常被物料价格弄的糊涂.

回到取价策略(如图4),其实可简单这么认为,7是Legal price(会计核算价格),你采用的price control是S,Legal price就是S,price control是V,Legal price就是V. 显然Valuation variant 006不是,它先取STD price,然后是MAP price,它不去管你采用何种Price control.

(2)现在有人说,作者呀,你似乎并没有领悟SAP CO-PC的精髓,况且你物料使用的是MAP,在我这物料却全部使用STD price,这完全不同嘛.

我回答: SAP还有精髓?不会吧,我想你一定是弄错了,我杀过很多猪,只知道骨髓,我知道一 般猪排里好吃的骨髓不多,你要吃骨髓就找猪头啃,可是,如不消化,自己就会成Zhu头. 看看图5,相信很多CO用户还是没弄明白标准成本,计划成本,目标成本,实际成本究竟是 怎么回事,它们关系如何?

你跳到第[7]步Define Cost-Accounting-Relevant Default Values for Order Typ(如图10),不妨这样假设,假设你就使用Order type PP01,第7步你能发现PP01类生产订单的计划成本使用的成本变式是PPP1(包含估算变式006),工单实际成本核算则使用PPP2(007),计划成本在保存工单时计算, 就是说你工单(Order Type PP01)的

材料计划成本= 材料计划价格(先STD再MAP,Valuation variant 006)*材料计划数量(Bom Usage Qty*工单数量,对生产的成品就是工单数量)

材料实际成本=材料实际数量*实际价格(这容易理解,对PP01类工单取价是007,就是抓取物了的Legal price).

作业和生成相关费用(Prod.OH)的计划成本和实际成本呢?

因为此两种费用的承载使用的是次级成本要素,作业使用的是43(Internal Activity Allocation)类,如果你企业使用了Costing sheet,Prod. OH则使用41型成本要素.

所以工单的作业成本和Prod. OH的

作业计划成本= 作业计划价格*计划数量

作业实际成本 = 作业价格*实际数量

作业实际成本的作业价格通常是要重估的,如果愿意,你甚至可不重估,就使用计划价格.

***必须特别强调的是,你要牢记各种情况,假设工单生产的FG也是MAP,它的plan cost和actual cost一样是通过valuation variant(图10) 取得的,这和原料不同,请看Define Goods Received Valuation for Order Delivery)的定义的valuation variant,除非它恰好和006/007相似.就是说这个.实际上它不仅仅是FG入库的actual cost valuation variant,也是FG plan cost的valuation strategy .如果很幸运的你的成品是STD price,当然plan cost = STD Price *工单数量,如果材料也是STD price,材料的plan cost=std price * BOM quantity *工单数.

不要把计划成本和标准成本混为一谈.只能在SAP中,标准成本是实现计划成本的一种选择,你看看Valuation variant 006的第一取价策略(STD price)就知道,当你工单的plan cost取价valuation varaint采用006(先取STD price)时,工单的计划成本就等于标准成本估算后的标准单价*计划数量(这样你在工单).

象图4作者Prod order plant/actual cost 的valuation varinat是Z06和Z07(取价都是物料主数据价格),就是说开工单时plant cost抓取的是那时刻的物料价格,如果是MAP,就是那时刻的MAP价格. 有人问,这时刻在变吗?是的,这样的plan cost你CO02每计算一次都可能立即随着变化, 那这样的prod order plan cost不到好玩哟. User喜欢这样玩你能咋的.

在手工年代,标准成本甚至一年一此,很明显,cost rollup靠算盘是多么痛苦的事情,现在电算化了,只要你愿意你想怎么整都行,如果你吃饱没事,你天天可做STD cost est.可惜一个月只能release 一次.CKR1吧.

从技术角度,如果FG采用的是MAP,你甚至prod. Order actual cost就是发料到工单可取物料的plan cost 1,为此,你可很简单建立一物料FG01,MAP下面挂俩原料raw01 &raw02, 你定义一个valuation varaint让它第一时取的价格是物料主数据plan cost 1, 在Define Goods Received Valuation for Order Delivery)的定义的valuation variant选上你定义的valuation variant, 然后你做FG01的收货,是的,价格取的是物料主数据的plan cost 1 ,然后update到MAP price ,所以采用MAP的FG的valuation varaint的设置要多思考一下.

但是这样做不符合会计准则.

轻松一下,讲个合理合法的笑话.

一个侦探专业的学生迷上侦探,天天探些鸟事,期末考试后肯定是一蹋糊涂,于是白发苍苍的教授找到他你给我一个不让你不及格过关的合理合法理由.这人想了想回答说:

我来反政一下,你今年70多了,你LP才20刚出头,你们同居在一起,虽扯了结婚证,合法但不合理,我探知你LP在你出差时和一小伙住在一起,合理但不合法,你今天连俺这样的侦探高手就因为几个破书面知识没背好要不让及格,那时既不合理又不合法.

By period: 作业实际价格重估CON1/CON2 Prod. OH重估:CO42/CO43

By Order : 作业实际价格重估MFN1/CON2 Prod. OH重估:KGI2/CO43

By Sales Order : 作业实际价格重估VAN1 Prod. OH重估:VA44

[3]Valuation Varaint

相信前面大家对Valuation Variant已相当熟悉了,Z06,Z07在上面既然已经说明了,下面重点提下Y07,Z08评估变式.

Y07是用来组装件/半成品/成品(都有BOM)入库,这仅仅适用生产的物料(有BOM建立

)

采用移动平均价格的情形, 上面已经介绍过因为要使用批次管理必须使用移动平均价格,如果采用的标准价格,当然入库永远是按标准价格入库的.

如图7,Valuation variant Z08是俺老人家玩成品根据最后一次PO采购价估算成本的.

怎么玩这个国内恐怕真正玩的转的人不会很多(MD,呆会Xuebi又要从背后扔狗shi了,这年头,大哥俺吹吹牛都会有人不服),如果此物料对多供应商有很多Info record估计很多人连info

record怎么取价是死不瞑目,当然如果Source list有个fixed vendor就取那fixed的,如果一个fixed vendor都没有,有人就瞎猜了,俺source list maintain 顺序取,俺最后一次PO收货取,哈哈哈…怎么取?知道不, 今天没空不说

(

[4][5][8]

常用的生产订单包括production order和Co production order,通常前者都是有BOM和Routing的,如果没上PP,可以采用Co production order统计生产成本,这两者都是10型(请看KOT2,实际上包括各种内部订单,流程订单等在处理上应该使用了很多相同逻辑,正如condition技术用在MM/SD pricing, output,Costing sheet一样)的order,如果有的企业不上PP这样玩,那就太缺德了,你说你上SAP不就是为了显示您有钱吗?可是你偏要将一PP不上,太没有公德心了,要是大家都这样,人家PP顾问不要去扫马路?

[6]Tcode:KOT2,

CO01看到的是10 type的类型.

[7]

Define Cost-Accounting-Relevant Default Values

就是说如果CO01创建订单时type选ZP01,Plan 和Actual cost的costing varaint将选ZPP1和ZPP2(请回顾图3),

[9] Error message 管理

[10]

当生产的半成品,成品和组装件采用的是MAP时,plan cost/actual cost的valuation variant都是这个,它默认的是使用007 . 图 11将它改成Y07.

注意: 如果你SFG/FG采用的是MAP,而工单的plan/actual cost 是copy pp01, 006/007的valuation只针对其component, 除非你不做任何改变,SFG/FG plan/actual cost都是007(注意材料可是006) .

请回看图7,这是因为产品采用MAP的结果,

图7,取价是K:SO cost est . L:Mat info record. 2:STD price .这样SFG/FG采用MAP,计划成本和实际成本的取价通常取到STD price(因为K,除非这工单是make-to sales order并且在做了SO cost est.可惜没人这样做,L是采购价,不采购,所以通常是STD),一个特例是这时STD没有,很明显,你FG的plan cost就根本不出现在cost analysis 里面. 为此需要改正一下

Y07.

解释一下图12的取价,因为SFG/FG有为sales order生产的prod. Order,sales order是可做cost est.的,所以先取它,然后是取物料价格,就是MAP,如果你是make-to order,MD,而你又使用了nonvaluated stock(就是SFG/FG入库是save在EBEW->sales order stock),物料主数据的价格反映的是MBEW的东东,这样MAP就一直为0,所以你取STD,如有外购还可取INFO RECORD

(2)期末结算(Period-End Closing)

(一) Work in Process

90300900: Production Order RA - V

al Actual Co , Type 31.

Define valuation method ,实际上非常简单,如下图,对于production ordercost collector,TECO和DLV status 计算差异,PREL和REL计算WIP,相信打击已经熟悉.

在此步骤,如果你觉得自己已经是CO export,请使用Tcode :OKG3玩一玩,这样可能你更明白什么是WIP calculation at target cost 和actual cost 了.

你必须注意设置的cost element一定要是10位,如果你的科目不足10位一定要补前导0 .

Define Update

62000310: Prod. Order Settlement

14040010: WIP-Prod Ord Settlement

中国企业可使用P&L 生产成本-WIP,BS-WIP .有些人似乎总要讨论WIP究竟是P&L和BS,这点和中方的CO有一点点差异,作为软件,可能它必须这样做.

OKG6:弄个CO document number range .

(2) Variance Calculation

[1]Define Variance Key

Tcode:OKV1

如图1-[1],如果选上表示报废成本将从差异计算抽取出来不包含在总差异里,这样你可方便得分析那工单哪步操作发生的报废金额,为止,不想翻译了,你自己看.

当图1-[1]不选时,工单scrap耗费的料,作业将做为数量差异(quantity variance).这个好理解,需要100个,scrap了5个,actual 105,这5个相当于数量多投入.

图1-[2]选上表示差异计算的结果将写入COEPB:Variance line item ,然后你KOB3就可分析,否则KOB3就看不到什么

*SAP在多个module都会提示你要不要这个line item比如EC-PCA的1KEF,要line item SAP说会影响点performance,这毫无疑问.

[2]

OKVW:没什么只是将variance key给plant,然后建立物料时会自动带出,如需要可将这varaince key字段设置不可修改(MM module),开工单时也会从物料主数据带到工单.

[3]

Tcode:OKVG

既然[1]没用它,这也不要了,这些variance category是如何产生的?自己看帮助.

[4]

如上图,假设我做了个valuation variant for WIP(scrap都不用了,只有WIP可玩).

你说Full settlement 的production order WIP|Varaince = 实际生产成本投入和产出之差多好, ,你没不要玩的太复杂.

如你在此步不设置,差异计算的目标成本就使用标准成本.

你先看看这个,To be able to calculate work in process at target costs, the order must have the settlement type PER (Periodic). That is, the default values for the order type must be as follows:

 For product cost collectors the default rule must be STR For manufacturing orders the default rule must be PP2

通常在product cost by order里,WIP/scrap的计算都采用actual cost .

SE16: V_T399X_PC(IMG path:Mafacturing orders-> Define Cost-Accounting-Relevant Default Values for )Order Typ

你想计算WIP使用target cost,

灰了,为此你要Tcode OPL8那去改成PP2,请看结算篇的 例1 工单结算规则

靠,就为了个破WIP计算使用target cost ,这不有病自找麻烦吗?

[5]

让你彻底了解一下什么是目标成本.

定义0.1.2三版本的target version玩玩.

为此你必须在CO 的general version(Tcode:OKEVN)定,这个叫基本版本. 1.2,version 0是必须的,你必须保证如上图[2]是选上的表示可用于差异计算,同样[1]选上表示可用于WIP计算和RA 分析.

对0这俩必须选上,why?其实很简单,比如发料到prod. Order,当然有数据写如version 0(Technically, 实际数据呀,FI的数据一定以version 0存在CO 相关table .) .

看看versino 0.1.2长的怎么样.

Version 0 ,[3]上面说了差异不算,即使算了这空也会使用STD cost .version 0 control cost只能是actual cost,target cost只能是current std cost est .

V

ersion 1

Sames as verion 0

Version 2

SAP对version 0-3 的描述是.

The standard system supplies the following target cost versions:

 Target cost version 0 ()

The amount of the total variance generates a posting in Financial Accounting during settlement. For this version, select actual costs as the control costs and standard cost estimate as the target costs.

 Target cost version 1 ()

For this version you choose actual costs as the control costs and planned costs as the target costs.

 Target cost version 2()

With target cost version 2, the costs from the preliminary order cost estimate are interpreted as control costs.

For this version, select planned costs as the control costs and current cost estimate as the target costs. You cannot calculate planning variances for the product cost collector.

 Target cost version 3 (production variance of the period)

You compare the planned costs of the period calculated on the basis of an alternative (such as a ) with the actual costs of the period on the basis of the yield delivered to stock in the period.

The base quantity for variance calculation is the yield.

For this version, you choose the actual costs as the control costs and the alternative material cost estimate as the target costs. To determine the alternative material cost estimate, enter a costing variant and choose a costing version.

请关于target cost version请看例1.工单成本和差异结算分析

说个笑话.一天,搅肉机,YZZY,Sherky三人在路上看见CO,仨小子想,靠,今天要好好宰宰,就上去抓CO,CO一看不对劲掉头就跑,最后跑到屠夫的肉摊径直就躺了上去,三人大惊,说,咱也是宰你怎么就怎么不给面子. CO回答:你们这三个懒家伙,连刀都不磨快,落在你们手里,止不定会受怎样的折磨,到不如让屠夫一刀来个痛快..

例1.工单成本和差异结算分析

Plan生产成本总投入:130.32(125.88+2.90_1.54)

在variance calculation 的Version 0里,product cost by order的actual cost就是control cost 换个layout 看,Act. Costs allcated即图例1的所有的生产成本投入.

.

在product cost by order差异计算时,一般你使用实际

KKAX选012三version .看看1

在看看2.Plan cost

你看到的version 0,1,2差异不同,很可惜,version 1, 2是用来分析的,只有version 0允许结算. 回答一个问题.就是为什么需要target cost ?

答:即使你production order 使用的是FUL, 你的差异一定等于实际投入和产出之差,但是target cost是必须的,就是你可能一定要做每月的STD cost est.否则可能计算不了差异. 看看这些公式

Variances = actual debit - WIP - actual credit.如果你把scrap分出来,formula是. Variances - scrap = actual debits - WIP - scrap - actual credits,

对于Prod. Order,WIP和差异绝不会同时存在(对cost collector, 只有一个 backflush reporting point,绝不会有WIP存在,对于俩或以上backflush 报告点的cost collector ,比如你在第一reporting point 报10个,第2点FG入库报7个,Under this case,靠,WIP可能和差异同时存在于那个cost collector order )

于是对于prod. Order 上面的公式简化为.

Variances = actual debit - actual credit.

为什么要Target cost?

再看差异计算的公式:

Variances = control costs - target costs.

Input side(生产成本投入方) varainace = control cost (看看variance Version 0就是actual cost实际的生产成本投入) – target cost

Output side var .= target cost – actual cost allocated(生产成本产出) .

靠,将俩相加就是.

Total variance = input variant + output var = control cost –target cost + target cost – actual cost allocated .

MD,简单一下,对于FUL 的prod . total variance 就是control cost -0 actual cost allocated = actual prod order 投入- actual prod . order output .

程序的设计逻辑就是这样弄的.如果你号称中国ERP设计高手?你想一下要target cost在中间折腾干啥? 我知道但是我不告诉你…

最后需要说明的是对FUL settled的prod. Order,那个target cost似乎需要settle 才能显示出来.

如在cal. Var没有std cost est.差异结算不下去.

贴一小图

所以,不要老simply说target cost就是计划成本,然后又说计划成本就是标准成本….这样会忽优死人的.. 如果到现在你还不明白plan cost, actual cost ,target cost ,control cost ,赶紧买屠刀去.. 忙,不想浪费时间整理..

关于target cost更详细的请看在cost collector的请看Product cost by period篇.

总之一句话,最有效的对付SAP的方法就是屠宰法,你抓住人家的设计思想路,那再难也变不到哪里去..

(3) Settlement

如图1,

[1]Create Settlement Profile

Settlement rule在内部订单已阐述过,在此着重描述和工单关联的部分,如图2

.

图2-[1] Full settled意思是工单结算后的balance必须为0,否则当你关闭或删除此单后就会有

错误消息,要看工单的结算后balance请使用CO03->菜单goto->Cost->balance就可.

图2-[2]Allocation结构Allocation我不好说中文是啥意思,因为国内有些 User好象喜欢非要

将这类术语的区别给整个水落石出的,Allocation(如这也翻译成分配的话?)包括distribution(常说的分配)和assessment(分摊),这俩者区别在此不阐述.

工单的结算规则要不要Allocation Structure,如果你家的任何工单将只结算到MAT,可

以不要(参考例3 工单结算Allocation问题),如工单还有它Settlement receiver(比如

CTR,G/L)等就一定要定义Allocation structure.

* 注意如果你家工单只是settle到物料,可不设置allocation structure

图2-[3]Source struture表示sender发生的成本按Cost element(interval/Group)结算多个

Receiver,即那些cost element承载的费用到一指定Receiver,这样将相关的生产成本进一步细分并能指定结算接受方,通常用于联成品(Joint Product,联产品在化工行业普遍使用)结算.

双击Settlement rule检查明细时你可在Distribution rule看到Source assignment字段.

图2- [4]KEI1定义的PA传输架构,通常使用的PA传输结构有FI,从MM/SD/FI等模块通过成

本要素直接post数据到PA table,A1 Structure(或许是自定义的其他名字)传输的是生

产成本结算的各种差异,如需要可再自定义其它传输结构,请看例4工单结算CO-PA传输结构问题,更多请看CO-PA相关配置.

图2-[5] 对于工单,即使你设置魔认的object type是PSG也不会生效,工单Settlement rule通常默认的Receiver(Object type)是MAT(工单生产入库的物料)请看例1 工单结算规则.

图2-[6] 如果非Receiver 合计非100%在保存工单时会有警告提示. 图2-[7] 选上表示会自动决定一Distribution rule(MAT,Tcode:OPL8可知),否则就不会,这个一

定要选上,MAT是不能手工加到工单上的,请看例1 工单结算规则. 图2-[8] 按比例结算

图2-[9] 按固定数量结算,一个Receiver结算方式需唯一,要么按比例要么按固定数量,

在工单好象只能是按%,Full settlement也限制了所有的Receivers的%加起必须是100,否则在结算时就会有问题.

图2-[10]差异到CO-PA,KEI1必须定义工单结算差异传输到PA的传输结构.

图2-[11]表示允许的有效结算接受方,图中不允许到G/L Account. 图2-[12]结算所产生的凭证类型SA 图2-[13]至多只允许3个Receivers

图2-[14]结算凭证必须在3自然月后才可被Archive/Del,如果被删除,就不能在Reverse.

[2]Create Settlement Cost Elements

建立结算成本要素,两类一是为外部结算,即通常所说的从FI posting过来的Cost,另一类是用于CO内部结算, 如果结算

Internal settlement: Cost element category 21 (secondary). External settlement: Cost element category 22 (primary).

[3]Create Allocation Structure

如图3,A1,A2 structure是SAP默认的,A1包含多Assginment,将Source cost element细分而已,A2则只有一Assignment行,source是Cost element group INT(I此group包含了所有的cost element),不关是否分割,在source里一定要将所有的cost element包括

.

如图4,之前使用OKKS切换Controlling area到0001,看图4[3],G/L Account改成By cost

element,通常receiver Category CTR和G/L特别在内部订单结算很常用,除了可使用专用类的settlement cost element外(对CTR,通常是21型的次级成本要素,对G/L通常是22型的初级成本要素),Settlement cost element也可使用普通的费用类cost element,使用前请使用OBA5将K4 004和4 010消息设成警告

.

如图5[1],将CTR的settlement cost element设置成type为1的一般费类cost element, 图5[2]表示G/L的settlement cost element就是结算规则输入科目本身.

[4]Create Source Structure

一个source structure包含多行Assignment,给每个Assignment行分配Source(Cost element/Group).设置很简单.

[5]Create PA Transfer Structure

关于PA transfer structure详细请看CO-PA配置,非常遗憾的是,SAP默认是将似乎是将所有的差异全部传输到PA模块,而非按当期的销售数量除当期全部生产数量或其他类似比例传输, 这实际类似一个老话题,就是没上ML差异如何合理分配.

[6]Maintain Settlement Doc. No. Range

定义结算凭证的Number range,要产生结算凭证KANK必须同时定义了CO凭证的Number range .

例1 工单结算规则

假设工单使用的是上面图2定义的ZP01 Settlement Profile .

多数情况下我们可能只需要将工单全部结算到物料就可以,Category MAT是你在建立工单时

就自动带出的,不能手工增减,这样一个case,假设ZP01的Valid Receiver Material是禁止的,开工单会有警告保存工单后,Category MAT是再也不能加上的,以后结算就会出问题,实际情况这样的case应该很少.

假设一Pilot run工单(新产品试产),可能需要将部分成本结算到其它catetory,如图例1,假设想将另10%的生产成本分别结算到研发成本中心和试产人工费用中去,在图2的ZP01加上Valid Receiver G/L,让我们来看图例1,

图例1[1] Receiver接受工单Sender方成本的百分比,如总的百分比不是100%,将会有什么情况发生?因为ZP01是要求Full settled,在KO88(CO88)就会有错误提示. 图例1[2]也是一个比例关系,和[1]不能同时输入.

图例1[3]给receiver输入一固定的amount,[1][2][3]你只能输入一项,要么给一个百分比要么给

一固定的Amount,可对工单这种order来说,因为Settlement type是FULL,所以只能输入%项并且个Receiver总计必须是100%.

图例1[4]ZP01 settlement profile最多只允许3个receiver(请看图2[13]

).

为什么category MAT在开工单能自动带出呢?

我并不认为CO内外部支持顾问一定要多么熟悉PP模块(当然有时间和精力去钻研更好),但是有些PP相关配置还是要熟悉的,打开Tcode OPL8(Define order type-dependent parameters,IMG Path:Production->Shop Floor Control->Master Data->Order),看到如图例2画面

图例2[1]显示了Order type ZP01的default distribution rule是PP1(只能选PP1->Full settlement和PP2->Periodic settlement),为什么ZP01的default rule只能是PP1/PP2呢?使用KOT2你能

看到ZP01的order category 是10->PP Production order,属于category 10的order type的default type只能是PP1/PP2.SAP默认将此Field设成必选.

PP2是Settlement by Period,通常用于期间生产(生产成本归集使用一种特殊的内部订单Cost collector)结算方式.

图例2[2] 再次显示CO01建立ZP01型工单时工单计划/实际值所使用的Cost Variant,如想知道计划/实际值是如何取价的,查看ZPP1/ZPP2 Costing variant的Valuation variant就知.

例2 Reverse结算问题

可以reverse以前任何期间的结算

,并非受物料期间的限制最多只能是前一期间,当然相信你总不至于要将上个年度的结算给reverse,reverse的settlement doc.的posting period通常当然在本期间,Settlement period选你所需要reverse的工单的历史结算期间就可.

在此例中,注意posing period和settlement period区别就可.

例3工单结算Allocation问题

通常出现Allocation structure错误就应该检查它了,图5中设置的G/L category使用了by cost element,假设某工单的settlement rule是将10%的生产成本结算到某费用类科目,如图例4,

因为62000370(1类型的费用)不能用于结算90101000 43类的作业成本,于是出现图例3的错误提示,更改Allocation structure,设置一专门settlement cost element 61000199(类型22

)

看看结算凭证.如图例6,类型SA,这是Settlement profile里设置的, 图例6[2]-[3]形成分录 Dr:62000370 (前台在settlement rule里输入的,如图例4)

Cr:61000199 (后台allocation structure里配置的22型结算成本要素

)

例4工单结算CO-PA传输结构问题

例5 Posting reverse的价格变化 例6 自动建立Settlement rule

在例1中你已经知道MAT是如何自动带出来的,如果希望自动带出其它Settlement,需要使用Enhancement .

CMOD: COOM0003-> EXIT_SAPLKOBS_001-> ZXKOBSU01,ZXKOBSU01的逻辑如下

表1.

将ZXKOBSU01和COOM0003同时激活.

AUAK|AFUK|AFKO|AFPO|AFVC(Operation within an Order)|AFVU(DB structure of the user fields of the operati)|AFVV(DB structure of the quantities/dates/values in the op)

COBRB| Distribution Rules Settlement Rule Order Settlem AUAB:Settlement Document:Distribution Rules CACS_STMRU:Ind Settlement Rule

COBRA:Settlement RUle for Order Settlement

COBRB:Distribution RUles Settlement Rule ORder Settlement T054A:

TCN08:Strategies for Determinning a settlement Rule

TSR01:Auto Generation of Settlement rules

TSR0E:Strategy for auto. generation of settlement rules

COSB保存计算WIP.variance 的结果,COSBD 是KO88的结果. 如果COSBD和COSB记录对不上就不能关闭工单.,错误消息 啊AUAK是settlement doc .

例7 简单Review生产订单的逻辑

未整理.

CO01:Fetch data from BOM,Production version Related tables:

1 BOM Header/Item : STKO/stop MAST,STZU

2 使用production version to choose 生产版本if multi-bom MKAT 3 Routing/work center/capacity tables: CRHD/CRFH/CRHH/CRHs/CRCA/CRC0

4 Order status :JSTo/JSEG(所有order status都一样,所有的order一定在AUFK,所以的各种order ,IO,PM order,process order一定share很多处理逻辑从设计思想这样将简单化,不但status,并且作业价格重估,差异,WIP计算,settlement相信都一样)

5工单的结算规则在COBRA/COBRB表,似乎仅此两表

6 工单item 自动产生reservation,可by 它(MB1A/MIGO 261)发料,表RKPF/RESB

7 AFKO/AFPO:order header/item . AUFK,AUFM (这个比较重要,需要提出的是你在工单菜单goto->documented goods movements看到的就是这表的,而非MKPF/MSEG,并且AUFM的amount…) 8 COSL:Co object:Activity totals COSL-WRTTP: 01 plan

-04:actual 实际值在COEPL表中

9 COBK:CO object:CO header COEP:line item (by period

COEPL :line item for act. Type(by period)

10.AFVC:Opertion within an order (Routine data) AFVU:

AFFL: Work order sequence

11.如果你结算差异,结果似乎在COSB保存计算WIP.variance 的结果,COSBD 是KO88

的结果.

整理下前后台的设计,弄个SA,SD doc出来….

如果COSBD和COSB记录对不上就不能关闭工单.,错误消息

结算差异科目的取得,其中一个是GBB(AUF)另一个是PRD(PRF)->Tcode OBYC,更详细请看:SAP真TMD容易系列SAP科目自动设置之OBYC , AUF通常是生产成本产出, PRF弄个PPV(生产订单差异科目),SAP无非是将科目弄到一些表然后account deter.时去抓,看看,中国人就喜欢hard-code .

差异计算activity 是KVAR,settlement是不是KOAO?acitvity就是,这你都不知道,不说了…


相关内容

  • SAP成本控制
  • SAP 成本计算逻辑(原创) (2010-11-21 22:48:28) sap目标成本计划价格标准成本计划成本计算变式取价顺 序作业类型it 分类: SAP經驗 http://control.blog.sina.com.cn/admin/article/article_add.php (转载者请著 ...

  • SAP FICO 生产成本核算原理精解
  • 1.1 成本核算简述 1.1.1 对比 传统成本核算方法是:把成本和费用科目归集到基本生产成本科目上,然后结转到产品中: SAP 的成本核算方法是:将成本费用归集到生产订单上,然后订单结转到产品中.其中SAP 的归集又分直接归集和间接归集.直接归集是可以直接从后勤集成到订单上的,间接归集是做了成本中 ...

  • 按需生产类型产品的订单选择与报价模型
  • 提出了一个按订单生产的产品在订单接受阶段的成本计算模型,该模型可以在lingo11.0软件上得到很好地执行结果.该模型为整数规划模型,综合考虑了正常加工成本.加班成本和外包成本,以及产品的提前交付和交货延迟等情况,可以为实际的按单生产系统提供强有力的工具支持. 按单生产 订单选择 整数规划 ling ...

  • 如何用明细账做应收应付账
  • 一.总账系统 1.成本管理 成本管理系统引用总账系统提供的应计入生产成本的间接费用(制造费用)或其他费用数据.成本管理系统将成本核算结果自动生成转账凭证,传递到总账系统. 2.项目管理 项目管理系统可以从总账系统的凭证中取数据,同时可以将录入的各种费用原始单据.分配的费用及结转成本,自动生成凭证到总 ...

  • 金蝶产供销一体化
  • 金蝶基础制造解决方案是为期望用信息化手段实现产.供.销一体化管理,建立以"订单驱动业务"生产组织模式的制造企业而设计的. 金蝶帮助企业通过销售订单产生准确的生产需求和采购需求,确保产供销的一致性:通过以销定产,以产定供,加快企业库存和资金周转:通过完整的物料编码.BOM和工程变更 ...

  • 论传统成本管理的局限性及改进措施
  • 管理科学 论传统成本管理的局限性及改进措施 严李莉 (河北女子职业技术学院) 摘要:随着全球经济一体化的发展,在现在的制造环境下,许多人工被 机器取代.因此直接人工成本比例大大下降,固定制造费用比例上升.产品 成本结构如此重大的变化,使传统的"数量基础成本计算"(如以工时,机时为 ...

  • 正航软件塑胶行业解决方案
  • 塑胶行业行业背景 在过去几十年里,中国逐渐完成了从计划经济到市场经济的转变,开放型的经济吸引了大量的私企和外企,2006年中国的塑料年消费量3800万吨以上,与欧盟相当,多于美国.目前,中国塑料加工行业在亚洲处于领导地位.注塑加工是比较活跃的一部分,占聚合物需求总量的30%,并且保持8%的年增长率. ...

  • 业务循环内部控制及测试工作底稿(内控审计全)
  • 内控审计 业务循环内部控制及测试工作底稿 销售收款循环 举例:S公司现行的销售政策和程序业经董事会批准,如果需对该项政策和程序作出任何修改,均应经董事会批准后方能执行.本年度该项政策和程序没有发生变化. S公司的产品主要为电子感应器.光感器.集成电路块,通用性较强.所有产品按订单生产,其中约计95% ...

  • 2006年5月中国物流职业经理资格证书考试(中级)
  • 物流案例与实践(二)(课程代码:5375) 案例分析题(案例一30分,案例二30分,案例三40分,共计100分) 案例一: 康达公司是滨海市一家专业从事医药产品批发.零售的大型医药公司.其服务对象为滨海市及周边地区近千家医院.药品零售店.同时,公司拥有注册会员10余万人. 公司经营范围覆盖全国600 ...

  • 物料分类账(ML)理论介绍
  • 1. 物料分类账简介 中国会计准则规定,对存货的核算必须采用历史成本法,即实际成本法,如果企业采用计划成本法,例如标准成本法进行日常核算,应当在月末结算成本差异,或将计划成本调整为实际成本. 为满足中国的会计准则,在传统的手工帐时代,对于业务量较大的企业,人们更倾向于采用'加权平均法'计算物料实际成 ...