简介一份面向SAP SD/MM/PP/FI模块顾问及集团型企业IT实施人员的公司间业务案例与配置详解PDF系统梳理集团内部六种常见交易模式第三方销售、跨公司销售、公司间转储、跨公司转储STO、转包和跨公司采购。每种模式均结合业务场景给出从销售订单创建、采购申请生成、采购订单收货、发票校验到客户开票的参考步骤系统自动更新订单计划行日期并说明IDoc如何自动触发公司间发票校验与收货过账。同时区分一步法移动类型301与两步法303/305库存调拨讲解透过MB5T查看在途库存、标准委外与工序委外的选择、公司间清账科目OBYA以及ABT1N跨公司资产转移等配置与财务处理经验便于顾问在项目配置和测试排错时直接查阅。PDF为单文件资源大小20.06MB已有12991人学习下载内容聚焦且覆盖完整是理解SAP集团内部交易全貌的实用参考。1. 六种公司间业务一次说透从“皮包公司”到集团协同SAP公司间业务是集团型企业绕不开的账务难题尤其当销售公司、生产公司、物流公司分属不同公司代码时一笔订单要拆成两张甚至三张发票应收、应付、库存、成本还得分公司挂账。这篇笔记把六种典型场景——第三方销售、跨公司销售、公司间转储、跨公司转储STO、转包、跨公司采购——的完整业务链路、移动类型和后台配置点拆开讲重点落在跨公司销售、STO和IDoc自动触发发票校验与收货的处理细节。适合正在实施集团合并报表、供应链穿透或公司间结算的SD/MM/FICO顾问也适合被业务方问“为什么两张发票金额不一样”的关键用户。2. 第三方销售与跨公司销售两条链路一张IDoc2.1 第三方销售公司只接单和结算物流交给供应商第三方销售Third-Party Order Processing是理解公司间业务最简单的一个入口。公司接客户订单自己不做任何物流动作直接让供应商把货发给客户相当于一个“皮包公司”角色只赚差价。SAP里的标准链路是VA01创建对客户的销售订单系统自动生成对供应商的采购申请再转成采购订单供应商发货后公司用MIGO做收货这一步同时等同于向客户发货确认系统会自动更新销售订单计划行的日期为采购订单到货日随后MIRO做发票校验产生应付账款并按采购金额计入销售成本最后公司VF01对客户开票生成应收账款、销项税和收入。流程中有一个容易被忽略的点MIGO收货并不做实物入库而是直接进入“收货即交付”的流程。我在项目里见过有同事把第三方销售的收货做成普通库存收货导致库存虚增、销售成本多挂。正确做法是采购订单行项目类别保持“第三方”相关配置收货后库存不会增加系统自动更新计划行。最终财务凭证结构是步骤事务代码财务结果销售订单创建VA01无会计凭证采购申请生成MD04/MB52 检查无会计凭证采购订单收货MIGO无传统库存增加计划行日期更新发票校验MIRO应付供应商同时记销售成本对客户开票VF01应收客户收入、销项税这里要注意采购订单的收货是否允许“无交货单收货”因为第三方销售场景供应商直接对客户发货没有装运点、没有交货单MIGO界面的移动类型要选能配合该业务类型的设置否则验收入库会推到收发工厂。2.2 跨公司销售ICS销售公司开票给客户生产公司开公司间发票跨公司销售Inter-Company SalesICS是集团内部最典型的“产销分离”模式销售公司负责接单、和客户结算生产公司负责生产、发货两者分属不同公司代码。整条链路从销售公司的VA01开始销售订单行项目里的交货工厂必须指定为生产公司的工厂装运点也会自动带成生产公司的装运点。发货环节由销售公司在自己的销售区域下创建交货单VL01N到VL02N做拣配和发货过账这一步产生的会计凭证是落在生产公司代码下的。ICS和普通销售最大的区别在于开票要开两张销售公司VF01对客户开F2标准发票生成应收账款、收入、销项税随后生产公司VF01对销售公司开IV公司间发票生成对销售公司的应收同时销售公司会收到一张对应应付。这个应付不是手工做账出来的而是靠IDoc技术自动触发生产公司开IV发票时系统通过输出类型把开票数据以IDoc形式发送到销售公司销售公司端自动执行FB01过账生成对生产公司的应付、进项税和销售成本。所以整个ICS业务里没有采购订单却有一笔从采购端自动滚出来的应付本质是IDoc把开票信息转换成了类似发票校验的过账动作。具体操作顺序如下VA01创建销售订单订单类型可以是自定义的ZMIV行项目工厂选生产工厂。VL01N按销售订单创建交货单装运点属于生产工厂交货单在销售公司销售区域下。VL02N拣配和发货过账系统产生生产公司代码下的库存减少和销售成本凭证。VF01输入交货单先开F2标准发票开票对象是集团外客户如果物料有滚算标准成本并已发布会计凭证能顺利过账。VF01再输入同一张交货单系统自动识别跨公司业务生成IV公司间发票开票客户是预先配置好的内部客户编号对应销售公司的公司代码。生产公司对销售公司的应收生成同时IDoc自动在销售公司端生成应付。在销售订单VA03的后续单据流里可以看到标准发票和公司间发票两张凭证并列。如果物料主数据没滚算成本或没发布价格发货和开票过账会报错这一点在全流程测试前必须检查。2.3 ICS定价配置PI01/PI02与IV发票类型ICS业务里最让新手困惑的就是定价过程。公司间发票IV的计算价格参考IV01或IV02这两个条件类型分别对应PI01基于数量的公司间价格和PI02基于百分比的公司间价格。标准做法是在销售订单定价过程中维护PI01或PI02只要订单的交货工厂是跨公司的PI01或PI02就会自动带出来。我在测试环境里最常用的配置是PI02按净价值的百分比计算公司间结算价比如98%这样销售公司留2个点的毛利。配置路径分两块V/08维护销售订单定价过程把PI02需求选上“√”同时注意TSPP条件类型需要设置成“√”它决定公司间价格是否参与成本及收入匹配。OVKK维护供方生产公司销售组织的定价过程这里生产公司的“DoPr”要维护成ICupp按客户主数据定价过程决定。接单公司对客户的定价过程则看接单公司的销售组织DoPr为A。还有一个实战经验ICS开票默认优先开对客户的F2发票再开公司间IV发票这是系统标准逻辑。如果业务要求先开公司间发票那么VF04开票清单里需要手动将默认发票类型改为IV或者VF01里手动选择IV开票类型。另外销售订单行项目类别的开票相关字段设为K时对客户开票支持部分开票但公司间开票不支持行项目拆分开票也就是说IV发票只能整单开想拆两期开公司间发票是走不通的这点在月度结算时特别容易引发业务投诉。3. 公司间转储与跨公司转储STO的移动类型与一步法配置3.1 公司间转储同一公司代码301一步法 vs 303/305两步法同一个公司代码下的两个工厂调拨物料属于公司间转储不涉及跨公司应收应付重点在于选对移动类型。一步法用301发货工厂过账的同时收货工厂已经入库系统同时产生发货工厂的库存减少和收货工厂的库存增加财务凭证只在一个公司代码下体现适合距离近、当天能到的调拨。两步法用303发货过账到在途和305在途收货303过账后物料处于“在途”状态305收货后才转入收货工厂库存期间可以用MB5T查看在途库存适合跨地区、运输周期长的调拨。选择依据我一般看三件事工厂间的物理距离、是否需要在途库存的可见性、月末关账时在途物料归属哪个工厂的盘点库存。两步法的好处是财务上能挂“在途物资”科目审计时能说清楚货在哪个环节一步法凭证简洁但货物丢失或延期时很难定位责任。305移动类型收货时如果收货工厂和发货工厂的估值方式不一致会产生差异科目这个差异通常会进“采购差异”或“转储差异”科目需要提前在OBYC里配好。3.2 跨公司转储STO不同公司代码下的调拨与财务结算跨公司转储Stock Transport OrderSTO是不同公司代码间工厂调拨的正式通道流程上等于“工厂A向工厂B下一笔采购订单然后工厂B销售发货”。标准步骤是公司代码1向公司代码2创建STO采购订单公司代码2根据采购订单创建交货单并做VL02N发货过账公司代码1做MIGO收货随后公司代码2对公司代码1开销售发票产生对公司的应收公司代码1做发票校验产生应付。这里有个配置开关STO可以设置为发货过账时收货公司同步自动收货这就是“一步法STO”发货过账自动产生收货过账凭证省去MIGO手工操作。另一个配置点是公司代码2开具公司间销售发票时通过IDoc自动触发公司代码1的应付。开票时SD出具发票类型用IV设定输出类型通过IDoc将发票信息传到公司代码1系统自动生成应付、进项税和采购成本的会计凭证。这和ICS里的处理逻辑一样只是方向相反。3.3 STO一步法与IDoc自动收货配置边界STO一步法配置在后台有固定开关位置。发货方发货过账后系统按配置自动在收货方产生收货凭证。这个配置需要注意边界如果两个公司代码使用同一个SAP系统自动收货可以即时完成如果是分布式架构还要考虑RFC连接和ALE配置是否就绪。我在配置测试时见过一步法自动收货配好后发货过账却提示“无法确定自动收货的移动类型”原因是后台把自动收货的移动类型配成了301而跨公司STO必须用101收自己的采购订单配置里要填101而不是301。IDoc自动触发应付也一样核心是输出类型RD04。只要IV发票开出系统通过RD04把开票数据打包发给接单方接单方通过配置好的流程自动过账。如果IDoc没有触发或者过账失败应付不会出现财务发现两边对不上账才开始排查。这种情况下先去WE10查IDoc状态再查WE20伙伴参数。4. 转包与跨公司采购从委外加工到“客户库存”的闭环4.1 标准委外转包O库存、加工费与产成品成本委外加工分标准委外和工序委外。工序委外直接由生产订单触发一个F类采购订单只采购一笔加工费到生产订单不需要对发出的物料做单独物流管理标准委外则要对发出的材料做库存跟踪适用于委外周期长、加工步骤多、材料价值高的场景。判断标准很简单要不要管发出去的材料要管就上标准委外。标准委外的SAP流程是ME21N向加工商下采购订单行项目类别用L委外价格为加工费同时在采购订单组件明细里指定需要发给加工商的原材料组件随后向加工商发货材料从自有库存变成O库存委外库存这个发货可以有或没有交货单加工完成后MIGO收货系统自动消耗原材料、按采购订单价格计算加工费、更新产成品库存产成品成本 消耗的原材料成本 加工费差异走价差科目最后MIRO发票校验产生对加工商的应付。成本项金额来源差异处理原材料成本按原材料移动平均价实时计算差异入价差科目加工费采购订单价格无差异则完全匹配产成品成本原材料 加工费如有差异自动进OBYC配置的价差科目需要重点检查的是采购订单组件里的“物料数量”和“可用数量”关系。如果材料配额不够发货时会出现短缺系统不允许发超。委外发料的移动类型是541收货时系统按组件明细自动反冲消耗材料如果在BOM里维护了组件消耗定额收货时会按实际完工数量计算材料消耗。另一个常见问题是委外O库存的价值显示如果在MM03会计视图没勾选“基于数量的非限制使用的库存”O库存可能无法正常评估导致收货后成本计算失败。4.2 跨公司采购销售订单穿透生产公司MRP4视图配置跨公司采购是集团内销售公司与生产公司之间最完整的“订单穿透”业务外部客户向销售公司下单销售公司不生产通过STO向生产公司传递需求生产公司生产完工后直接发货给销售公司销售公司再发货给客户并开票。这个链条的关键是MRP的穿透逻辑。第一步销售公司VA01创建销售订单MRP跑出针对生产公司的采购申请转成跨公司采购订单第二步生产公司跑MRP时能看到来自销售公司的独立需求生成计划订单再转生产订单这里生产物料的MRP4视图“独立/集中”必须设置为1否则生产订单无法追溯到原始销售订单号后续出现缺料问题时两条链路会变成两张皮第三步生产订单完工入库收货后库存状态是“客户库存”即面向销售公司的库存第四步VL10B创建对销售公司的交货单并发货发货后库存变为销售公司的在途库存用MB5T可以查看第五步销售公司MIGO收货、发票校验生产公司开出销售发票再叠加IDoc自动产生销售公司的应付最后销售公司发货给集团外客户并开票。整个流程里最容易翻车的是MRP4视图的设置。在物料主数据MRP4视图里有一个“独立/集中”字段如果填1则需求在工厂间传递时系统会把销售公司的独立需求汇总到生产公司如果不填两个公司各自跑MRP需求无法穿透。配置错时生产公司永远看不到来自销售公司的需求采购申请也不会出现在MD04里。跨公司采购还有一个特点销售公司的销售订单号码会保留在生产订单里业务追问“这批货对应哪个客户订单”时直接在生产订单抬头文本或需求追溯里能查到。5. 公司间结算避坑指南OBYA、ABT1N与内部订单的边界5.1 OBYA公司间清账科目40/50与01/31的选择公司间业务涉及应收应付的自动清账必须先配置清账科目。OBYA配置界面里有两组选择如果公司间仅做内部交易不挂客户、供应商那么配40/50对应的总账科目作为公司间清账科目即可如果公司间交易需要挂客户、供应商比如通过发货单产生公司间交易那么要配01/31并把客户、供应商设置为清账科目。OBYA相关的配置表是T001U配置完成后清账逻辑才有效。这里有一个严格的前提OBY6里公司代码参数中的“公司”字段必须全部为空或者全部有值不允许一个公司代码有值、另一个没有值。我在一个测试系统里遇到过两个公司代码都是从模板复制来的一个带了公司字段另一个没带结果OBYA保存时报错查了半天最后把其中一个公司字段补齐才解决。还有一点要注意如果配了01/31清账科目那么开票时系统会走标准的应收/应付科目加清账科目联动此时客户和供应商主数据中必须维护贸易伙伴否则过账时会因“公司间交易伙伴丢失”而中断。5.2 资产跨公司转移ABT1N与统计型内部订单公司间资产调拨如果是合并场景而不是买卖场景可以用ABT1N批量跨公司转移资产。这个操作有几个容易踩的配置点第一需要配置公司Company在一个更高层级的整合单元并把公司代码分配给公司SAP才把两个公司视为联营关系ABT1N生成的凭证格式才正确第二配置转移变式转移变式里设定转移方法和使用的事务类型还可以针对变式设置哪些字段能复制到目标公司的新资产号中第三设置资本化日期可修改这样资本化日期才能从原始资产复制到目标资产第四AO90配置“从关联公司购置”对应的科目第五如果固定资产清理科目设置为资产负债类科目需要把消息号AC305/306改成警告否则非资产负债表科目就会报错。实际操作中如果走LSMW录屏批量执行SM35跑批时会看到“LEAVE TO TRANSACTION 在批处理中不能使用”的错误提示这是正常的不影响结果因为ABT1N在正常操作保存后会弹出一个凭证显示对话框而批处理模式下无法弹出对话框系统就报了这条提示。内部订单这边统计型内部订单可以跨公司使用创建时不用输入公司代码比如一个项目在A公司、B公司都发生费用两公司各自记账到自己的成本中心同时都记到同一个统计型内部订单就能统计出项目总费用实际型内部订单不可以跨公司代码创建时必须有公司代码。模型订单Model Order则用来给内部订单创建提供默认值可以把模型订单分配给内部订单。5.3 常见问题IDoc没触发、凭证公司代码不对、LSMW报错这里把我在项目里遇到频率最高的五个问题记录下来每个都按现象、原因、解决三步写各位照着排查能省不少时间。现象一公司间发票已开出但接单公司应付没自动产生。原因IV发票的输出类型RD04没配置或IDoc伙伴参数文件/RFC目标没配对导致开票信息没有发出去。解决检查WE20里客户主数据对应伙伴参数文件的输出类型是否激活配置RD04输出类型为“EDI”或“邮件”确认RFC目标可达后重新触发开票输出。现象二跨公司销售开票时提示VF009。原因内部客户的供方生产公司销售组织没有扩充也就是按工厂分配组织单位的OVV9配置里没有把生产公司的工厂正确分配给接单公司的销售组织。解决SPRO→销售与分销→出具发票→公司间出具发票→按工厂分配组织单位把生产工厂和销售组织的对应关系补全。现象三ABT1N用LSMW录屏导入时SM35报“LEAVE TO TRANSACTION 在批处理中不能使用”。原因ABT1N正常保存后会弹出一个凭证信息对话框批处理无法显示该对话框。解决这个报错可以忽略不会影响导入结果但建议在录屏时把“保存后弹出提示”的对话框跳过或者直接用BAPI方式导入。现象四OBYA配置保存时报“公司字段不一致”。原因OBY6里两个公司代码的参数一个维护了公司字段另一个没维护。解决到OBY6检查公司代码参数的“公司”字段要么两个都有值且指向同一公司要么全部清空。现象五ICS模式下对客户发票和公司间发票跨月收入成本不匹配。原因默认开票顺序是先开客户发票再开公司间发票业务人员月度截账时只开了一张另一张留到下月。解决关账检查清单里加一条——检查所有ICS销售订单是否两张发票都开完或者调整开票顺序为公司间发票在前确保同月成本收入匹配。6. 上线前验证与我的三个习惯IDoc链路、开票顺序、批处理检查ICS和STO这类业务配置点多、链路长上线前最好用一个测试订单完整跑一遍我习惯检查三个地方。第一验证IDoc是否真正触发了应收应付。FBL1N查询接单公司对内部供应商的应付明细点开凭证如果看到凭证来源是IDoc事务代码是FB01那就是成功再到WE10查IDoc历史记录确认消息状态为已处理。第二验证开票顺序是否符合业务预期。如果业务要求先开公司间发票必须在VF04里把默认发票类型设成IV否则开出去的F2发票对方客户还没付钱内部结算已经挂了一堆应收。第三检查MRP4视图的独立/集中字段确认跨公司采购需求能穿到生产公司用MD04看需求追溯能看到原始销售订单号才算闭环。配置这些东西没有太多玄学真正容易翻车的是“配置改了一处忘了联动另一处”。比如OBYA配好了清账科目但客户主数据没维护贸易伙伴开票时照样报错IV发票的IDoc输出配置好了但伙伴参数文件没激活应付照样不生成。从那以后我每次做公司间业务测试都强制走一遍FBL1N查应付、WE10查IDoc的流程确认系统自动生成的凭证不是一纸空文。配置这种东西能信系统自动的就不要相信人脑记忆。希望帮到你。本文还有配套的精品资源点击获取