MM自动过账-库存科目与抵消类科目GBB配置

在MM模块的许多操作都能实现在FI模块自动过账,如PO收货、发票验证(LIV)、工单发料、向生产车间发料等等。不用说,一定需要在IMG中进行配置才可以实现自动处理。但SAP实现的这种自动配置的机制是怎样的呢?

如果我们使用SAP系统,初始化库存一定必不可少。大家都知道初始化库存使用移动类型(movement type) 561/562。我们先以561 / 562的配置方法为例,说明配置流程。 

有一点是大家首先要知道的,如果物料既有数量管理,又有金额管理,则物料异动会产生会计凭证,否则就没有会计凭证产生。 

为了便于理解,先告诉大家,系统对MM模块的自动过账配置是存放在T030表(标准科目表)中的,我们用Tcode: SE16N查看INT 的自动科目配置有以下结果。 

MM自动过账-库存科目与抵消类科目GBB配置

ChAc:Chart of Account(账目表) 
Trans.:Transaction (事务) 
VGCd:Valuation Group Code (评估群体准则) 
AM:Account Modification  ( 科目修改) 
Val. Class:Valuation Class(评估类) 

上表的控制机制是这样的: 
Chart of Account及Valuation Group Code从范围上进行控制,Transaction + AM + Valuation Class从条件上进行控制。G/L Account(总账科目)有两栏,一栏表示借方,一栏表示贷方,借贷方科目可以相同,也可以不同。 

以第一行为例,在INT账目表中,如果transaction为BSV(表示库存账户变化),Valuation class为3000,则借方科目是400020,贷方科目也是400020。 

一 . 库存科目和抵消类科目GBB自动记账说明

存货变动所生成的会计凭证有一个规律,这个规律就是一定有相应存货的增加或减少。比如PO收货会导致存货增加,而发料则导致存货减少。而对应的科目则各不相同,比如PO收货对应的科目是应付账款(在SAP中是GR/IR),发料对应的科目应该是生产成本类科目。根据这一规律,SAP系统也将存货过账分为存货科目(Stock Account)和消耗科目(Consumption Account)。存货的增加与减少用存货科目, Transaction key BSX码就是用于存货科目的配置; 对方科目因为各不相同,也就有不同的Transaction key。比如GBB用来配置冲销科目,PRD用来配置价格差异科目等等。有时,一种transaction key还须细分不同的情况,这时就要用到Account Modification了。比如在GBB(冲销科目)中,在冲销科目中,再用BSA(一种account modification)表示初始化科目,用VBR表示物料消耗科目。Transaction key(事物码)和account modification(科目修改)组合在一起,称为价值串(value string),与movement type对应。用户在MM模块过账时,会选择movement type,系统则根据movement type确定价值串,价值串确定transaction key和account modification,据此找到对应的会计科目,自动过账也就实现了。这一段话是理解自动过账的关键。


1) 回到开头,初始化库存移动类型为561 / 562, 对应的价值串是WA01,WA01包含GBB (Transaction key)和BSA (Account modification) (Tcode: OMWN) 
MM自动过账-库存科目与抵消类科目GBB配置


2) GBB + BSA在INT中的科目配置为(用tcode:OBYC查看) 

MM自动过账-库存科目与抵消类科目GBB配置


这里解释一下KBS:101是针对采购、生产和成本控制订单收货的移动类型,在OMJJ>科目分组(Account Groupg). 中你可以看到常用的Mvt(Movemt. Indicator是B(采购订单)和F(生产订单)),请特别 注意看Cns(Consumption Posting(A,V,E,P...))字段有值的那些行,他们链接的TE码(Transaction Key)是KBS,这个KBS叫做Account Assigned Purchase-Order,在OBYC中是无法手工配置 科目的。SAP在Movement Type的Post String/Value String中处理这种KBS时,会直接指向库存科目,即在OBYC中,Transaction Key为BSX库存科目定义。使用OBYC去看一下,BSX和WRX是什么科目就可以了! 


而Valuation class又有什么作用呢。在物料主档中,我们要设定物料material type和valuation class。Material type大体上可为原材料、半成品、产成品等。但会计科目的设定并不一定要根据物料类别,可能更明细一些,比如原材料-A类,原材料-B类。Valuation class就是用来将有相同特性的物料组合在一起,对应不同的会计科目,既可以将material type细分,也可以实现不同material type之间的组合。以下是三种常见情况。 

1) 一种物料类别对应一个会计科目 
2) 不同物料类别对应同一科目 
3) 一种物料类别对应多个会计科目 


