ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SAP在建工程内部订单全流程:从预付款归集到资产转固

SAP在建工程内部订单全流程:从预付款归集到资产转固 简介这份文档面向SAP财务与资产模块的初、中级用户聚焦在建工程内部订单的全流程操作帮助解决从订单创建到资产结转各环节的实操困惑。资源为单个doc文件压缩包约887KB内容以事务代码与系统路径为主线配合分步截图说明便于对照系统界面逐步执行。手册覆盖创建内部订单并批准作业、内部订单过账、内部订单结算到在建工程、在建工程结转到固定资产四大模块涉及KO01、KO02、F-02、KO88、AS03、AW01N等关键事务代码并说明批准时自动生成在建工程资产卡片、结算规则自动创建、固定资产折旧起始等要点。目前已有445人学习适合作为日常操作参考或新员工培训资料帮助读者快速掌握内部订单与在建工程衔接的处理逻辑提升数据准确性与工作效率。1. SAP在建工程内部订单从一笔预付款到资产转固的完整链路很多做 SAP FICO 的同行都遇到过这种场景工程部签了合同、财务付了预付款钱花出去了但资产负债表上这笔钱既不是费用也不是固定资产而是挂在「在建工程」科目里。等到项目完工验收又要一次性把在建工程转成固定资产开始计提折旧。这套动作在 SAP 里靠什么承载答案就是内部订单Internal Order订单类型通常是Z001或标准0100这类归集型订单配合在建工程科目和结算规则Settlement Rule跑完整条链路。这篇笔记拆的是「SAP系统在建工程内部订单操作手册」这个标题背后的落地路径从订单创建、预算与承诺、实际成本归集到月末结算到在建工程、完工后转固、最后关闭订单。适合正在做工程类企业 FICO 实施或运维的读者也适合刚接手在建工程模块、被「订单结算报错」和「转固金额对不上」折磨过的人。下面按真实项目里我踩过的顺序讲参数、事务码、常见报错都落到可复现的粒度。2. 内部订单主数据与在建工程科目的绑定逻辑2.1 订单类型、编号范围与状态管理内部订单不是随便建一个就能用。第一步是确认订单类型Order Type它决定了编号范围、字段状态、预算参数文件和结算参数文件。工程类在建工程一般用归集型订单配置路径在SPRO → 控制 → 内部订单 → 订单类型。订单类型里最关键的三块编号范围Number Range、预算参数文件Budget Profile、结算参数文件Settlement Profile。编号范围用KANK维护工程订单建议单独开一段比如Z001对应8000000-8999999避免和费用类订单混在一起后期查报表时你会感谢自己。状态管理靠系统状态和用户状态系统状态里CRTD已创建、REL已下达、TECO技术完成、CLSD已关闭是主线。注意只有REL之后才能记实际成本TECO之后不能再记新成本但可以结算CLSD之后连结算都锁死。这个顺序是硬约束很多新手在CRTD状态就想做发票校验结果KO22直接报「订单未下达」。2.2 在建工程科目与订单的对应关系在建工程在 SAP 里是一个资产类科目通常挂在1601或自定义的16010000这类科目下。它和内部订单的关系是订单本身不直接对应某个总账科目而是通过「结算规则」把订单归集的成本结转到在建工程科目。这里有个容易混淆的点——订单归集成本时借方是费用类科目比如工程服务费、材料费贷方是应付或银行月末结算时借方是在建工程科目贷方是费用类科目把费用冲平。所以你在S_ALR_87013019订单实际/计划/承诺报表里看到的订单余额和FS10N里在建工程科目的余额在结算前是不一致的结算后才对齐。配置上要确认两件事一是结算参数文件里允许的接收者类型包含「G/L 科目」或「资产」二是这个 G/L 科目就是你的在建工程科目。如果接收者类型只配了「成本中心」那结算时你根本选不到在建工程科目这是配置阶段最常见的翻车点。2.3 创建订单的最小操作序列下面这段是创建一张工程内部订单的标准动作事务码KO01。我把它拆成可抄的步骤参数按工程类订单的常见值给。 事务码 KO01 创建内部订单 1. 输入订单类型 Z001回车 2. 输入公司代码 1000业务范围 1000 3. 订单描述2024年XX厂房建设工程 4. 保存系统生成订单号 8000001 下达订单KO02 或 KO02 批量 输入订单号 8000001点击「下达」按钮 系统状态从 CRTD 变为 REL逻辑说明KO01创建时只填订单类型和基本描述订单号由编号范围自动带出。保存后状态是CRTD此时不能记成本。必须用KO02进入订单点「下达」按钮或菜单「功能 → 下达」状态变REL后才能做采购申请、发票校验、手工记账。参数上订单类型Z001的字段状态组决定了哪些字段必输工程订单一般要求必输「负责人」「请求者」「公司代码」「业务范围」。如果保存时报「订单类型 Z001 未定义编号范围」去KANK补编号范围分配。3. 成本归集采购、发票与手工记账的三条入口3.1 通过采购订单归集承诺与实际的转换工程类成本大头是采购走的是「采购申请 → 采购订单 → 收货 → 发票校验」这条链。关键动作是在采购订单行项目里把「账户分配类别」设为F内部订单然后填订单号。这样收货时MIGO系统自动借记费用科目、贷记 GR/IR同时订单产生「承诺」发票校验MIRO时借记 GR/IR、贷记应付承诺转为实际。这里有个参数必须盯住采购订单行项目的「账户分配」页签里订单号填了之后系统会带出订单的结算规则吗不会。采购订单只负责把成本打到订单上结算规则是订单主数据里单独维护的。所以常见错误是采购订单填了订单号成本也归集了但月末结算时发现订单没有结算规则KO8G跑出来是空的。解决方法是提前在KO02里维护结算规则或者用KOAO批量维护。3.2 手工记账与分摊分配不是所有成本都走采购。工程人员的工资、内部领料、水电分摊往往通过手工记账或分摊分配进来。手工记账用KB11N输入初级成本或FB50总账直接记订单。KB11N的界面里借方选成本要素接收方选订单号贷方自动平衡。注意成本要素必须是「初级成本要素」且类别为1或3否则订单不接收。分摊分配用KSU5分摊或KSV5分配把成本中心的费用按统计指标分到订单。这里的关键参数是「循环」Cycle和「段」Segment。循环里定义发送方成本中心、接收方订单、分摊基数和百分比。我一般会先跑KSU5的测试运行看每个订单分到多少确认无误再跑正式。测试运行不产生凭证正式运行产生KSU5凭证订单实际成本增加。3.3 预算控制与承诺管理工程订单金额大预算控制不能少。预算参数文件在订单类型里指定常用Z001对应「年度预算」或「总体预算」。预算录入用KO22输入订单号和年度填预算金额。系统在采购申请或采购订单保存时会做预算检查超预算直接报错BP 预算超出。承诺管理靠KO23查看或者报表S_ALR_87013019里看「承诺」列。这里有个实操细节预算检查的时点由「容差限制」和「检查时点」控制。配置在SPRO → 控制 → 内部订单 → 预算 → 定义预算参数文件。如果检查时点只勾了「采购订单」那采购申请阶段不检查容易超预算。工程类项目建议勾「采购申请」和「采购订单」两个时点把口子扎紧。4. 月末结算到在建工程KO8G 的参数与报错排查4.1 结算规则维护KO02 里的那一步结算规则是订单和在建工程科目之间的桥。维护路径KO02进入订单 → 菜单「结算规则」→ 输入接收者类型G/L或FXA资产、接收者编号在建工程科目号、结算百分比100、结算成本要素通常是21类结算要素。保存后订单主数据里就有了结算规则。参数上接收者类型选G/L时接收者编号填总账科目号比如16010000。如果选FXA资产接收者编号填资产号但资产必须已经存在。工程类项目在完工前一般先结到在建工程科目完工后再从在建工程转固所以第一阶段用G/L接收者。结算成本要素必须是「结算成本要素」类别21否则KO8G报「结算成本要素未定义」。4.2 KO8G 结算执行与参数详解KO8G是月末结算的主力事务码。界面参数分几块订单选择订单号范围或订单类型、结算期间、处理类型测试运行/正式运行、结算参数如「仅结算实际成本」「结算到成本中心」等。我一般先跑测试运行看「结算凭证」和「差异」两列确认金额对得上再跑正式。 事务码 KO8G 结算内部订单 1. 输入订单号 8000001 到 8000010 2. 期间2024 / 12 3. 处理类型测试运行先跑 4. 结算参数勾选「实际成本」「承诺更新」 5. 执行查看输出列表 6. 确认无误后改「正式运行」再执行逻辑说明测试运行不产生会计凭证只显示每个订单结算多少、结到哪个接收者。正式运行产生结算凭证订单实际成本被结转到在建工程科目订单余额归零。参数「承诺更新」勾上后承诺也会被结转否则承诺留在订单上下月还要处理。注意如果订单有「WIP」在制品结算前要先跑KKAO计算 WIP否则结算金额会包含未完工部分导致在建工程虚高。4.3 结算报错的四类常见原因结算报错是运维高频问题我按现象、原因、解决列几条血泪经验。现象一KO8G报「订单 8000001 没有结算规则」。原因是订单主数据里没维护结算规则。解决KO02进去补或用KOAO批量补。现象二报「结算成本要素 21 未定义」。原因是结算成本要素没配或类别不对。解决KA06检查成本要素确保类别是21且在公司代码下有效。现象三结算后订单余额不为零。原因是部分成本没有参与结算比如「统计型成本要素」或「非结算成本」。解决S_ALR_87013019看订单成本明细找出未结算的成本要素检查其成本要素类别是否允许结算。现象四结算金额和在建工程科目余额对不上。原因是结算凭证的接收者科目和你在FS10N里看的科目不一致或者结算期间选错。解决FB03查结算凭证看借方科目是不是你的在建工程科目期间是不是当月。5. 完工转固与订单关闭从在建工程到固定资产5.1 转固的两种路径直接结算与先转资产工程完工后在建工程要转成固定资产。SAP 里两条路一是把结算规则的接收者从G/L改成FXA直接结到资产二是先手工把在建工程科目转到固定资产科目再关闭订单。我一般推荐第一条因为链路清晰、可追溯。改接收者类型KO02→ 结算规则 → 把接收者类型从G/L改成FXA接收者编号填资产号。资产必须先用AS01创建好资产类别选「在建工程转固」类。然后跑KO8G结算凭证借方就是固定资产贷方是结算成本要素订单余额归零。注意改接收者之前确认在建工程科目余额已经全部归集到位否则转固金额会少。5.2 资产创建与资本化日期资产创建用AS01关键字段资产类别、公司代码、资本化日期Capitalization Date。资本化日期决定折旧从哪个月开始。工程类项目一般以验收日期为资本化日期。资产创建后用AS02维护折旧范围、使用年限、折旧码。折旧码常用LINR直线法或Z001自定义。转固后用AW01N查看资产价值确认「购置价值」等于转固金额。如果不等回查KO8G结算凭证和FS10N在建工程科目余额。常见问题是转固金额包含了未完工部分的成本导致资产虚高这时候要回去检查KKAO的 WIP 计算。5.3 订单关闭与归档转固完成后订单要关闭。用KO02进入订单点「技术完成」TECO再点「关闭」CLSD。TECO后不能再记新成本CLSD后不能再结算。关闭前确认三件事订单余额为零、结算规则已执行、没有未清的承诺。如果还有承诺用KO8G勾「承诺更新」再跑一次或者用ME22N手工关闭采购订单。归档用SARA对象CO_ORDER。归档前建议先做数据备份归档后订单只能用KOB1查历史不能再修改。工程类项目订单多归档策略要提前定不然系统里堆几千张已关闭订单报表跑起来很慢。6. 避坑与排查在建工程内部订单的五个高频翻车点6.1 订单未下达就记成本现象MIRO或KB11N报「订单 8000001 未下达」。原因订单状态还是CRTD。解决KO02下达订单状态变REL。这个坑新手必踩记住「先下达后记账」。6.2 结算规则接收者类型选错现象KO8G跑完在建工程科目没变化。原因结算规则接收者类型选成了「成本中心」或「订单」成本结到别处去了。解决KO02改接收者类型为G/L或FXA重新结算。改之前先冲销上次结算凭证用KB08或FB08。6.3 预算检查时点漏配现象采购申请能保存采购订单保存时报预算超支。原因预算参数文件只勾了「采购订单」检查时点。解决SPRO里补勾「采购申请」时点或者用KO22追加预算。工程类项目建议两个时点都勾。6.4 WIP 未计算导致结算金额虚高现象KO8G结算金额比预期大在建工程科目余额偏高。原因订单有未完工部分但没跑KKAO计算 WIP结算把全部成本都转走了。解决先跑KKAO再跑KO8G。KKAO的参数里选「按订单」和期间跑完看 WIP 报表KKA1。6.5 转固后折旧不开始现象资产创建了转固也做了但AFAB跑折旧时没有这张资产。原因资本化日期填成了下个月或者折旧范围没维护。解决AS02检查资本化日期和折旧范围确保折旧码已分配。如果资本化日期已过用ABMA手工调整。7. 批量处理与报表验证把手工活压到最低工程类项目往往几十上百张订单一张张KO01、KO02、KO8G跑人力扛不住。我一般用LSMW或BAPI做批量创建和批量结算。LSMW录屏KO01创建订单导入 Excel 模板一次跑几百张。批量结算用KO8G的订单号范围选择或者用BAPI_INTERNALORDER_SETTLE写程序跑。验证环节我习惯用三张报表交叉核对S_ALR_87013019看订单实际/计划/承诺FS10N看在建工程科目余额AW01N看资产价值。三张表对上了这条链路才算跑通。下面这段是批量结算的 BAPI 调用示例参数按实际订单号替换。DATA: lt_orders TYPE TABLE OF bapiorder_settle, lt_return TYPE TABLE OF bapiret2. 填充订单号 APPEND VALUE #( orderid 8000001 ) TO lt_orders. APPEND VALUE #( orderid 8000002 ) TO lt_orders. 调用结算 BAPI CALL FUNCTION BAPI_INTERNALORDER_SETTLE EXPORTING period 012 fiscal_year 2024 test_run X 先测试 TABLES orders lt_orders return lt_return. 检查返回消息无 E 类型再改 test_run 逻辑说明BAPI_INTERNALORDER_SETTLE的test_run参数设为X时只模拟不产生凭证设为空时正式执行。period和fiscal_year指定结算期间。返回表lt_return里如果有E类型消息说明有订单结算失败逐条看消息文本定位。参数上orders表可以一次传多张订单但建议分批跑每批不超过 50 张避免锁表和超时。最后说个我自己的习惯每次跑正式结算前一定先跑测试运行把输出列表导出 Excel和上月的结算金额对比。如果某张订单金额跳变超过 20%先查采购发票和手工凭证确认不是错账再跑正式。这个习惯帮我拦下过好几次重复记账和科目串户的事故。希望帮到你。本文还有配套的精品资源点击获取
返回列表