(一).存货计价方法... 1
(二).SAP存货计价实现... 8
(三).ML模块功能简介... 8
(四).ML后台配置详解... 9
(五).ML事务码描述和ML月结操作指南... 18
(六).典型ML问题剖析... 24
(一).存货计价方法
在分析物料分类帐前,回顾下企业实施ML的前因后果,会计准则规定,对存货的核算必须采用历史成本法(即实际成本法).如果企业采用计划成本法或者定额成本法进行日常核算的,应当按期结转其成本差异,将计划成本或者定额成本调整为实际成本.
“存货采用计划成本法核算,有利于简化财务会计处理工作,有利于考核采购部门的经营业绩,促使降低采购成本、节约支出”.
完全成本法和变动成本法最核心、本质的差异在于对固定制造费用的处理上,现在如果我们可以消除这种差异,企业当然只需要做一套账即可满足内外不同的管理需要;还有一点就是对生产用固定资产的折旧处理上如采用这种方法应该来说也更加合理。以往生产设备的折旧被划分为固定制造费用,如受外界影响企业两个月份的产量差异很大,那么这种差异反映到产品的单位成本上的差异就会很大。而事实上这种成本差异并不会被市场所认可。所以,建议把当期产品该摊的部分(通过定额确定)以变动成本的形式计入产品,而不该摊的部分(与期间相关的)直接计入当期损益。
(二).SAP存货计价
MAP,STD, FIFO,FILO都可.
Cost component split
(三).ML模块功能简介
SAP分类帐概念
可以将物料分类帐看成一种子分类帐,帐套的概念熟悉财务的读者一定不会陌生,曾经有家企业的用户跟我说他们使用XX系统为了做到利润中心的核算居然在利润中心核算上就做出8套帐,期末结算完再转到总帐,每套帐的关系是孤立的,此等设计思路估计是考虑到成本人员工作时间没事干荒废了专业,这种中国特色的人性化设计思路确实另人佩服.
SAP的逻辑是,一套数据,同步更新到多个分类帐,在此,将SAP的最常见的分类帐来归类一下以供读者参考,如下表.
SAP帐套参考列表
|
帐套种类
|
分类帐代号
|
分类帐名称
|
总计表名称
|
备注
|
法定帐套
|
0
|
总分类帐
|
GLT0
|
不用多解释.
|
不可变更的SPL
|
3A
|
统驭分类帐
|
COFIT
|
为了保证FI和CO数据的一致性,在期末执行KALC时,FICO统驭数据就写入Ledger 3A, 利润中心被看成为Ledger A,此两套帐是不能配置的.
|
8A
|
利润中心会计
|
GLPCT
|
可以配置的SPL
|
0F
|
销售成本会计分类帐
|
GLFUNCT
|
这两个常用帐套如有实际业务需求,可以使用自定义的帐套替代.
|
1C
|
合并分类帐
|
ECMCT
|
类似分类帐
|
无
|
物料分类帐
|
CKMLPP CKMLCR
|
类似之意指和上两种SPL数据更新逻辑类似但是使用表格不相同,比如利润分析的表格(包括特征和值)实际上是由用户根据业务需求自定义的,这些数据一般比SPL处理要复杂,SPL通常只包括计划数据表,实际数据表和汇总数据表而已.
|
无
|
利润分析
|
CE1-4****
|
无
|
TR模块
|
|
l 1.SPL(Special-Purpose Ledger),除法定Ledger 0的都可看成此类. * 2.表T882中可以看到各公司代码启动的各种帐套. * 3.每个帐套只有相应模块被启动时才产生相关凭证,比如只有物料分类帐被启动,利润中 心会计被实施等等才有物料分类帐和利润中心凭证,才有数据同步给更新.比如在产生物料凭证时不仅仅有会计凭证(对应法定帐Ledger 0),可能伴随还有物料分类帐凭证,利润中心凭证,利润分析凭证,销售成本会计分类帐凭证,TR凭证等,同一个数据源能保证各帐的数据完整性.
如果有兴趣,各位可以将各分类帐对应的行项目表和Summary table拉出来,并将各表关联逻辑拉出,这个也简单,举个简单实例,在物料移动时可能同时有物料凭证,会计凭证,基金凭证,利润中心凭证,利润分析凭证,CO凭证,SPL凭证等同时产生,各位可以试划一下各种数据的更新逻辑图,此处出省略.
ML功能简介
a.自动实现差异分摊
使用ML可以将物料采购和生产过程中产生的价格差异&汇率差异和物料价格变更引起的差异以单层/多层的方式分摊出去.
对于差异的帐务处理方法,一般认为,有3种流行的方法。
(1).期间分配法
如果当期差异很大,原则上不能全部转入销售成本,而应在在产品,产成品和销售成本间按比例分摊.
这种说法比较笼统,而且上面所提到的当期差异似乎特指针对在产品产产品的生产成本差异,实际上差异还包括原材料的采购差异,所以有的企业在没实施ML前自己编写程序分摊差异,程序逻辑是这样的.
.原材料采购差异还原到原材料
.半成品生产差异还原到对应的半成品.
.产成品差异在当期产成品和销售成品分摊.
差异不关在制品WIP(Work In Process)的事.
以上程序处理差异的方式逻辑粗放,差异没有卷算到上层物料,在期间标准成本接近实际成本,每期间的各种存货库存比较稳定时勉强适用.
|
(2).年末一次处理法
平时不处理差异,年底将累积差异一次结转,如果差异小,直接到销售成本,如果差异大同期间分配法在在产品,产成品和销售成本间按比例分摊.
(3).直接处理法
如果产销比较平衡而差异有不大时,可以将差异全部挂在销售成本下,这个很好理解,假设每月生产10万Pc某产品,基本月销售量也接近10万Pc,差异基本就可以挂到销售成本,此时差异科目被做成损益科目.
外企似乎不一定需要使用实际成本法,有的企业认为,如果差异很大,挂在销售成本下可能当月利润就全完蛋了,而且企业也懒惰不做什么差异分摊,所以干脆将各种差异科目全做成资产类科目,全挂在资产负债表的存货项下,而且一年到头也没见分配一下,连年末也不处理,这也太容易调节利润了吧,他们是这样解释的:随着存货的不断流转,存货在一段时期内最终会全部转入企业的损益,无论存货计价方式如何选择,虽然,在期间内,前后各段时间内实现的应纳税所得额不一样,并由此影响到当期所得税应纳税额,但是在一段期间内,实现的应纳税所得额的总和应都是相同的,你认为合理吗?
哎,也没见到审计到外企去挑漏子找麻烦,没办法,有照顾. 说到这里,闲扯几句,有回一家超市的经理跟我说,老外现在在中国开超市税务何等优惠政策何等宽松,外企嘛,本来人家资本就雄厚,怎么和其竞争?中国人在自己国家活条命都不容易,哈哈.
*刚才讨论的差异是个笼统的概念,关于如何合理设置材料采购差异,生产成本差异等等科目本书会有详细介绍.
b.实际成本成本核算和月末加权平均价PUP
SAP宣称其伟大的ML模块集中了移动平均价和标准价格的各种优点,也符合PRC GAAP, PRC GAAP规定,对存货的核算必须采用实际成本法,如果企业平时硬要采用计划成本法或者定额成本法进行日常核算的,应当按期结转其成本差异,将计划成本或者定额成本调整为实际成本.
在SAP中,常用的存货计价方法分加权平均价格(移动平均价格和月末加权平均价格)和标准价格,关于移动平均价格好还是标准价格好,可以大打一场口水战,倒是,SAP推崇备至的这个月末加权平均价,大家似乎都没给面子,没几个为之叫好的. 有家企业发现,实施了ML后,千万级的月利润额不见了,CEO急了,找到CFO和CSO(Chief Sales Officer),CSO说销售任务如常完成了,CFO就说莫非利润长脚跑了不成?最后发现全躺在WIP中.另一家企业则反应说X月他们企业出现净利润>销售收入的怪事.
举个理想的实例证明. 当月1工单 1000个,假设收货999个,工单WIP状态,
原材料带来的多层差异 100000.
卖出去10个.
|
如果在ML中使用实际成本核算(Actual costing),相关物料的价格控制必须是S(即标准价),价格确定必须是3(其它的价格控制和价格确定组合在本篇有详细讨论),此时,ML在平时使用期间固定的唯一标准价格核算物料的各种交易,差异都被记录在ML(表MLCRF)中.
在多层差异确定后,用户可以选择使用PUP重估或不重估当期库存,如果选择重估计库存,则当期物料主数据的价格控制自动从S到V,产生的会计凭证是:
Dr:库存 (OBYC->BSX) 如果不重估物料则使用OBYC-LKW科目.
Cr:单层差异 (OBYC-PRY科目)
多层次差异 (OBYC-PRV科目)
在下个月初该凭证则被冲销回,
c.实现多币种评估方法
The combined currency type&Valuation profile is called valuation approach.
启动多个币种和多级评估是两个概念,货币类型和评估参数文件合成一个叫评估方法的东西.
你可以在ML中只使用多个货币类型,但是并不一定需要启动多层评估,很多人会混淆这两个概念.
d.实际成本分割
盈亏平衡点,以前,我觉得他在侮辱我的智商,
现在我发现其实我智商确实不高.
FICO被饶的饿人都弱智了 .
心理如释重负,终于找到一个比我还弱智的"专家",
据我爷爷告诉我,我爷爷有是他爷爷的爷爷传下来的,最少是9代贫农,用以前的话来说,根正苗红,好不容易熬到我那也是因混入ERP革命队伍刚过上小康,还被LP搞了个资金集中,能不能赊帐,那钱也不能这样拿去折腾呀.
你以为我愿意大把年纪天天拿把刀晃悠累的半死去宰模块呀?这不省钱吗?
e.实际成本部件传输至CO-PA利润分析模块
可以将实际,不但要销售成本(英文是COGS,Cost of Goods Sales),是这样的有个家伙问我什么是COGS?我说是销售成本,他说销售成本就销售成本什么COGS,我就回敬说拜托老大英语不好还做ERP顾问,这哥们则说那你杀猪的不也混进了顾问的革命队伍吗?这不同样是混口饭吃吗?
销售成本是怎么来的?

