MM采购定价假设企业采购某物料10吨,1000元/吨(增值税率17%),其中运输增值税发票100元(税率7%,其中100/(1+7%)=93.46进入存货成本),商检费20元,代理报关费用50元。则收货材料入库成本为。Dr:原材料10163.46元Cr:GR/IR10000元(对应材料采购金额,材料供应商)运输费93.46元(100元运输费应入存货成本,另6.54为可抵扣进项增值税,OBYC-ZM5,对应运输商)商检费20元(OBYC-ZA5,对于商检队)代理报关费用50元(OBYC-ZA6,对应代理报关行)对于这附加费用,也可使用默认的过帐码,比如一些人喜欢将所有采购附加费用条件类型全部对应到默认的AccountKeyFR1并且这些采购附加费用科目都对应到GR/IR科目,则上面的分录为:Dr:原材料10163.46元Cr:GR/IR10000元(对应材料采购金额,材料供应商)GR/IR93.46元(100元运输费应入存货成本,另6.54为可抵扣进项增值税,OBYC-ZM5,对应运输商)GR/IR20元(OBYC-ZA5,对于商检队)GR/IR50元(OBYC-ZA6,对应代理报关行)虽然报表上可通过条件类型获得采购附加费用,但远不如科目直观。在实务中,往往运输费用,商检费和代理报关费用并不对应到具体单个PO,比如运输发票是月末才统一开来,此时这些费用在收货时实质上是以计划应计值进入存货的,如果发票是下期开来,严格地讲会稍微影响材料成本。图4-[6]:定义计价方案(defineCalculationSchema)系统已定义好一些范例计价方案,计价方案由一系列按一定规则组织的计价条件类型组成,针对本例,假设定义计价方案ZFRM01,包扩6个条件:PB00:信息记录中的含税价格。ZM01:通过计算类型增强909算出的应交进项增值税。909增强代码如下表:*909通过含税价格计算出采购净价,反应到条件类型ZM01上,注意XKOMV-KAWR表示*条件基价(请SE11查看KOMV),即信息记录价格,比如信息记录含税价为1170元/个,则其中*价外增值税为(1170/1.17得到净价)*17%,909考虑不同税率情况.FORMFRM_KONDI_WERT_909.CASEKOMP-MWSKZ.WHEN'J1'.17%XKWERT=XKOMV-KAWRT*17000/117000*(-1).WHEN'J2'.13%XKWERT=XKOMV-KAWRT*13000/113000*(-1).WHEN'J3'.7%XKWERT=XKOMV-KAWRT*7000/107000*(-1).WHEN'J4'.4%XKWERT=XKOMV-KAWRT*4000/104000*(-1).WHEN'J5'.5%XKWERT=XKOMV-KAWRT*5000/105000*(-1).WHEN'J6'.6%XKWERT=XKOMV-KAWRT*6000/106000*(-1).WHEN'J0'.XKWERT=0.ENDCASE.ENDFORM.ZM05:通过计算类型增强908算出应计入材料成本的运输费用。增强908代码简单,假设可抵扣运输增值税发票上是100元,由于是运输增值税为价内税(通常税率为7%),则进入存货成本为100/1.07=93.46,可抵扣税额为6.54元,增强代码就一句:XKWERT=XKOMV-KWERT*100/107.ZA05/ZA06:对应本例的商检费和海关代理费用。图11-[1]:Required如果选上则表示该条件类型必须在确定计价方案存在,比如采购单肯定得有采购价格条件类型,但是对该采购单可能不需要商检费用。图11-[2]:表示该条件类型是统计性。图11-[3]:可以在Reqt(Requirement)和计算类型(CalType)增强条件计算,这是系统计价魅力所在,复杂的条件类型取数逻辑总可通过增强实现,系统还提供了Tcode:VOFM统一组织这些增强。图11-[4]:通常如果条件类型设置了应计标志,在此为其设置记帐码,记帐码对应到科目,自动科目分配统由Tcode:OBYC统一设置,可以想象,在建立采购单时,后勤人员只需要关注条件类型就行,会计科目是自动带出的,我觉得,让并不精通财务的后勤人员直接选择科目是不明智的。图4-[7]:定义方案组(DefineSchemaGroup)在一个大集团中,可能建立了很多不同的计价方案,典型地,有国内采购计价方案和国外计价方案,普通采购单和转储单计价方案,那么集团各种的采购订单如何确定计价方案呢?系统提供了一个叫方案组的东西,可以为不同供应商或采购组织设置方案组,图12假设为供应商设置了M1-M3方案组,接下来将在供应商主数据的采购视图中设置方案组,如图13。你还可为不同采购组织定义方案组。图13中,供应商40114500对应采购计价方案组M1。图4-[8]:定义方案确定(DefineSchemaDetermination)设置好计价方案和为方案组后,最后一步就是让采购单如何确定计价方案了,计价将系统的采购单分普通采购单和转储单(Stocktransferorder,通常包括同一公司代码下不同工厂下的转储和同一集团不同公司代码下的转储)。确定计价方案配置如图14,很容易理解。图14中,由采购组织方案组和供应商方案组联合决定计价方案,注意到采购组织方案组为空,实际上表示不设置采购组织方案组,也就是说,建立采购单时其计价方案直接由供应商主数据设置的供应商方案组(如图13)决定计价方案。假设某集团设置了采购组织方案组A001(国内采购组织)和A002(国外采购组织),供应商方案组设置了M1,M2,M3,则允许用户设置多达6种不同的计价方案,系统在为不同采购组织和供应商建立采购订单都能确定到,当然,实务上一般并不会出现如此多的个性计价方案。现在为供应商建立40114550建立一个采购单,其计价方案如图15。图15-[1][2][3][4[5][6]:首先,点击[6]的“Analysis”按钮能发现供应商40114550建立的采购单(采购数量为10)的计价方案正是图14设置的ZFRM01,假设信息记录(Tcode:ME11)维护的价格为包含增值税的价格1170,通过增强909计算出的增值税为(1170/1.17)*17%*10=1700元,对应条件类型ZM01,而采购净值(Net)为10000元。ZM05为运输发票,100元自动计算出应计材料成本为100/1.07=93.46元。ZA05为商检费,注意到ZA05/ZM05采购数量无关,检查条件类型Cond.class/Calculatetype/Cond.category为A/B(fixedamount)/B,而假设报关费用和数量相关系,ZA06Cond.class/Calculatetype/Cond.category为为A/C(quantity)/B,表示费用和采购量相关。图15-[7]:运输费用,商检费和报关费这些采购费用一般和材料供应商并不是同一家公司,有时甚至连货币都不同,比如国外运输商要求用USD结算,所以可以按此按钮进去设置不同服务供应商。在后勤发票校验时,系统也可非常方便地分别为这些供应商确定应付帐项。PO定价条件类型相关表格SD销售定价MM/SD销售定价原理相同,下面简单叙述下SD的定价和计价确定KONP:(ConditionItem)KNUMH:COnditionrecordnumberKSCHL:ConditiontypeKBETR:cond.Amt(ratewoscale)KONWA:RateunitKMEIN:ConditionpricingunitKONH:(ConditionHeader)KNUMH:ConditionrecordnumberKOTABNR:ConditiontableKSCHL:ConditiontypeDATAB|DATBI:Validfrom|ValidtoA017:(工厂级信息记录,对应存取顺序0002),其它的A***表KNUMH:ConditionrecordnumberKSCHL:ConditiontypeLIFNR:VendorMATNR:MaterialEKORG:Pur.OrgWERKS:PlantKONV:(条件交易数据表)KNUMV:No.ofdoc.cond.KSCHL:ConditiontypeKBETR:Cond.amountWAERS:CurrrencyKMEIN:PricingunitKVSL1:AccountkeyKVSL2:Accr/prov.accountkeyLIFNR:vendorEKKO:采购订单header表KNMUV:No.ofDoc.cond.EBELN:PONo.KONM:条件等级价格表KNUMH:Conditionrecordno.KSTBM:ConditionscaleqtyKBETR:Rate(Conditionamt)EIPA:订单价格历史:信息记录INFNR:No.ofpur.inforecord.EBELN:POdocNo.EBELP:POitemESOKZ:inforecordcategoryEKORG:Pur.orgEINE:(信息记录采购组织数据)INFNR:PurinforecdNo.EKORG:Pur.OrgESOKZ:PurinfocategoryWERKS:PlantEINA:(信息记录一般数据表)INFNR:PurinforecdNo.MATNR:MaterialLIFNR:Vendor图1-[1]:定义定价条件表Tcode:SE16:V_T681F|V/03|V/04|V/05在此步你可定义SD定价允许字段和自定义条件表,请看本篇的SD定价实例.图1-[2]:定义条件类型Tcode:SE16:V_T685A|SE16:V_T685Z和MM一样,一般是比如你为销售定价PB00定义一个参考价格ZPB0什么的,只是参考程序在SD选V而MM是选M的,如需要设置条件类型的上下限(在VK11时输入的条件值就会受限制).我记得在MM的inforecordPB00比如设置了上限100HKD,下限50HKD,这样在ME11时PB00就只能在50=X=100取值.但是如果PB00是允许手工更改在Pocondition里手工输入的值并不受这个范围限制,估计SD的一样,留点东西给读者自行测试.图1-[3]:定义存取顺序Tcode:SE16:V_T682和MM一样,实际上所有的使用到条件技术(MM定价|SD定价|Tax|output|costingsheet甚至SD的收入科目确定)的东西都共用了一些相关表格和程序,所以说condition非常简单,一通百通.:定义和分配计价过程在MM模块的定价中,我们是先定义方案组(schemagroup),方案组可以是vendor和采购组织,然后根据方案组为标准PO和转移单分配计价方案(CalculationSchma).显然SD的定价非常灵活但是只要掌握也很简单,实际中也不过是copy几个东西而已,SAP项目实施最后配置不就是按实际业务copy来copy去的吗?简而言之,SD的计价过程由(1)customer(Pricingprocedureassignedtothiscustomer)(2)salesdocumenttype(销售订单类型)(3)salesarea(销售组织+分销渠道+division)三部分决定,这是什么意思呢?如上图3.图3-[1]:定义customerpricingprocedure,你在客户主数据的salesareadata的salestab页的Pricing/Statistics的Cust.Pric.proc栏位填写.图3-[2][3[4][5]:定义documentpricingprocedure,在图3-[3]对应到销售订单和billing类型.图4是一个合成图,假设我开了个salesordertypeOR的销售定单,客户是1,itemcategor