ARTICLE DETAIL

资讯详情

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

SAP FICO 核心链路解析:凭证流转、成本分摊与月结排错

SAP FICO 核心链路解析:凭证流转、成本分摊与月结排错 简介这份资源是面向SAP初学者、财务信息化从业者及企业ERP实施人员的FICO模块基础培训课件用于系统建立对财务会计与管理会计整体架构的认知框架适合入门学习或作为内部培训参考。资源包共1个文件为PPTX演示文稿压缩后约3.14MB内容以图文讲义形式呈现便于投影讲解或课后自学翻阅。课件围绕FICO模块综述展开梳理了集团、会计科目表、公司代码、业务部门、成本控制范围、利润中心等组织单位与组织结构关系说明FI与CO各子模块的职能划分并进一步讲解总帐科目主记录、客户与供应商主记录、统驭科目、凭证输入、记账期间、特别总帐业务等会计数据要点同时结合销售订单、采购订单、收货、发票校验等流程展示FI与MM、SD、AM等模块的自动记账与集成逻辑配有资产负债表、损益表、现金流量表及成本中心、利润中心报表体系说明。资料已有542人学习适合作为FICO入门的结构化学习材料。1. FICO 模块到底在 SAP 里管什么从一张会计凭证说起很多人第一次参加 SAP FICO 培训会以为它只讲财务做账。真正落到系统里FICO 是 FI财务会计和 CO管理会计的合称它决定了一张采购收货单为什么能自动生成存货科目和 GR/IR 过渡科目的分录也决定了月末成本中心费用怎么分摊到产品上。这个标题对应的内容本质是把 SAP 里“业务事件如何变成会计凭证、凭证如何进入总账和成本对象、月结如何收口”这条链路讲清楚。适合 SAP 顾问、关键用户和 ABAP 开发顾问要懂配置落到哪张表开发要知道从 BKPF/BSEG 或 ACDOCA 取数关键用户要能独立跑 F-02、MIRO、AFAB 和 KSV5。学完能解决三类问题凭证不平怎么查、科目余额和报表对不上怎么追、月结顺序怎么排。2. FICO 的组织结构怎么落到表里公司代码、科目表、成本中心2.1 公司代码、控制范围、经营范围的配置关系在 SAP 里组织结构不是画在 PPT 上的框图而是配置表里的一行行数据。FI 侧最核心的是公司代码Company Code它对应一张资产负债表和损益表的最小法人单元。一个公司代码必须分配给一个科目表Chart of Accounts科目表决定总账科目号段和字段状态。CO 侧最核心的是控制范围Controlling Area它可以跨公司代码用来统一成本中心、内部订单、利润中心的分摊和结算规则。公司代码与控制范围是多对一或一对多取决于集团是否要跨公司做成本核算。配置路径企业结构 - 定义 - 财务会计 - 定义公司代码企业结构 - 定义 - 控制 - 定义控制范围。实际项目里常见做法是先定控制范围再挂公司代码避免后期跨公司分摊时控制范围不够用。经营范围Operating Concern用于获利能力分析CO-PA它和控制范围可以一对一也可以多对一。若只做成本中心会计和产品成本不启用 CO-PA可以不配经营范围但 S/4HANA 里很多行业方案默认要求激活。2.2 用 SE16N 和 Open SQL 查 FICO 主数据表培训时最有效的方式是直接看表。下面这张表把组织结构相关的表列出来。表名说明关键字段T001公司代码BUKRS, BUTXT, KTOPL, WAERST004科目表KTOPL, KTPLTTKA01控制范围KOKRS, BEZEI, WAERSCSKS成本中心主数据KOKRS, KOSTL, DATBI, DATABCEPC利润中心PRCTR, KOKRS, DATBIT001K公司代码/工厂分配BUKRS, WERKS用 SE16N 输入 T001可以看公司代码对应的科目表和货币。若用 Open SQL可以这样查DATA: lt_t001 TYPE TABLE OF t001. SELECT bukrs butxt ktopl waers INTO TABLE lt_t001 FROM t001 WHERE bukrs IN s_bukrs. s_bukrs 是选择屏幕上的公司代码范围 输出时注意 WAERS 是公司代码本位币逻辑说明这段 ABAP 只读公司代码主数据不涉及凭证表。参数 S_BUKRS 一般用 SELECT-OPTIONS 定义类型 BUKRS。如果查不到数据先看用户是否有 T001 的显示权限再看公司代码是否被传输请求带到了当前客户端。开发环境常见坑是客户端 100 配了测试客户端 200 没配导致程序空跑。2.3 科目表与总账科目的关键字段总账科目主数据在 SKA1科目表级和 SKB1公司代码级。SKA1 存科目号、科目组、科目表SKB1 存公司代码下的货币、税务码、字段状态组、排序码。科目组决定科目号段和字段状态字段状态组决定过账时哪些字段必输。很多“凭证过账时字段灰掉”的问题根因就在字段状态组。常用事务码FS00 创建/修改总账科目FSP0 科目表级FSS0 公司代码级。培训时建议让学员用 FS00 看一个科目再跳到 SKB1 查表理解前台和后台的对应关系。提示S/4HANA 里总账科目主数据仍然保留 SKA1/SKB1但凭证行项目已经迁移到 ACDOCA 统一日记账。若只查余额FAGLL03 比 FBL3N 更接近新总账口径。3. 总账凭证过账的基本原理从 FB50 到 BKPF/BSEG3.1 凭证抬头与行项目的表结构一张 FI 凭证在数据库里至少落在两张表BKPF 存抬头BSEG 存行项目。BKPF 关键字段包括 BUKRS公司代码、BELNR凭证号、GJAHR会计年度、BLART凭证类型、BLDAT凭证日期、BUDAT过账日期、WAERS货币、XBLNR参考凭证号。BSEG 关键字段包括 BUKRS、BELNR、GJAHR、BUZEI行项目号、BSCHL记账码、HKONT总账科目、SHKZG借贷标识、DMBTR本位币金额、WRBTR凭证货币金额、KOSTL成本中心、PRCTR利润中心、AUFNR内部订单。记账码 BSCHL 决定行项目是借还是贷也决定字段状态。比如 40 是总账借记50 是总账贷记31 是供应商发票21 是供应商付款。凭证类型 BLART 决定凭证号范围SA 是总账凭证KR 是供应商发票DR 是客户发票KZ 是供应商付款。理解这两个字段才能看懂 FB50 过账时系统默认带出的科目和借贷方向。3.2 凭证分割与平行货币的落地方案凭证分割Document Splitting是新总账里的核心功能目的是让资产负债表科目按维度如利润中心、段、公司代码自动分割保证每个维度单独出报表。配置路径财务会计 - 总账会计 - 业务交易 - 凭证拆分 - 激活凭证拆分。激活后过账时系统会读取分割规则把原本没有维度的行项目拆成带维度的多行。常见问题激活凭证拆分后历史凭证没有分割特征导致 FAGLL03 按段查询时余额不对。解决方法是跑迁移程序或者把启用日期放在新年度。平行货币用于多币种报表。S/4HANA 里通常用 ACDOCA 的货币字段集团货币、硬通货等。配置在货币类型里定义。如果只做本位币可以跳过。培训时建议用一个简单场景公司代码本位币 CNY凭证货币 USD观察 BSEG 里 DMBTR 和 WRBTR 的差异。3.3 用 ABAP 读 BKPF/BSEG 复现一张凭证下面这段 ABAP 按凭证号读抬头和行项目适合做凭证查询报表或接口。DATA: ls_bkpf TYPE bkpf, lt_bseg TYPE TABLE OF bseg. SELECT SINGLE * INTO ls_bkpf FROM bkpf WHERE bukrs p_bukrs AND belnr p_belnr AND gjahr p_gjahr. IF sy-subrc 0. SELECT buzei bschl hkont shkzg dmbtr wrbtr kostl prctr INTO TABLE lt_bseg FROM bseg WHERE bukrs p_bukrs AND belnr p_belnr AND gjahr p_gjahr ORDER BY buzei. ENDIF. 注意 BSEG 是簇表直接 SELECT 字段时不要用 SELECT *否则性能差参数说明P_BUKRS 类型 BUKRSP_BELNR 类型 BELNR_DP_GJAHR 类型 GJAHR。逻辑说明先读 BKPF 判断凭证是否存在再读 BSEG 取行项目。BSEG 是簇表按主键读效率高但避免全表扫描。如果要在 S/4HANA 里查统一日记账应改用 ACDOCA表结构更宽包含所有子模块的行项目。字段表含义常见取值BUKRSBKPF/BSEG公司代码1000BELNRBKPF/BSEG凭证号100000001GJAHRBKPF/BSEG会计年度2025BLARTBKPF凭证类型SA/KR/DRBSCHLBSEG记账码40/50/31/21HKONTBSEG总账科目10010100DMBTRBSEG本位币金额1000.00SHKZGBSEG借贷标识S/H4. 应收应付与资产会计的基本原理BP、MIRO、AFAB4.1 BP 配置与客户/供应商主数据的表关系SAP 从 ECC 到 S/4HANA客户和供应商主数据逐步统一到业务伙伴Business PartnerBP。BP 配置常用事务码 BP后台配置在跨应用组件 - 业务伙伴 - 基础设置。BP 通过角色关联客户或供应商角色表 BUT100BP 主表 BUT000客户扩展表 KNA1供应商扩展表 LFA1公司代码层扩展 KNB1/LFB1。CVICustomer Vendor Integration负责把旧客户/供应商映射到 BP。查询时常用表BUT000BP 抬头、BUT020地址、BUT100角色、KNA1客户一般数据、LFA1供应商一般数据。培训时容易混淆KNA1 和 BUT000 不是同一张表BP 是主入口KNA1/LFA1 仍存旧字段。做接口时若用 BAPI 创建供应商推荐 BAPI_BUPA_CREATE_FROM_DATA而不是直接写 KNA1。权限对象常用 B_BUPA_RLT 和 F_KNA1_BUK。4.2 MIRO 发票校验与 GR/IR 清账的参数MIRO 是物流发票校验的事务码对应的表是 RBKP抬头和 RSEG行项目。采购收货时系统按收货数量生成 GR/IR 过渡科目分录发票校验后再冲销 GR/IR。若发票数量与收货不一致余额会留在 GR/IR月末用 MR11 清理。MIRO 常见增强点是“MIRO 拆分增强”用于把发票按采购订单行、成本中心或资产拆分到不同科目。拆分后如果无法清账先查 RSEG 里的 KOSTL、AUFNR、PS_POSID 是否为空再看 GR/IR 科目是否勾选了“未清项管理”。配置参数发票校验的容差在 OMR6 定义包括金额容差、数量容差、日期容差。若发票被阻塞查看 RBKP 的 RBSTAT发票状态和 RSEG 的 XBLNR。付款前若发现发票已过账但打不开发票号通常是发票号在 BKPF 的 XBLNR 字段而 FBL1N 的布局没有显示该字段。表名说明关键字段RBKP发票抬头BELNR, GJAHR, LIFNR, BUKRSRSEG发票行项目BELNR, GJAHR, BUZEI, EBELN, EBELPEKBE采购历史EBELN, EBELP, VGABE, BEWTPBSIK应付未清项LIFNR, BUKRS, BELNRBSAK应付已清项LIFNR, BUKRS, BELNR4.3 固定资产折旧AFAB 运行与折旧范围固定资产会计的核心表ANLA资产主数据、ANLB折旧范围、ANLC资产年度值、ANLZ资产时间相关数据。折旧运行用 AFAB后台作业通常按月跑。折旧范围Depreciation Area决定不同账簿的折旧规则比如 01 是账面折旧15 是税务折旧。折旧码Depreciation Key在 AFAMA 定义包含折旧方法、使用年限、起始规则。执行 AFAB 前先用 AJAB 关闭旧年度用 AJRW 打开新年度。跑折旧时选择公司代码、会计年度、期间先测试运行看日志里是否有错误。常见错误资产已资本化但折旧范围没有分配折旧码或资产的使用年限为 0。折旧过账后生成 FI 凭证凭证类型 AF。若发现折旧金额与手工计算不符用 AW01N 查看资产浏览器里的折旧明细。4.4 用 FBL3N / FAGLL03 查科目余额表FBL3N 查总账科目行项目FAGLL03 是新总账的行项目浏览器。两者区别FBL3N 读 BSEGFAGLL03 读 FAGLFLEXA 或 ACDOCA。若在 S/4HANA 里优先用 FAGLL03。导出科目余额表可以用 FS10N 看余额FBL3N 看明细SE16N 查 BSEG。若需要按成本中心、利润中心出余额FAGLL03 的布局里加上 KOSTL、PRCTR 字段。SELECT kunnr bukrs belnr gjahr buzei dmbtr INTO TABLE DATA(lt_bsid) FROM bsid WHERE bukrs p_bukrs AND kunnr p_kunnr AND gjahr p_gjahr. BSID 是客户未清项BSAD 是客户已清项 如果查供应商把 BSID 换成 BSIKKUNNR 换成 LIFNR参数说明P_BUKRS 公司代码P_KUNNR 客户号P_GJAHR 会计年度。逻辑说明BSID 只存未清项已清项会移到 BSAD。若想查全部需要 UNION。开发时注意 BSID 是簇表按主键或索引查不要用 KUNNR 前导通配符。5. 成本中心、内部订单与产品成本CO 模块如何分摊费用5.1 成本中心与作业类型成本中心主数据在 CSKS抬头和 CSKT文本。成本中心按控制范围、成本中心、有效期组织。作业类型在 CSLA用于把成本中心的费用按作业量分摊到生产订单或内部订单。作业类型有计划价格和实际价格用 KP26 维护计划价格KSPI 计算实际价格。成本中心费用过账后用 KSB1 查看成本中心行项目。常见配置成本中心类别决定允许的作业类型和货币。成本中心组Cost Center Group用 KSH1 维护分摊循环里用组来指定发送方和接收方。若成本中心没有分配到标准层次报表会看不到。标准层次在 OKKP 里定义。5.2 KSV5 / KSU5 分摊循环的配置与执行分摊循环用 KSU5实际分摊或 KSV5计划分摊执行。配置在 KSU1/KSV1 创建循环KSU2/KSV2 修改。循环包含段每个段定义发送方、接收方、分摊基数和分摊方式。分摊基数可以是固定百分比、统计指标、作业量。接收方可以是成本中心、内部订单、WBS 元素。执行顺序很重要先跑 KSU5 分摊再跑 KSS2 分割再跑 KSII 计算实际价格最后跑 CO88 或 KO88 结算。若顺序错了实际价格计算会包含未分摊的费用导致产品成本失真。常见错误分摊循环里发送方成本中心没有费用或者接收方没有分配分摊基数导致循环执行后金额为 0。事务码说明执行顺序KSU5实际分摊循环1KSS2成本中心分割2KSII实际价格计算3KO88内部订单结算4CO88生产订单结算55.3 KO88 结算与增强点KO88 用于内部订单结算把订单归集的费用结算到资产、成本中心、GL 科目或 WBS。结算规则在 KO02 维护结算参数文件在 OKO7 定义。结算时系统读取订单的实际成本按结算规则生成 FI 凭证。若结算报错先看订单状态是否 DLV 或 TECO再看结算规则里的接收方是否有效。增强点KO88 常用 BADI 或出口增强比如在结算前校验订单预算或在结算后写自定义表。ABAP 里可以用 BADI_ACC_DOCUMENT 或 CO 的结算增强。若做 KO88 增强注意不要修改标准结算逻辑只做附加校验。开发环境里可以用 CL_EXITHANDLER 查可用 BADI。DATA: lt_aufk TYPE TABLE OF aufk. CALL FUNCTION K_ORDER_READ EXPORTING aufnr p_aufnr TABLES t_aufk lt_aufk EXCEPTIONS not_found 1 others 2. AUFK 存内部订单主数据包含订单类型、控制范围、公司代码 若只看状态查字段 STAT 或 PHAS1参数说明P_AUFNR 是内部订单号。逻辑说明K_ORDER_READ 是传统函数模块S/4HANA 里仍可用但推荐用 CDS 视图或 API。AUFK 表里 OBJNR 是对象号用于关联 COEP、COSP 等成本表。若查订单实际成本用 COEP成本行项目或 COSP成本汇总。6. 月结与进阶排错从 F-92 到值流监视器6.1 月结检查清单与常用事务码FICO 月结不是从 AFAB 或 KSV5 开始的而是从业务模块关账开始。MM 侧要做 MIGO 检查、MMPV 关闭期间、MIRO 发票校验SD 侧要做 VF04 集中开票、VL02N 检查交货单。FI 侧先跑 FAGLL03 看科目余额再跑 F-92 处理客户贷项凭证跑 F110 自动付款跑 FAGLGVTR 结转余额。CO 侧按 KSU5 - KSS2 - KSII - KO88/CO88 顺序执行。固定资产在 AJAB/AJRW 之后跑 AFAB。检查项事务码说明客户贷项凭证F-92注意自动冲销设置自动付款F110付款建议、付款运行余额结转FAGLGVTR新年度余额折旧运行AFAB先测试后正式值流监视器S/4HANA 菜单核对物料账与 FI6.2 值流监视器与凭证流排错在 S/4HANA 里物料分类账和 FI 之间的价值流动可以用值流监视器查看。常见场景生产订单结算后CO 凭证和 FI 凭证金额不一致或者物料价格差异没有进入差异科目。排错时先看 COEP 里的成本行项目再看 ACDOCA 里的 FI 行项目最后用值流监视器看差异层。凭证流可以用 FB03 里的“凭证流”按钮或 AW01N 看资产凭证流。若 FI 有发票过账凭证但打不开发票号检查 BKPF 的 XBLNR 和 RBKP 的 XBLNR 是否一致。若 MIRO 拆分增强后无法清账查 RSEG 里的 GR/IR 科目是否勾选“未清项管理”并检查拆分后的行项目是否都有分配字段。6.3 一个具体技巧用 SQL 查未清项与库存细分SELECT AR AS typ, bukrs, kunnr AS partner, SUM(dmbtr) AS amt FROM bsid WHERE bukrs 1000 AND gjahr 2025 GROUP BY bukrs, kunnr UNION ALL SELECT AP AS typ, bukrs, lifnr AS partner, SUM(dmbtr) AS amt FROM bsik WHERE bukrs 1000 AND gjahr 2025 GROUP BY bukrs, lifnr;逻辑说明BSID 是客户未清项BSIK 是供应商未清项DMBTR 是本位币金额。参数按实际公司代码和年度替换。若要看库存细分在 S/4HANA 里用库存细分报表按库存类别、评估类、工厂分组和 FI 存货科目余额核对。月结前把 PFCG 权限检查一遍避免关键用户没有 AFAB 或 KSU5 的执行权限导致月结卡在权限上。本文还有配套的精品资源点击获取
返回列表