1 FI/SD 借口配置
FI/SD通过tcode VKOA为billing设置过帐科目,用户可以创建自己的科目定义数据表。 科目是做到COA级的,通过KOFI/KOFK这两个condition type确定分别过帐到FI和CO凭证中。 由于PricingProc.是同SalesOrg.相关联的,所以科目在Organization上首先要做到SalesOrg. 级,其后的AccountKey是在PricingProc.中和不同的PriceConditionType相关联的,决定着最终销售收入、折扣、附加费用、预提等过到不同科目上。

2 FI/MM 借口配置
FI/MM通过tcode OBYC为所有的库存移动设置过帐科目,系统用不同的TransactionKey决定了不同的移动类型/业务类型,对于这些TK的含义,SAPLIB中有较为详细的解释,可参阅。
科目的配置可以按照需要做在ValuationArea(Plant)和ValuationClass层。 特别是我认为FI/MM AccountDetermination中最有意思的就是TK为GBB的科目定义,其中有一个东东叫做GeneralModificationKey,这个GMK是同MovementType直接相连的;除了很多标准的GMK之外,用户也可以自定义,并将它们同自定义的MovementType相关联,以决定不同的MT连接 到不同的过帐科目上。

3 实例说明
可以按照资料到系统中配置一下,并做一些例子,有助于理解这些科目配置
3.1、对于收货(特别是来自采购的收货)和发票录入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的科目,即采购价差科目

3.2、对于发货和其他库存移动,常用的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等也需要做相关设置,详见帮助。

3.3 对于收货科目设置,举个稍复杂的例子:
A000工厂下的物料A,ValuationClass为V000;拟在MM/InfoRecord中定价2%的采购运费,不需要通过IV/LIV清帐;价差容限定义1元以下为SmallDifference;在采购过程中发生了计划外运费,并希望过到制定科目上;收发票时的汇率同收货时不同,有差异。
示例会计科目如下:
1401 原材料存货科目
2181 预提运费
5121 计划外运费
5122 SmallDifference
5151 汇率差异
6000 存货GR/IR

可通过OBYC配置为:
库存过帐 BSX A000 V000 1401
预提运费 FR2 A000 V000 2181
小额价差 DIF 5122
计划外运 UPF 5121
汇率差异 KDM A000 V000 5151
GR/IR WRX A000 V000 6000

收货时的分录为(MAP计价方式,忽略VAT):
Dr. 1401 1020.00
Cr. 6000 1000.00
2181 20.00
收采购发票时的分录为:
Dr. 6000 1000.00
5121 100.00
5122 0.80
5151 1.20
Cr. A/P 1102.00
收运费发票的分录:
Dr. 2181 20.00
Cr. A/P 20.00


比如你用MB1A通过201做PGI,在OMJJ中你可以看到有一个Account Grouping,双击进去后有如下一条String: 201 K X X WA03 2 GBB VBR。其中K表示Consumption Posting,而GBB VBR是连接Account的关键。用OBYC,选择GBB(指库存抵减过帐)双击,里面比较复杂的设置有可能是:Valuation Modif.(a Plant) > General Modif.(VBR) > VC > Account!。
这样,201就通过GBB,VBR同相关科目联到了一起。
当然,这是个很简单的例子,SAP对于不同的Special Stock,数量、金额是否更新,都会在OMJJ 中引用不同的所谓(Value String),这个东东比较复杂,我是做FICO的,了解得不多,不过很值得研究啊.

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

刚才提到在OMJJ>Account Grouping中的101那些行,它们的Value String是WE06,你可以用t-code SE16看一个表叫做T156W,查看WE06的那些行,你会发现:
WE06 01 KBS
WE06 02 WRX
这KBS刚才说过了,那么这个WRX你会在OBYC中发现,它定义的是GR/IR的科目,即收货时
Dr. Inventory (KBS/BSX)
Cr. GR/IR (WRX)

用这种方法,你就可以分析其他的MT了,如同101类似的105/106,122/123等,蛮复杂的。
另外,在SAP Library中的相关IMG配置解释得也不完整,有很多Transaction Key在4.6C 的Library都没有说明,只能自己研究了。
我们曾经用过的方法,就是用不同的MT做库存移动,然后在程序中设动态断点,依据那些 Value String,跟踪它到底用的是那些Transaction Key和科目定义。