尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

SAP公司间业务全解析:六种场景、IDoc自动过账与避坑指南

SAP公司间业务全解析:六种场景、IDoc自动过账与避坑指南 简介这份PDF资料聚焦SAP集团内部公司间业务的六种典型场景面向SAP SD、MM、PP、FI模块顾问及企业财务、供应链实施人员帮助理清第三方销售、跨公司销售、公司间转储、跨公司转储STO、转包与跨公司采购的业务逻辑与配置要点。资源包内含1个PDF文件约20.06MB内容以图文结合方式梳理各业务流程图、参考步骤与财务凭证处理并延伸讲解IDoc触发自动发票校验及收货、公司间清账科目配置OBYA、T001U、ABT1N跨公司资产转移等实操细节。目前已有13027人学习下载适合需要系统掌握公司间协同配置、对照流程查漏补缺的中高级SAP从业者参考。1. 公司间交易为什么一张销售订单能同时触发四张会计凭证SAP 里最容易被低估的机制之一是公司间业务。表面上看它只是集团内部两个公司代码之间的买卖但真正跑起来一张销售订单可以牵出采购申请、交货单、两张发票、IDoc 自动过账最后在两家公司的账上同时留下应收应付。很多做了几年 SD 或 MM 的顾问第一次看到跨公司销售里生产公司发货、销售公司开票、系统自动生成对方应付时都会愣一下这笔应付到底是谁触发的答案藏在 SAP 的一个核心设计里公司间业务不是靠某个单独模块完成的而是靠 SD、MM、FI、IDoc 四层机制咬合出来的。第三方销售、跨公司销售、公司间转储、跨公司转储、转包、跨公司采购这六种场景看起来不同底层逻辑却高度一致——用单据流把物流和资金流拆开再用定价条件和 IDoc 把两边公司代码的账对平。搞懂这套机制比背配置路径有用得多因为配置只是表象真正决定业务能不能跑通的是背后的凭证流和清账逻辑。2. 六种公司间业务单据流是怎么把两家公司串起来的2.1 第三方销售没有物流的公司靠采购申请驱动第三方销售的本质是公司不碰货。客户下单给公司公司直接让供应商发货给客户公司只负责接单和结算。这种模式在 SAP 里的实现路径很特别销售订单保存后系统自动生成采购申请采购申请再转采购订单。收货动作 MIGO 在这里不是入库而是确认供应商已经发货给客户同时触发销售订单计划行的确认日期更新。从会计角度看采购订单发票校验 MIRO 生成应付款并按采购金额计入销售成本公司对客户开票生成应收、收入和税。两笔分录合起来毛利就是销售价和采购价的差。这里的关键设计是销售订单和采购订单之间没有直接的单据关联而是通过计划行和需求传递来联动。常见的实现思路是在物料主数据里把采购类型设为 F特殊采购类设成第三方销售对应的代码系统才知道这张销售订单不该跑 MRP 生产而是该生成采购申请。2.2 跨公司销售一张交货单两个公司代码的账跨公司销售是六种场景里最典型、也最容易被问到的。集团里 A 公司接单B 公司生产并发货A 对客户开票B 对 A 开公司间发票。整个流程里最反直觉的一点是交货单是在 A 公司的销售区域下创建的但装运点属于 B 公司的工厂发货过账产生的会计凭证却落在 B 公司的账上。这背后的机制是 SAP 的跨公司销售配置通过给工厂分配组织单位让 A 公司的销售组织可以使用 B 公司的工厂来交货。发货时系统根据工厂所属的公司代码决定会计凭证记在谁头上。然后 A 公司对客户开标准发票 F2B 公司对 A 公司开公司间发票 IV。IV 的定价不是随便写的标准配置用的是 PI01 或 PI02分别基于数量和百分比参考的是销售订单里的净价值。-- 公司间发票定价条件示例PI02 基于百分比 -- 在定价过程 RVAA01 中PI02 会自动带出 -- 条件类型PI02 -- 描述公司间百分比 -- 计算规则基于净价值的百分比例如 98% -- 需求订单行项目的交货工厂必须属于另一公司代码这段配置的逻辑是只要销售订单里的交货工厂是跨公司的系统就自动把 PI01 或 PI02 带出来。PI02 的百分比通常设成 98% 或 100%代表生产公司卖给销售公司的内部结算价。这个价格直接决定了 B 公司对 A 公司的应收金额也决定了 A 公司对 B 公司的应付金额。2.3 公司间转储与跨公司转储一步法和两步法的账务差异公司间转储和跨公司转储经常被混在一起讲但它们的账务处理完全不同。公司间转储是同一公司代码下不同工厂之间的调拨用移动类型 301 一步法或者 303 加 305 两步法。两步法下303 把库存转到在途305 再收货MB5T 可以查在途库存。这个过程只涉及库存科目和成本中心不产生公司间应收应付。跨公司转储就复杂了。不同公司代码之间的工厂调拨SAP 标准方案是走 STOA 公司向 B 公司下采购订单B 公司创建交货单并发货A 公司收货B 公司开销售发票产生应收A 公司做发票校验产生应付。如果配置成一步法B 公司发货过账时 A 公司同时收货IDoc 自动生成 A 公司的应付。这里的核心配置是 STO 的采购订单类型和交货单类型要匹配同时物料主数据里要维护好采购视图和销售视图。2.4 转包与跨公司采购委外和需求传递的机制差异转包的本质是委外加工。公司向加工商下采购订单采购价格是加工费同时在采购订单里指定组件组件里包括发给加工商的材料。发货时库存从自有变成 O 库存收货时消耗原材料、计算加工费、更新产成品成本。如果加工周期长、步骤多建议走标准委外如果只是简单加工工序委外直接由生产订单触发 F 类采购订单采购一笔加工费到生产订单。跨公司采购则是另一种逻辑销售公司把需求传递给生产公司通过 STO 做物流转移和财务结算。A 公司跑 MRP 产生向 B 公司的采购申请转成跨公司采购订单B 公司跑 MRP 产生计划订单转生产订单注意 MRP4 视图的独立/集中设置要设为 1订单里才能看到原始销售订单号。生产订单完工收货后变成客户库存VL10B 发货给 A 公司发货后在途库存用 MB5T 查。A 公司收货B 公司开票A 公司发票校验最后 A 公司发货给客户并开票。整个链条里IDoc 可以在 B 公司开票时自动生成 A 公司的应付省掉手工做账。3. IDoc 自动过账公司间发票怎么变成对方的应付3.1 为什么公司间发票需要 IDoc跨公司销售里有一个容易被忽略的问题B 公司对 A 公司开了公司间发票B 公司账上有了应收但 A 公司凭什么承认这笔应付整个业务里没有采购订单也没有发票校验的入口。如果靠人工做账不仅效率低还容易漏。SAP 的解法是用 IDoc 把开票动作和应付过账绑在一起。IDoc 是 SAP 系统间数据交换的中间文档。在公司间开票的场景里B 公司保存 IV 发票时系统通过输出类型 RD04 触发一个 IDoc这个 IDoc 携带发票的金额、税、公司代码等信息自动在 A 公司生成一笔应付凭证。A 公司的用户可以在 FBL1N 里查到这笔应付双击能看到来源是 IDoc 凭证执行的事务代码是 FB01。在 WE10 里可以查到 IDoc 的历史记录确认消息类型和状态。3.2 IDoc 配置的关键参数IDoc 能跑通的前提是系统间有 RFC 连接同时消息类型、基本类型、处理代码都要配好。常见的配置点包括WE20 里定义伙伴参数把公司间开票的消息类型分配给对应的伙伴WE21 里定义端口指定 RFC 目标BD64 里维护分发模型确定哪些消息类型走哪个 RFC 连接。如果 IDoc 状态是 51 或 53说明处理出错需要看 WE02 或 WE05 里的错误消息。 IDoc 处理用户出口示例伪代码 在 IDoc 入站处理时通过出口修改过账逻辑 FORM idoc_inbound_process USING p_idoc_data TYPE idoc_data. 读取 IDoc 中的发票金额和公司代码 READ TABLE p_idoc_data INTO DATA(ls_data) WITH KEY segnam E1EDP01. 根据公司代码确定应付科目 SELECT SINGLE saknr FROM t001u INTO DATA(lv_saknr) WHERE bukrs ls_data-bukrs. 调用 FB01 过账 CALL FUNCTION POST_DOCUMENT EXPORTING document_header ls_header TABLES document_items lt_items. ENDFORM.这段伪代码展示的是 IDoc 入站处理的基本逻辑从 IDoc 段里读出金额和公司代码找到公司间清账科目然后调用过账函数生成会计凭证。实际项目里IDoc 的配置更多是在 WE20 和 BD64 里完成用户出口只在特殊场景下才用。3.3 公司间清账科目的配置逻辑公司间清账科目用 OBYA 配置对应的表是 T001U。配置时有两个选择如果公司间交易不挂客户供应商配 40/50 加总账科目如果挂客户供应商比如通过交货单产生的公司间交易配 01/31 并把客户供应商设为清账科目。这里有一个容易翻车的点OBY6 里公司代码参数中的“公司”字段必须都不为空或者都为空不能一个有一个没有否则 OBYA 配不了。4. 避坑与排查公司间业务里最容易翻车的五个点4.1 跨公司销售开票顺序反了成本收入不匹配现象VF01 开票时系统先开对客户的 F2再开公司间 IV但业务上希望先开 IV。原因系统默认优先开对客户的发票开票顺序由复制控制决定。解决在 VF04 里把默认发票类型设为 IV或者在 VF01 手动选择 IV。如果 VOV7 里销售订单行项目类别的开票相关设为 K对客户的开票可以部分开票但公司间开票不支持行项目拆分。4.2 内部客户供货方销售组织没扩充VF009 报错现象开公司间发票时提示 VF009说找不到内部客户。原因内部客户主数据里供货方的销售组织没有扩充。解决用 XD01 或 XD02 进入内部客户在销售视图里把供货公司的销售组织加进去。这个坑在新建公司代码或新建销售组织时特别常见因为复制公司代码时不会自动带出销售组织的分配。4.3 OBYA 配置报错公司代码参数不一致现象OBYA 保存时提示公司代码参数错误。原因OBY6 里两个公司代码的“公司”字段一个有一个没有。解决检查 OBY6确保两个公司代码的“公司”字段要么都填要么都空。这个限制在 SAP 帮助文档里写得比较隐蔽很多人第一次配的时候会卡住。4.4 IDoc 状态 51应付没生成现象B 公司开了公司间发票但 A 公司查不到应付。原因IDoc 处理出错状态 51 表示应用文档未过账。解决WE02 或 WE05 查 IDoc 状态看错误消息。常见原因是 RFC 连接不通、伙伴参数没配、或者清账科目没找到。如果是 LSMW 录屏 ABT1N 时出现“LEAVE TO TRANSACTION 在批处理中不能使用”不影响导入结果可以忽略。4.5 跨公司采购 MRP 跑不出需求独立/集中设置没改现象A 公司跑了 MRP但 B 公司没有产生计划订单。原因物料主数据 MRP4 视图的独立/集中设置没设为 1。解决在 B 公司的物料主数据里把 MRP4 视图的独立/集中标识设为 1这样 MRP 运行时才能把 A 公司的需求传递给 B 公司。这个设置在公司间采购里是必须的否则需求传不过去。5. 从配置到设计公司间业务的取舍与验证公司间业务的配置量很大但真正决定项目成败的不是配置本身而是对单据流和账务流的理解。SAP 把这六种场景做成标准方案背后的设计取舍很清晰用单据流驱动业务用定价条件决定内部结算价用 IDoc 打通跨公司过账。这套机制的好处是标准化程度高坏处是配置复杂、排查链路长。我一般会这么理解公司间业务的核心不是“怎么配”而是“谁在什么时候产生什么凭证”。第三方销售里采购申请是销售订单触发的跨公司销售里发货过账的凭证落在生产公司跨公司转储里IDoc 在开票时生成对方应付。只要把每个节点的凭证来源搞清楚配置路径自然就记住了。验证方法也很直接跑完一个完整流程后用 FBL3N 查两家公司的总账用 FBL1N 查应收应付用 MB5T 查在途库存用 WE10 查 IDoc 历史。如果四边都对得上说明流程没问题。如果哪边对不上就顺着单据流往回找看是定价条件没带出来、清账科目没配、还是 IDoc 没触发。从那以后我每次做公司间业务都强制走一遍“单据流 → 凭证流 → IDoc 状态”的检查链不看到四张凭证齐全不罢休。这套习惯帮我省了很多返工的时间也希望帮到你。本文还有配套的精品资源点击获取
返回列表