SAP公司间业务配置全解析:STO、IDoc与六种形态落地指南
简介这份PDF资料面向SAP顾问、财务与供应链实施人员系统梳理集团内部公司间协同的六类典型业务场景及配置方法涵盖第三方销售、跨公司销售、公司间转储、跨公司转储STO、转包与跨公司采购并延伸至公司间资产转移、清账科目配置等财务处理要点。资源包内含1个PDF文件约20.06MB内容以图文结合方式呈现业务流程图、参考步骤与配置说明便于对照系统操作逐项理解。资料重点讲解SD、MM、PP、FI多模块联动以及IDoc在自动发票校验、收货过账中的触发机制帮助读者厘清公司间交易从接单、物流到结算的完整链路。目前已有12925人学习下载适合需要掌握跨公司业务配置、排查公司间凭证与清账问题的中高级用户参考也可作为集团内部协同项目的实施辅助材料。1. 六种公司间业务难的不是配置本身一家集团在国内有三家法人公司A 公司负责采购原料B 公司负责生产C 公司负责对外销售。财务月底对账时发现B 卖给 C 的成品在 C 的账上挂了存货但 A 卖给 B 的原料在 B 的账上却走了费用——同一批货三家公司三种记法。这类问题几乎每个上 SAP 的集团都会遇到根子不在财务水平而在公司间业务Intercompany的链路没设计清楚。SAP 里的公司间业务指的是同一集团下两个不同公司代码之间发生的交易。它和普通采购销售最大的区别是一张单据要同时触发买卖双方的账还要保证集团合并时能抵消干净。常见的六种形态是公司间采购含 STO 库存调拨、公司间销售、公司间委外、公司间寄售、公司间服务/费用分摊、公司间资产转移。前三种占了实际项目里八成以上的工作量STO 和 IDoc 是绕不开的两个关键词。这篇按“先想清楚为什么这么配再动手配一遍”的顺序走覆盖定价、单据类型、输出控制、IDoc 分发、对账排错。适合已经做过 MM 或 SD 基础配置、要接手集团间交易的人。2. 公司间采购与 STO 的配置链路2.1 为什么优先用 STO 而不是普通 PO公司间采购最常见的实现是库存转储单STOStock Transport Order。它和普通采购订单的区别在于STO 的收货动作会同时产生物料移动和公司间发票的应收应付而普通 PO 需要额外挂一张公司间销售订单才能闭环。选 STO 的理由有三个一是单据少一张 STO 走完发货、收货、开票二是库存移动类型如 643/645自带在途逻辑货权转移清晰三是和 MRP 天然衔接需求可以直接跑出 STO 采购申请。代价是配置点多。STO 要同时配好采购侧的单据类型、供应商主数据里的“公司间供应商”标识、销售侧的开票类型以及两边公司代码的定价过程。少一个收货时就报“无法确定公司间供应商”。2.2 STO 单据类型与供应商主数据的对应STO 的单据类型常见有 UB标准公司间转储、NB普通采购也可用于公司间但需额外配置。我一般用 UB因为它默认带公司间开票逻辑。供应商主数据这边关键是在采购视图里把供应商类型设为“公司间供应商”字段 LFB1 里的“公司间”标识并填上对应的客户编号。这个客户编号就是卖方公司代码下的客户主数据两边必须成对存在。配置对象事务码关键字段常见值STO 单据类型SPRO / OMJJ采购凭证类型UB供应商主数据BP / XK01公司间供应商标识勾选供应商主数据BP / XK01对应客户编号卖方客户号客户主数据BP / XD01公司间客户标识勾选客户主数据BP / XD01对应供应商编号买方供应商号这张表里最容易漏的是客户侧的“对应供应商编号”。只配了供应商侧收货时系统找不到卖方客户开票就断在 SD 那边。2.3 用 STO 跑通一次公司间调拨的最小步骤配置完主数据后用 ME21N 建一张 UB 类型的 STO供应商填公司间供应商收货工厂填买方工厂。保存后走以下动作# 1. 卖方工厂发货VL10B 或 VL02N VL10B # 按 STO 生成交货单 VL02N # 过账发货移动类型 643产生在途库存 # 2. 买方工厂收货MIGO MIGO # 参照 STO 收货移动类型 101在途转实库存 # 3. 公司间开票VF01 / MIRO VF01 # 卖方开公司间发票生成应收 MIRO # 买方做发票校验生成应付逻辑说明643 发货时货权还在卖方但库存已转“在途”101 收货后买方入库同时系统按 STO 里的公司间价格生成应付暂估。VF01 开票时系统读取卖方客户主数据和定价过程生成应收。MIRO 校验后应付正式入账。参数上要盯两个一是 STO 里的“公司间价格”它来自采购信息记录或定价条件不是物料标准价二是交货单里的“收货工厂”填错会导致 101 过账到错误公司代码。提示如果 101 收货时报“移动类型不允许”先查 OMJJ 里 101 对 UB 单据类型的分配再查工厂的收货地址是否维护。3. 公司间销售与 IDoc 输出控制3.1 公司间销售和 STO 的分工公司间销售Intercompany Sales走的是 SD 链路卖方开销售订单买方做采购订单两边通过公司间发票结算。它和 STO 的区别在于STO 是采购驱动公司间销售是销售驱动。当集团要求卖方主动发货、买方被动收货时用公司间销售更顺。典型场景是 C 公司对外销售但货从 B 公司发。这时 C 开对外销售订单B 开公司间销售订单给 CB 发货给 CC 再发给最终客户。链路长但货权和开票关系清楚。3.2 公司间销售的单据类型与定价过程公司间销售订单的单据类型常用 IV公司间开票请求或标准 OR 加公司间标识。定价过程要单独配一个因为公司间价格通常不等于对外售价。配置要点销售订单类型IV 或 OR需在“公司间”标识里勾选定价过程复制标准过程把条件类型换成公司间专用如 PI01开票类型IV 对应的开票类型通常是 IVB 或 IVC客户主数据买方公司代码下的客户需勾“公司间”标识定价过程里最关键的是条件类型 PI01公司间价格它从采购信息记录或条件表里取数。如果取不到开票金额为 0财务对账时才发现。3.3 用 IDoc 把公司间发票分发出去公司间发票开完后很多集团要求自动分发到买方系统或外部系统。这时用 IDoc 输出控制。配置路径是 SPRO → 销售与分销 → 基本功能 → 输出控制 → 输出确定。-- 查输出条件记录确认公司间开票的输出类型 SELECT * FROM NAST WHERE KAPPL V3 -- V3 表示开票 AND KSCHL RD00 -- RD00 是常见 IDoc 输出类型 AND OBJKY LIKE IV%;逻辑说明NAST 是输出条件表KAPPL 区分应用V3 是开票KSCHL 是输出类型。RD00 通常对应 IDoc 分发。查到记录后用 WE02 看 IDoc 状态WE19 可以测试重发。参数上注意输出类型要挂到开票类型的输出确定过程里过程里要配“访问顺序”否则系统找不到条件记录。IDoc 的接收方在伙伴参数里配端口在 WE21 里建。注意IDoc 状态 51 表示应用文档未过账53 表示过账成功但 IDoc 有错。51 先查开票是否成功53 查 IDoc 字段映射。4. 公司间委外、寄售与费用分摊的落地差异4.1 公司间委外采购和生产的交叉点公司间委外是 A 公司提供原料给 B 公司B 公司加工后成品回 A。它同时涉及采购委外 PO和生产B 的工单。配置上要在委外 PO 里指定“提供组件”的工厂并确保组件从 A 公司代码发出。关键配置是移动类型 541委外发料和 101成品收货。541 发货时组件从 A 的库存转到 B 的委外库存货权仍属 A。101 收货时成品入 A 的库存同时生成 B 的加工费应付。4.2 公司间寄售货权不转移的调拨寄售和 STO 的区别是货权。寄售时货放在 B 的仓库但货权属 AB 领用时才结算。配置上要用寄售 PO单据类型 KB和寄售库存特殊库存 K。# 寄售发货A 把货发到 B 的寄售库存 VL10B # 生成寄售交货单 VL02N # 过账移动类型 631货权仍在 A # B 领用从寄售库存转自有 MIGO # 移动类型 411 K生成 A 的应收和 B 的应付逻辑说明631 发货时库存转到 B 的寄售库存A 的库存减少但货权未转移。411 K 领用时系统按寄售价格生成公司间结算。寄售价格来自寄售信息记录不是采购信息记录。4.3 公司间费用分摊没有实物流的结算费用分摊是 A 公司替 B 公司垫付费用如 IT 服务费、租金月底分摊。它不走库存走成本中心或内部订单。配置上用分摊循环KSU5或内部结算KO8G。业务形态驱动单据关键移动类型结算方式公司间采购STO643/101公司间发票公司间销售销售订单601/101公司间开票公司间委外委外 PO541/101加工费发票公司间寄售寄售 PO631/411 K寄售结算费用分摊分摊循环无内部结算这张表里费用分摊是唯一没有库存移动的配置时容易和前面几种混。它的对账靠成本中心报表不是 MM 报表。5. 公司间对账排错与 IDoc 重发技巧5.1 用 MB5L 和 MR11 查公司间库存差异公司间业务跑一段时间后最常见的问题是两边库存对不上。查差异用 MB5L库存科目余额和 MR11GR/IR 清理。-- 查公司间在途库存确认 643 发货后 101 是否及时收货 SELECT MATNR, WERKS, LGORT, LABST, INSME FROM MARD WHERE WERKS IN (1000, 2000) AND INSME 0; -- INSME 是在途库存逻辑说明MARD 是库存表INSME 字段是在途数量。如果 643 发货后 INSME 长期不为 0说明 101 收货没做或做错。这时用 MB51 查移动记录确认 101 是否过账到正确工厂。参数上注意MB5L 按公司代码查MR11 按 GR/IR 科目查。两者结合能定位是发货侧还是收货侧的问题。5.2 IDoc 卡在 51 或 53 时的处理顺序IDoc 卡住时先看状态码。51 是应用文档未过账53 是过账成功但 IDoc 有错。处理顺序WE02 查 IDoc 状态和错误消息51 状态查开票是否成功VF03 看发票状态53 状态查 IDoc 字段映射WE19 测试重发重发用 BD87按消息类型和日期筛选# 用 BD87 重发公司间发票 IDoc BD87 # 输入消息类型 RD00日期范围执行 # 或用 WE19 手动测试 WE19 # 输入 IDoc 号修改后重发逻辑说明BD87 是批量重发工具适合月底集中处理。WE19 是单条测试适合排查字段映射问题。重发前要确认应用文档已过账否则重发也过不了。提示IDoc 重发不会重复过账系统会检查应用文档状态。但如果应用文档已冲销重发会报错这时要先重建应用文档。5.3 公司间定价取不到数的排查公司间定价取不到数开票金额为 0是另一个高频问题。排查顺序先查条件记录VK13再查定价过程V/08最后查信息记录ME13。-- 查公司间定价条件记录 SELECT * FROM KONP WHERE KNUMH IN ( SELECT KNUMH FROM KONH WHERE KSCHL PI01 );逻辑说明KONH 是条件表头KONP 是条件明细。PI01 是公司间价格条件类型。如果查不到记录说明条件没维护用 VK11 补。如果查得到但开票取不到查定价过程里的访问顺序确认 PI01 是否在过程里。参数上注意公司间价格的条件表通常是 004客户/物料或 005客户/物料/工厂。表选错取数就断。6. 把公司间业务做成可复用的配置模板公司间业务的配置点多但六种形态的底层逻辑是相通的都是“货权转移 双边记账 合并抵消”。把这套逻辑抽成模板新公司代码上线时直接复制能省掉大量重复配置。我一般会建一个配置清单按“主数据 → 单据类型 → 定价 → 输出 → 对账”五段走。主数据段包括公司间供应商、公司间客户、信息记录单据类型段包括 STO、销售订单、委外 PO、寄售 PO定价段包括公司间价格条件类型和定价过程输出段包括 IDoc 输出类型和伙伴参数对账段包括 MB5L、MR11、BD87 的定期检查。模板落地时用传输请求Transport Request把配置从开发机传到生产机。传输前用 SCC1 检查依赖避免漏传定价过程或输出确定。上线后第一周每天跑一次 MB5L 和 WE02确认没有卡住的 IDoc 和在途库存。最后一个技巧公司间业务的测试不要只测单条链路要测“发货 → 收货 → 开票 → 付款”全链路。很多问题在单条链路里看不出来全链路一跑就暴露。测试数据用真实物料和真实价格别用测试价格否则定价取数的问题测不出来。本文还有配套的精品资源点击获取