二 . 配置MM Account determination

2.1 Define valuation control,这一步仅仅是**或不**。 

2.2 Group together valuation areas 
Valuation area总是与plant的名称相同。如果定义valuation level为plant,则可以通过valuation area group实现自动配置的组合。比如对几家不同的工厂用相同的配置,如valuation area 9999与valuation area 9998的自动配置相同,它们可以用同一个group: 1000 

2. 3 Define valuation class 
2.3.1 – Define account category reference 
2.3.2 – Define valuation class 
2.3.3 – Mapping material type with account category reference 

2.4 Configure account determination (Tcode: OMWB / OBYC) 
2.4.1 双击BSX行,输入账目表(chart of accounts), 进入下图所示界面,设置记账规则 
○ Debit/Credit – 是否借贷方用不同的科目。对于BSX来说,不可设,即借贷方科目必须相同。 
○ Valuation modification – 是否参照valuation grouping code。 
Valuation class – 是否不同的valuation class用不同的科目。 
这一界面为设置规则(rules),第一次设置时系统会自动进入此界面。储存规则后才可进行科目设置。 

2.4.2储存规则后按“Accounts”按钮,设定各valuation class所对应的科目。设置后,按 储存。
2.4.3 用同样的方法设置transaction GBB的记账规则和会计科目 
完成以上步骤,即可实现库存初始化了。可以在系统中进行simulation. 

 三. 配置其它transaction的Account Determination举例 


以上是标准设置流程,对各种不同的事务,主要是知悉所用到的Transaction 和 Accounts Modification是什么。以下给出部分Transaction key 

>1) 配置PO收货 (movement type: 101 / 102) : WRX 
>2) 配置物料成本中心发货的科目确定(movement type 201 /202): GBB + VBR 
>3) 配置库存盘盈盘亏的科目确定 (movement type: 701 /702) : GBB + INV 
>4) 配置物料报废的科目确定(movement type: 551) : GBB + VNG 
>5) 配置重新估价的科目确定: UMB用MR21重新定价或价格控制为S的物料收货时,价格差异的科目确定。 

对于收货(特别是来自采购的收货)和发票录入IV/LIV
常用的TransactionKey为: 
>BSX 同ValuationClass相关联的所有基于存货科目的过帐 
>   FR1、FR3 运费和关税的清帐科目(需要通过IV/LIV做Clear,类似GR/IR科目) 
 >FR2、FR4 运费和关税预提科目(无需Clear) 
 >WRX 存货GR/IR科目 
 >DIF SmallDifference(小金额差异),未超过发票价差容限的金额过到此科目(OMR6中定义ToleranceLimit) 
 >KDM 处理收货同收发票汇率不一致造成的差异过帐 
 >KDR 处理收外币发票时,由于四舍五入的原因造成的本币金额同GRIR本币金额不一致的差异过帐 
 >UPF 处理UnplannedDeliveryCost(计划外运费)是否单独过到某个制定科目而不是过到存货或价差科目 
 >PRD 标准成本法下处理PPV的科目,即采购价差科目 

对于发货和其他库存移动,常用的TransactionKey通常只需要关注GBB
即所谓库存移动的抵减或对应科目,其中比较重要的一个概念就是GeneralModificationKey,这个东东是同MovemtType关联的, 较常用的有: 
>AUF : 无Acct.Assignmt的PP/CO订单的收货和结算 
  >BSA : 通过561/562做库存初始化的过帐科目 
  >INV : 库存差异导致的收入和费用科目,一般为P+L科目 
  >VAX/VAY: 销售订单的发货成本科目 
  >VBO : 委托加工业务,提供给供应商的库存出货科目 
  >VBR : 处理内部发货业务,如直接消耗到成本中心、资产或内部订单等 
  >VKA : 基于Acct.Assignmt的销售订单业务,如BTO、MTO业务等 
  >VKP : 基于Acct.Assignmt的项目业务,如BTP、MTP业务等 
  >ZOB : 无PO收退货,如501/502 
  >ZOF : 无PP订单收退货,如521/522 
同样,你可以基于自定义的MovemtType,设置相关联的自定义的GMK,并在GBB中指定科目。 
此外,如果启用MaterialLedger、标准成本法核算货ProductCostbyPeriod等,相关的LKW,PRV, PRP,PRQ和PRY等也需要做相关设置,详见帮助。 

参考文章:http://xiaozmn.iteye.com/blog/1235983