有人说销售成本当然就是物料的单价(物料主数据的价格控制)*数量,一般来讲,确实如此,如上图a,在SD那疙瘩,销售成本一般是通过VPRS过去的(请参考销售定价过程),我们看到定价类别是G成本,实际上如果更改为S估计就固定使用标准成,T就使用移动成本而不Care物料主数据的价格控制了,SAP总喜欢搞出这些东西,最后说明一下,这东西我没测试过.
如果使用标准价格控制,销售成本采用标准价格,但是成品的标准价格是怎么来的,料工费汇总和从下层比如半成品卷算过来的,其实就是一个成本部件的概念(Tcode:OKTZ),如果采用标准价格,在产生利润分析凭证数据时除了传送标准成本(可以根据过帐日期自动Match标准成本,Tcode:SE16->V_TKEVA03,这有必要,假设上期末有个Billing为正确过帐,到本期初月结上期更改错误后过帐就应该根据上期的标准成本过到CO-PA)过去外,还可将成本部件明细传到值字段(即让用户清楚标准成本是由什么东东部件加过来的),如果成品使用批次+MAP什么的,就会出现成本价<>成本部件和. 假设使用标准价格_ML,现在有个问题,就时使用的是标准成本+标准成本部件,月末可将实际成本和实际成本部件传送到PA(Tcode:KE27
,对Costing-based Co-PA,详见Co-PA篇).
ML缺陷
a.WIP问题
WIP不参与差异分摊和实际成本核算,举个跨月的例子.
b.有些成本对象差异(CO object Variance)不参与实际成本核算
通常物料消耗能被分配到下一更高层次的生产环节的差异才能继续分配,比如从原材料到半成品到最终成品,这有输入输出物料的,输入原料产出半成品,输入半成品产出成品,换句话说,物料消耗到象内部订单,成本中心,和利润分析段等成本对象的差异不能被分配出去,形成所谓的”不包括差异”,差异之所以不分配出去,原因应该有这两方面.
a.直接消耗到无工单的非生产成本中心只有输入物料没有产出产出物料分配终止了,内部订单通常结算到费用,成本中心或资产,也没有输出物料.
*可以试验将内部订单整成结算到物料应该就可以分摊差异,实际上就变相成了工单(本人猜测的,有待您的严正).
b.象成本中心消耗想分配差异估计就循环了,设想一下,工单结算完为了使成本计算不过于复杂所以就不管它了,SAP开发人员毕竟也是妈生的,逻辑过于复杂也会头疼.
c.月结问题处理必须及时处理.
“ML出问题,后果就很严重”.
d.使用3种评估视图实现内部转移价格
如题.
SAP 3大差异来源
可以将SAP的差异源分成3大类.
1.物料移动发生的价差:
(a). PO收货
(b).后勤发票交易
(c).订单结算
(d).物料转移过帐
(e).初始化库存
(f).从供应商寄售库存(Consignment stock)到自由库存.
2.汇率变化产生的汇差:
收货(MIGO)和发票交易(MIRO)时的汇率发生变产生的差异.在FI中可设置汇率转换是可配置的.这意味着用户可以灵活配置.
a.使用交易货币还是公司代码货币进行外币转换.
b.可以灵活选择汇率类型(OB08)
c.换算日类型可以是凭证日期,记帐日期和换算日期(Translate date).
*请参考OB22
汇率差异的讨论
3.重估库存整出的差异
典型地,MR21/MR22产生的差异, 启动物料分类帐后,如果物料已做了交易,MR21/MR22并不能真正改变价格而只是抛出单层差异.
差异科目设置分析
价格差异 BSX PRY (PRD-PRA)
汇率差异 BSX KDM
重估差异 BSX UMB .
ML平时的差异和FI的差异,在重估物料时才产生会计凭证,不重估计也产生,
重估和不重估物料
存在即合理,通常重估物料,不重估自然有他的道理,不要问我为什么而是应去问不重估物料的人为什么?
标准价和加权平均价
关于存货计价方式使用标准价还是加权平均价(移动加权平均和月末加权平均)谁更合适,双方好事者可以大打一场口水战.而且早有另一种呼声,玩玩作业成本法,国内企业玩作业成本法的没大听说过,估计一玩就把自己给玩进去了.
.移动平均价(MAP->Moving Average Price)
当物料使用移动平均价时,物料的移动平均价在1.物料移动(MIGO,MB1A/MB1B/MB1C等)|2.后勤发票校验(MIRO)|3.订单结算(KO88/CO88等)时被计算.
MAP计算公式如下:
移动平均价=交易时点总库存价值/总库存数量
=(交易前总库存价值+或-本次交易数量*单价格)
/ (交易前总库存数量+或-本次交易数量)
在逻辑上,有3点需要强调.
a.为了设计上的方便,应该是每次的任何交易都重新计算移动平均价.
假设某存货第一期期初1000公斤,价格为65.15元 / 100公斤,发出999.55公斤,遗留0.45公斤,然后在第二期发现实际上在第一期上线时少计了999.55公斤,以MAP MB1C进来,结果如下表.
Overview
LSMW是导入数据的一种工具,最大的好处就在于它的灵活性,举一个例子来说,different material type have different field in the master. For one field , some field is suppressed and the other is mandatory. But if you want use one single format to import all fields no matter what the material type is ,
batch input 和catt都会出错,因为他们都只能根据制定好的画面来输入,如果你导入的数据没有这个值,那就会
出错,我想这个观点你们都能理解的,那么怎么才能把数据导入呢?而不需要另外再创建更多的不同情况的catt和
batch input,那就是LSMW.如:在某一个字段上进行编程,代码如下(这段代码是具有通用性的,你们只要在用的时候把字段名改一下就可以了:
IF NOT LINE_ITEM-MWSKZ IS INITIAL.
BBSEG-MWSKZ = LINE_ITEM-MWSKZ.
ENDIF.这句话的意思是:如果这个字段在我输入的文件中没有出现,那么就不要考虑导入这个字段。举一个财务凭证的例子。事务代码:fb01输入一张财务凭证。
Debit: 10010100 ---100 现金科目 ,这个科目在screen layout 里只定义了显示profit center 字段而不是成本中心字段。
Credit:费用科目55010101---这个科目只定义了cost center字段,而没有利润中心字段,这样的话,如果用batch input 录下来的其他类型的凭证,可能这两个字段都没有显示在输入凭证的画面,这样的话,如果用bi 或CATT就会报错,说这两个字段找不到。明白了么?
那下来再谈谈LSMW的局限性:
局限在于,它只能导入那些固定类型的主数据,比如,MATERIAL MASTER ,FINANCIAL DOCUMENT GL ACCOUNT 等等,如果你自己创建了一个ABAP程序,是用来输入自己的一种主数据,那他就不能实现。不过我想,大多数我们需要导入
的主数据已经被包含在这里边了。 ,当然一批修改值他也可以办到。只要把默认的TRANSACTION CODE 改为你需要
的就可以了。
下面我就用图形的方式来STEP BY STEP的教给大家如何操作。我还是用财务凭证来给大家说明吧,因为财务凭证的描述性比较强。所需要的导入的文件格式我放在另外的一个文件中,请参考。
|
Initial Screen
Input description of the project , subproject and object
|



|
维护属性
Then…
Click “F8”
|

|
输入画面如图所示
请记住是LSMW每步都要用CHANGE的方式进去
然后SAVE.然后CLICK 回到总画面去维护下一个参数。
|

|
维护结构
每个导入的项目都需要有结构,每个结构代表一组有独立属性的值,如,DOCUMENT HEADER AND DOCUMENT LINE ITEM 应该放在不同的结构中,因为他们的属性值不同,因为HEADER每张凭证只有1个而每张凭证中的行项却又很多,所以应该分成两个结构,因为同一个TRANSACTION 如:FB01创建的时候至少有2个行项,却只能有1个凭证头,就象PO一样。但是系统如何识别1个凭证头对应几个(N个)行项呢?也就是说如何在一个事物代码中把1个凭证头和几个行项看多一个RECORD呢?所以我们在下面的创建字段的过程中要加入一个识别码,我把他叫做 HEADID和LineID并分别属于表头结构FDOC和行项结构LINE_ITEM,这里LINE_ITEM结构属于FDOC结构。
Then…
Click “F8”
|

|
输入画面如图所示
然后保存,结构看下图
|



|
显示结构
然后返回到总的维护画面去,每步都要保存
|

|
维护SOUCE FIELDS
CLICK “F8”进去。
|

|
维护字段
先看如何维护字段,这里有2种不同的维护字段,一种是自定义的,如,HEADID,我前面提到的,这个字段只是让系统去区别不同的结构,但SAP并没有这个字段,
2.一种是系统里已经有的字段,我就直接用它就可以,不过请记住,所有字段最好维护成CHAR类型的,不管它本身是什么类型的,但是长度一定要>=这个SAP的字段的长度,最好是等于(SE11可以看到表)
我用到的两个表:表头表BKPF,行项表BSEG,除自定义表之外,字段名都和原来的表的字段一样。
|


|
创建完后的结果
保存后退出到总参数维护画面.
|

|
维护结构关系
这个就是把我们创建的结构和SAP实际里的结构联系起来了,请选RELATIONSHIP来创建表间关系,这里因为我们只用到BBSEG和BBKPF表,其他表因为没有涉及的字段,所以没有分配给他们。
第一个SAP默认结构是一定要分配给你的最高级的结构的。这里就是FDOC.这样讲可不可以?和? 
分配完以后,保存退出(后面的描述中,保存退出就是指退到维护参数的总画面。)
|

|
最重要的一步,字段MAPPING
所有重要的东西都在这一步,也是最难的一步,在这里,你要告诉系统,你自己的哪个字段对应SAP里的哪个字段,我前面所说的一点点小程序也是在这里使用的,目的是让系统这个傻瓜知道那些字段出现时表示有这个字段,哪些不出现表示没有这个字段。(大家看得懂我说的么?)
|

|
最重要的一步,字段MAPPING 2
在左边的表里找到,你自己的那些字段,然后点Source field 分配。还记得利润中心和成本中心么?就是前面我加的那段小程序,看右边,你先在左边的字段中(bbseg中)找到字段KOSTL,然后点SOURCE FIELD 分配自己的那个KOSTL给左边的那个字段,然后双击右边的CODE,或在图标里选RULE---ABAP CODE加入右图所示的代码。如果这个字段在每个行项里都会出现,那就不用代码拉!!然后你把你自己的所有字段都分配到左边的字段中,然后CHECK(在菜单里)以下,如果没有问题,那么恭喜你,你的LSMW基本已经成功了
|

|
显示MAPPING 结果
然后退出。
|

|
默认值和转换规则
这个一般用不到的,如果你的EXCEL还算好的话,多输2个字是很简单的事情。我把它跳过了,大家如果有兴趣,可以自己去研究一下。
|

|
标示文件路径和文件名
如果有多个结构的话,就象现在我们做的,就需要选DATA FOR SEVERAL STRUCTURE….
并且delimitor选tabulator.
否则就选data from single…
delimitor 选 No….
请大家记住,文件一定要是.txt的
完成后保存退出。
|

|
分配文件
一般系统都可以自动帮你分配,只要点击一下就可以了。
|

|
分配文件结果
完成后保存退出。
|

|
读文件
就是从你自己的文件里把数据读出来。这个项目的格式我放在另一个文件的附件里。如果有错的话,请大家查找原因。如果没有问题就是下个操作显示一下读入的文件,看是否正确。
|

|
显示读数据结果
|

|
转换文件和显示转换数据
这是系统的工作,你所需要的只是执行一下。很简单,请大家自己看
|
|
最后一步,
因为我定义项目属性的时候选择是direct input 0000,所以这里程序选择RFBIBL00
|

|
数据转换的画面看右边,如果成功的话,你用sm35将看不到任何的你的session,否则就是存在问题。
好了,结束了。有问题请问我
|

|
个
步聚 |
操作内容 |
事务码 |
是否必须 |
操作时间 |
月/年结 |
1 |
关闭待结期间物料帐,并打开下一期间物料帐 |
MMPV/MMRV |
是 |
FI月结开始 |
月年 |
2 |
打开下一个会计期间财务帐 |
OB52 |
是 |
FI月结开始 |
月年 |
3 |
确认本期间业务全部入帐,出纳与会计对帐等 |
F-02,VF01,MIRO等 |
是 |
CO月结开始前 |
月年 |
4 |
固定资产折旧运行 |
|
是 |
CO月结开始前 |
月年 |
5 |
本月评估汇率及下月记帐汇率维护 |
OB08 |
否 |
汇币评估前 |
月年 |
6 |
GR/IR重分类 |
F.19/SM35 |
是 |
采购发票录入完成 |
月年 |
7 |
外币汇率评估 |
|
否 |
CO月结开始前 |
月年 |
8 |
维护各成本中心实际统计指标 |
|
是 |
CO月结开始 |
月年 |
9 |
运行实际分配循环 |
KSV5 |
是 |
正式CO月结操作 |
月年 |
10 |
运实际分摊循环 |
KSU5 |
是 |
正式CO月结操作 |
月年 |
11 |
运行分割循环 |
KSS2 |
是 |
正式CO月结操作 |
月年 |
12 |
计算实际作业价格 |
KSII |
是 |
正式CO月结操作 |
月年 |
13 |
对生产订单进行重估 |
CON2 |
是 |
正式CO月结操作 |
月年 |
14 |
更改WIP结帐期间 |
|
是 |
正式CO月结操作 |
月年 |
15 |
对生产订单进行WIP计算 |
KKAO |
是 |
正式CO月结操作 |
月年 |
16 |
对生产订单进行差异计算 |
KKS1 |
是 |
正式CO月结操作 |
月年 |
17 |
打开本期物料可过帐 |
MMRV |
是 |
准备结算生产订单前 |
月年 |
18 |
对生产订单进行结算 |
CO88 |
是 |
WIP计算及生产订单差异计算完成 |
月年 |
19 |
关闭本期物料可过帐 |
MMRV |
是 |
生产订单结算完成后 |
月年 |
20 |
手工调整生产性成本中心因为小数点计算造成本的成本中心吸收不足或过量金额到当期销售成本 |
F-02/S_ALR_8701361 |
是 |
生产订单结算完成后 |
月年 |
21 |
根据销售情况调整生产成本差异到当期销售成本 |
F-02 |
否 |
生产订单结算完成后 |
月年 |
22 |
关闭本期会计记帐期间 |
|
是 |
|
月年 |
23 |
关闭CO期间 |
|
否 |
|
月年 |
24 |
结转总帐余额到下一会计年度 |
|
是 |
|
年 |
25 |
结转往来余额到下一会计年度 |
|
是 |
|
年 |
26 |
固定资产年结 |