SAP标准成本估算避坑指南:CK11N取价与发布排查全解析
简介这是一份SAP标准成本核算问题大全面向SAP CO顾问、财务关键用户以及正在学习成本核算的初学者集中梳理标准成本估算与发布环节的常见疑难。文档以问答形式组织涵盖CK11N无法取到采购订单价格、虚拟件未维护财务视图导致M3551消息、OKTZ成本组件如何更新标准价、KC694作业价格分割矛盾、CK11N与MR21价格维护的先后限制、未发布标准成本对目标成本与差异计算的影响以及CKR1删除将来价格、CK13N报CK869、CK40N报CK323等典型故障附有SAP note编号、事物代码和配置调整建议。还特别提示了虚拟件需维护采购类型E/50、初级成本要素分割勾选原则以及增强对标准程序的潜在影响。资源共1个doc文件整体691KB条目清晰便于按关键词快速查阅。已有575人浏览学习对准备上线标准成本、处理月末差异或排查成本估算报错的人员有较高参考价值。1. 标准成本估算先避开四个“反直觉”的坑SAP标准成本核算在SAP FICO实施里看着简单——BOM、工艺路线、信息记录都有了跑一遍CK11N好像就完事。但真实项目里报错最多的恰恰是那些“看起来没问题”的物料采购订单手工维护了价格CK11N照样取不到用MR21维护标准价维护得好好的CK11N一发布整个物料价格维护就被锁死采购类型为F的外购物料有BOM不读、没BOM也不报错。甚至一个成本估算在CK13N里查询时总金额为0定位到最后是标准程序增强删掉了KEPH里的一条记录。这些坑分布在MRP参数、OKTZ配置、信息记录和汇率链路上逐个拆开看反而是理解SAP标准成本估算完整逻辑的最佳路径。本文按取价、配置、发布、参数四条线展开覆盖高频问题与可复现的排查步骤。2. 取价链路排查CK11N为何取不到采购价格2.1 CK11N取不到采购订单价格信息记录才是取价入口物料已经创建了采购订单PO里手工录入了价格跑CK11N时评估结果干净地绕开了PO价格甚至提示无法确定价格。原因在于CK11N的评估变式取价时认的是采购信息记录而不是采购订单本身。采购订单手工输入价格时系统不会自动创建默认信息记录EINE表里没有该供应商与物料的组合记录成本核算自然取不到这个价。常见做法是跑CK11N之前先确认信息记录是否存在。可以用ME13查看也可以直接在数据库层面按EINE表校验SELECT eine.matnr, eine.lifnr, eine.infnr, eine.peinh, eine.ukbas, eine.netpr FROM eine JOIN eina ON eina.infnr eine.infnr WHERE eine.matnr 10000001 AND eine.lifnr SUPPLIER001 AND eine.loekz AND eina.spras 1;这个SQL里EINA存信息记录的通用层数据EINE存工厂层数据PEINH是价格单位UKBAS是订单单位转换基数NETPR是净价LOEKZ是删除标记。查询结果为空说明信息记录没有生成CK11N自然取不到PO里的手工价格。处理方式有两种一是用ME11为标准采购创建信息记录二是在评估变式里配置“先取信息记录取不到再取计划价格”的降级策略避免单点失败。2.2 多供应商取价配额协议、货源清单与信息记录的优先级同一物料存在多个供应商时标准成本计算对供应商的选择有固定顺序官方逻辑如下表优先级选择来源说明1配额协议配额协议中维护的供应商优先被选中2货源清单无配额协议时取货源清单中的供应商3采购信息记录以上都没有时从信息记录中选最低净价的供应商这个顺序直接影响成本估算结果。比如同一原材料从两家供应商采购价格不同没有配额协议和货源清单时系统会挑信息记录中净价最低的那家。如果实际采购份额主要在高价供应商那里估算结果就和实际成本偏离月末差异分析必然出问题。所以在SAP MM配置层面关键物料建议维护配额协议让取价来源稳定下来。另外dummy信息记录或首选供应商标识也会影响选择前提是评估变式里设置了对应标识。2.3 供应商寄售标准取价不认寄售信息记录供应商寄售业务里原材料标准成本默认取不到寄售信息记录的价格。原因是SAP标准情况下只对类型为Normal和Subcontract的信息记录取价寄售类型的采购信息记录不参与。解决办法有两个一是在物料主数据成本视图维护计划价格1/2/3评估变式里配置读取计划价格二是通过增强COPCP005实现寄售信息记录取价。实际项目里我一般先走计划价格方案改动小、影响面可控。增强方案虽然能精确取到寄售价格但取价是成本核算的核心链路任何增强都要回归验证所有物料的估值结果上线前至少要跑一轮完整CK40N对比。2.4 CK323外币信息记录与汇率类型PCK40N批量估算时报消息CK323问题几乎都出在外币采购信息记录上。信息记录以外币维护成本估算时需要把外币转换成本币系统找的不是OB08下维护的普通记账汇率而是CO版本配置里指定的汇率类型。如果汇率类型不对或者没有维护汇率系统就抛CK323。处理步骤先到OKKP查看CO版本里配置的成本核算汇率类型默认一般是类型P再到OB08/TCURR维护该外币与本币在P类型下的汇率。这里尤其要注意月末评估常用的M汇率和成本核算用的P汇率是两套逻辑补了P汇率才能让CK11N正常完成外币换算。2.5 原材料的附加成本、交货成本与价格因素采购价格只覆盖供应商卖价时运费、关税、装卸费、保险费这类附加成本怎么进标准成本两个入口一是CK74N手工维护附加成本之后执行CK11N时会自动包含二是通过成本核算单按百分比加成。交货成本关税、运费则通过评估变式分配采购条件类型实现比如FRB1运费、DC1关税。同一物料从不同供应商采购且价格不同还可以用CK91N维护混合成本再用CK94/CK95重估系统按配额比例计算加权价格。另外评估变式里有一个“价格因素”字段作用是换算价格单位与成本核算批量之间的关系。比如信息记录价格单位是1000件而成本核算批量是单件价格因素设成1000系统才会把千件价换算成单件价BOM主数据里也有对应的数量转换字段。这个配置点很容易漏批量估算结果偏差大时先看这里。还要提一个默认行为批量执行标准成本估算时即使原材料价格控制标识是V移动平均价CK40N也会把估算结果更新到标准价格字段。换句话说原材料“跑完就变价”是默认逻辑不想被批量覆盖就要调整评估变式或消息级别。3. OKTZ配置与异常消息标准价的生成边界3.1 哪个成本组件会更新为标准价标准价的计算范围由OKTZ成本组件视图中“与存货评估相关”的勾选状态决定。只要某个成本组件行标为与存货评估相关该组件的金额就会计入标准价会计视图。反过来如果某些组件没有勾选这个标识或者只勾了一部分就会出现一个让财务困惑的现象物料主数据成本视图里的标准价和会计视图里的标准价对不上。我的排查经验是CK11N跑完先别急着看总金额直接进OKTZ逐行核对成本组件结构再把CK13N的成本组件明细金额加总看哪一行没有被纳入存货评估。很多时候问题不是估算本身错了而是组件归属配置和业务预期不一致比如本该进“制造费用”的金额被归到了“管理费用”组件里。3.2 KC694作业价格模式的矛盾CK11N出现消息KC694“No structure could be determined for internal activity”时通常和作业价格的计算方式有关。作业价格由系统自动计算还是手工维护必须和OKTZ中是否勾选“初级成本要素分割”保持一致。勾选了初级成本要素分割意味着作业相关的成本行需要维护对应的初级成本要素系统期望作业价格是自动算出来的如果作业价格是手工维护的KP26直接录入同时又勾选了分割CK11N就会因为找不到作业对应的成本结构而报KC694。一般建议是不勾选“初级成本要素分割”。如果业务上确实需要分割那么作业价格要走自动计算路径同时在成本组件对应行里维护作业类型的初级成本要素。SAP note 1658589对这条消息有更完整的说明出现该消息时先读note再动配置。3.3 RAISE_EXCEPTION与CK869两种配置层事故CK11N直接抛ABAP Dummy错误“RAISE_EXCEPTION”优先级最高的问题点是OKTZ成本组件配置中不同组件行存在成本要素重叠。正常情况下系统不允许成本要素范围重叠但传输不完整的配置请求或者手工直接改表就可能绕过这个限制。处理办法是回到OKTZ逐行检查成本要素范围把重复的段调整干净。CK869是另一种更难定位的问题现象是CK11N执行物料成本估算后CK13N查询提示CK869成本总金额为0组件视图全部为空但CK40N却正常。遇到过项目里这个问题持续一个多月最后发incident给SAP才定位到一个标准程序上的增强把KEPH表中成本估算号的重复记录删除了一条。而正常估算中KEPH应该保留两条记录删掉一条后CK13N按估算号读取明细时数据不完整金额全部读不出来。可以用SQL检查KEPH表里是否存在记录异常SELECT kalka, kalnr, objnr, kokrs, versn, COUNT(*) AS cnt FROM keph WHERE objnr 0000010001 GROUP BY kalka, kalnr, objnr, kokrs, versn HAVING COUNT(*) 1;SQL中KALNR是成本核算号KALKA是成本核算类型OBJNR是对象号。正常结果不应出现重复估算记录。如果查出来有重复或缺失优先往增强方向排查尤其是对标准程序做的隐式增强。KEPH是成本核算核心表任何针对它的删除、修改逻辑都可能破坏CK13N的读取路径。4. 标准成本发布路径与四类成本计算逻辑4.1 CK11N与MR21的互斥关系MR21和CK11N都能给S价物料维护标准价格但两条路径不是等价替换。先使用MR21维护半成品、产成品标准价格价格控制标识S之后可以再用CK11N继续估算更新反过来一旦CK11N更新过标准价格系统就不再允许MR21直接修改S价物料此时用MR21会报消息号CKPRCH025。原因在于CK11N发布后系统认为该物料已经有正式的、基于数量结构的成本估算后续差异分析依赖这个估算版本。MR21直接改价等于绕过估算流程会破坏目标成本计算的一致性。提示发布过的S价物料MR21的维护路径基本走死。合理路径是CK11N重新估算、标记、发布而不是尝试绕回MR21。4.2 不发布标准成本、直接MR21的后果如果不对S价物料执行CK11N/CK24/CK40N直接用MR21维护标准价表面上生产收货能按手工价收货会计凭证借库存商品、贷生产成本转出看起来一切正常。但在制品、差异、废品三个环节会陆续暴露问题。基于目标成本的在制品计算无法执行差异计算报KV151和KV154废品无法评估。核心原因就一句话标准成本没有发布系统无法计算目标成本。没有目标成本差异就无法按差异类别拆分全部归入留存差异。这意味着生产订单的实际成本和计划成本之间的差异到底出在材料价格、数量还是作业价格上报表里完全看不到。所以只要用了SAP PP和CO建议标准成本一定要走成本估算并发布否则成本控制的意义就不大。上线前一个月全面跑一次标准成本把估算结果和当前实际成本差异过大的物料提前修正能避免上线发布时产生大量意外差异。4.3 标准成本、计划成本、目标成本、实际成本的计算边界这四类成本经常被混在一起但各自的取价时点和数量来源完全不同成本类型价格取数数量取数计算时点标准成本估算时价格物料作业成本核算BOM/Routing用量CK11N执行时计划成本工单创建时的物料价格与KP26作业价格工单BOM计划量、Routing计划量工单保存时实际成本领用时物料价格、报工时作业价格实际耗用数量、实际报工数量发货与报工时目标成本当前发布的标准价格按收货数量反推的应耗用量生产收货时目标成本最容易理解错它的数量不是实际领用量而是按收货数量反推的“标准情况下应耗用的量”。计划成本是创建生产订单那一瞬间的快照订单下达后BOM或Routing变了计划成本不会自动更新。实际成本随发货、报工、重估逐步写入不重估时作业价格与KP26一致重估后按重估价格。另一个常见误区是成本核算变式的归属。标准成本估算默认用PPC1工单计划成本用PPP1工单实际成本用PPP2这三者是完全独立的两条线。工单的BOM和Routing选择在工厂和订单类型参数OPL8中设置不在成本核算变式里。遇到工单成本异常先看是工单侧配置问题还是标准成本侧配置问题避免改错对象。4.4 CKR1删不掉的将来价格与CHECK_ANCHOR成本估算标记后用CKR1删除“将来的价格”有时MM03里仍然能看到成本视图1的将来价格导致MR21无法维护价格。这个问题属于典型的数据不一致。参考note1530596执行事务代码CHECK_ANCHOR勾选“消除不一致”系统会清理物料主数据里残留的将来价格状态。CHECK_ANCHOR平时基本用不到专用于清理主数据不一致遇到CKR1删不掉的情况再执行。4.5 发布日期与物料期间的限制标准成本发布的日期有硬约束一旦打开下月物料期间必须到下月才能发布标准成本。发布动作还必须在“成本核算日期起于”当天进行不能早也不能晚。四个日期的作用范围要分开看Costing date from决定估算日期同时决定标记和发布的日期窗口Costing date to成本估算的有效到期日一般配9999.12.31Qty Structure DateBOM和工艺路线对应的有效期取数日期Valuation date作业价格对应的有效期取数日期系统不允许估算日期在过去只能在当前或将来。批量跑估算时四个日期没配好可能出现新旧BOM混取、作业价格取错版本的问题这种错误在CK13N明细里一眼看不出来要核对BOM有效性起止日期和KP26的价格有效期。5. MRP参数、虚拟件与成本估算前提5.1 采购类型与特殊采购类型决定估算入口MRP视图里的采购类型E自制/F外购/X自动直接影响标准成本估算的入口选择这是SAP MM配置里容易被忽略但影响最大的一组参数采购类型/特殊采购类型估算逻辑典型异常E 自制优先取BOM和工艺路线无BOM报CK424无Routing报CK229都无报CK060/CK240F 外购按评估变式的物料价格取值策略不取BOM结构价格策略无值则结果为空X 自动先按自制估算无结构转外购结构缺失时静默切换容易忽略F 特殊采购30委外加工必须有委外信息记录否则报错E 特殊采购50虚拟件见5.2特殊采购80跨工厂生产关联STO场景下需关注来源工厂价格采购类型为E时无BOM报CK424、无工艺路线报CK229消息默认是警告还是错误取决于后台配置生产环境里见过连续几年CK424停留在警告级别导致大量物料没有成本——因为估算能保存只是在日志里有一条黄色消息。采购类型X的自动切换逻辑最容易让人困惑自制结构缺失时系统直接按外购走报警级别又低经常到发布环节才发现成本不对。跑估算前按物料范围检查采购类型比跑完再看日志成本低得多。特殊采购类型30委外加工需要委外信息记录这在成本估算里是硬依赖。跨工厂生产80则涉及来源工厂的成本状态如果上游工厂标准价没发布下游物料取到的价格就是来源工厂的评估价格可能不是预期值。5.2 虚拟件与M3 551BOM中启用虚拟件特殊采购类型50如果虚拟件没有维护财务视图CK11N会提示M3 551不能从标准价改为移动平均价因为存在负数评估库存。正常情况下虚拟件需要维护MRP视图中的采购类型和特殊采购类型为E/50。这个维护动作的意义在于系统在成本估算时识别出虚拟件自动展开其下层组件。虚拟件的成本估算结果有一个特点系统会对虚拟件单独估算但查看上层物料成本估算明细时虚拟件不单独体现而是下层物料的成本直接体现在成本卷算中。也就是说虚拟件的存在不影响父物料的成本结构展示但它的评估状态会影响上层物料能否顺利发布跑CK40N前批量检查虚拟件的财务视图状态是比较稳妥的做法。5.3 成本估算执行前的检查清单在实际项目里我一般按下面的顺序做CK11N/CK40N之前的静态检查比跑完估算再逐条看消息高效得多物料主数据工厂状态允许成本核算costingMRP2视图采购类型E/F/X和特殊采购类型30/50/80是否正确Costing lot size不能小于价格单位委外物料确认信息记录存在BOM和Routing存在且状态允许成本核算组件和工序都勾选了成本相关标识消息CK138建议改为错误。默认为警告时下层物料标准成本估算错误上层物料仍然可以发布问题会向上层传导无价值物料可以在成本视图1勾选“Do not cost”跑估算时跳过这些物料物料主数据没有维护MRP视图时物料仍然可以评估但系统找不到BOM和Routing只评估物料自身第8条值得单独说。物料没有MRP视图时没有任何消息提示CK40N跑完一看结果BOM结构完全没展开物料被当成外购件单层评估了。建议批量跑估算前用MM17或报表检查物料主数据视图完整度把缺MRP视图的物料一次性补齐。5.4 生产订单收货与未发布价格半成品、产成品没有成本估算时下生产订单SAP标准情况下没有任何提示收货时才出现警告消息CK465无法确定物料价格。警告状态下收货可以保存但只产生物料凭证没有会计凭证到月末结账就会发现库存和总账对不上。处理办法用OPR4_PPCO把CK465改成错误从源头拦截无价格收货。如果要求在创建生产订单时就报错标准配置做不到需要利用出口PPCO0001写增强做校验。这种增强只做消息拦截不修改标准取价逻辑风险相对可控。注意如果MR21已经给出了标准价或者创建物料主数据时维护了标准价格系统仍然可以按这个价格收货不会触发CK465道理在于系统认为物料有估价只是没有成本估算。6. 特殊库存、批量成本估算与成本核算变式边界6.1 特殊库存的成本估算入口项目库存和销售订单库存不能直接走CK11N估算入口按库存类型区分库存类型事务代码前提条件项目库存CKW1/CKW4创建WBS BOM和工艺路线销售订单库存CK51N销售订单关联BOM和Routing生产批量SeibanMDL1 CS71 CKW1批量对应WBS批量相关BOM和Routing项目库存用CKW1估算时取的是WBS BOM和WBS工艺路线和离散生产的物料BOM是分开维护的。销售订单库存走CK51N估算结果挂在销售订单成本对象下。CKW1估算后的价格同样会更新到物料价格字段但前提条件和CK11N略有差异批量跑之前要在评估变式里确认WBS相关的选型配置。6.2 从创意到量产三种成本估算方法SAP针对产品不同阶段设计了不同的标准成本计算方法。产品创意到原型阶段还没有物料号用Reference and Simulation Costing通过CKUC/KKE1/KKE2/KKE3创建base planning object搭建成本层次做模拟估算。有物料但没有BOM和工艺路线时用Material Cost Estimate Without Quantity Structure在成本层面搭一个可变BOM来代表物料结构算出一个参考成本。到了量产阶段有物料也有BOM和工艺路线就用最常用的Material Cost Estimate with Quantity Structure也就是CK11N的常规路径。三个阶段精度递增方法不可混用。量产阶段如果还在用无数量结构的方法估算说明BOM或Routing没有正确挂接估算结果不会包含数量结构成本。反过来新产品导入阶段强行用CK11N跑会因为BOM不存在直接报CK060。6.3 Seiban生产批量成本估算的落地配置同一产品不同生产批量对应不同BOM和Routing这是ETO或重复制造场景的典型需求。SAP的方案是Pre-planned Seiban模式用MDL1定义生产批量系统自动生成对应的WBS批量与WBS一一对应用CS71创建批量相关的WBS BOMRouting同样按批量建立最后用CKW1/CKW4执行成本估算。这种模式下成本对象是销售订单或成本收集器需要启用PS模块。这里有一个需要特别留意的点如果关联到WBS的生产订单物料没有执行CKW1估算系统会以生产订单计划成本作为存货的转出成本也就是标准成本。这个行为在期末差异分析时会造成“标准成本缺失”的假象——差异不归因于定价错误而是归因于没有执行WBS相关成本估算。项目里如果启用了SeibanMDL1创建批次后要立刻检查CS71的BOM是否都已创建避免生产订单下达后才发现估算缺失。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联
返回资讯列表 →