SAP公司间项目STO全流程配置与操作避坑指南
简介这份文档面向需要在SAP系统中处理跨公司采购交易的操作员与项目经理聚焦公司间项目QSTO的配置与操作全流程帮助读者理清从项目创建、采购申请与订单、交货单处理到收货、开票的完整链路并掌握常见异常的排查思路。资源包共1个docx文件约3.52MB内容以业务背景说明、系统配置要点、分步操作指引和问题解决清单组织涵盖SFW5激活业务功能、跨公司配置查看、交货类型与可用性检查、OBYA清账科目维护等关键配置以及CJ20N、ME51N、ME21N、MIGO、VL10B/VL10D、VL02N等事务代码的实例应用。针对CO科目分配对象归属错误、采购收货与销售开票等典型问题文档也给出了原因分析与对应处理措施便于读者按图索骥完成两个公司代码之间的采购交易并快速定位故障。目前已有654人学习适合作为日常操作参考与问题排查手册。1. 公司间项目 STO两个公司代码之间那笔“内部买卖”到底怎么跑通A 公司接了一个项目物料却要从 B 公司走一道B 公司再向外部供应商采购——这种“项目采购套公司间调拨”的场景在 SAP 里落地靠的就是公司间项目 STO。它不是一个事务代码能解决的事而是项目挂物料、MRP 跑计划订单、转采购申请、审批、建 STO 采购订单、公司间交货、发货过账、收货、开票、发票校验一整条链路。这份资料把配置点和操作步骤按顺序拆开还附了 CO 科目分配、WBS 元素、开票报错这些血泪经验。适合正在做跨公司代码项目采购的 MM/PS 顾问和关键用户照着走能少翻几次车。2. 配置先行SFW5 激活与跨公司基础设置公司间 STO 跑不起来十有八九不是操作错而是配置缺了一块。这一章按“先激活业务功能、再定义交货类型、最后补清账科目”的顺序把地基打牢。每个配置点我都标了事务代码和路径方便你对着系统逐项核对。2.1 用 SFW5 激活 LOG_MM_SIT 业务功能公司间库存转移Stock Transfer between Plants in Different Company Codes依赖业务功能LOG_MM_SIT。没激活它后面交货类型、移动类型、跨公司收货都会缺逻辑。操作路径是事务代码SFW5在业务功能树里找到LOG_MM_SIT勾选后执行激活。# SFW5 操作要点非命令行按界面步骤记录 # 1. 事务代码 SFW5 进入业务功能切换框架 # 2. 展开 Logistics - MM - LOG_MM_SIT # 3. 勾选该业务功能点击激活 # 4. 激活后系统提示需要传输请求挂到开发请求下 # 5. 激活完成用 SFW5 复查状态是否为“激活”逻辑说明LOG_MM_SIT是公司间库存转移的开关激活后系统才允许跨公司代码的 STO 走交货单流程。参数上要注意激活属于系统级变更必须挂传输请求不能在生产机直接点。激活后建议用SFW5再查一次状态确认不是“部分激活”。常见翻车是激活了但没传请求测试机好了生产机没生效上线当天才发现。2.2 定义交货类型与交货项目类别公司间 STO 的交货单不是随便一个交货类型都能用。路径是SIMG - 后勤执行 - 交货 - 定义交货类型以及定义交货项目类别。这里要确认公司间项目用的交货类型常见是NLCC或自定义的Z开头类型已分配给对应的项目类别且项目类别里“公司间开票”相关标识正确。配置对象事务代码/路径关键检查点交货类型SIMG 后勤执行-交货-定义交货类型是否允许公司间 STO、是否带 POD 相关交货项目类别SIMG 后勤执行-交货-定义交货项目类别项目类别是否勾选公司间开票移动类型OMJJ683/107、109 是否配置正确逻辑说明交货类型决定了交货单走哪套项目类别项目类别又决定了后续能不能开公司间发票。移动类型这块用OMJJ检查公司间发货常用683107收货用109。参数上683是公司间发货的移动类型107是发货到在途109是在途收货。如果OMJJ里这些移动类型没放开对应的事务码VL02N 过账会直接报错。2.3 按工厂配置交货类型和可用性检查过程路径是SIMG - 物料管理 - 采购 - 采购订单 - 设置库存调拨单 - 按工厂配置交货类型和可用性检查过程。这一步把“哪个工厂的 STO 用哪个交货类型”绑死。公司间项目里 A 公司工厂 7011、B 公司工厂 7091两个工厂都要在这里维护对应的交货类型。# 按工厂配置交货类型的检查思路 # 1. 进入配置节点按工厂 7011 / 7091 分别查看 # 2. 确认交货类型字段已填公司间交货类型 # 3. 可用性检查过程字段确认非空 # 4. 保存后回 STO 采购订单验证交货类型是否自动带出逻辑说明这个配置是 STO 采购订单自动带出交货类型的依据。参数上工厂和交货类型是一对多关系同一工厂可以配多个采购订单类型对应不同交货类型。常见坑是只配了发货工厂没配收货工厂结果交货单创建时提示找不到交货类型。可用性检查过程为空会导致交货单创建时跳过库存检查看似能过实际发货时库存不足直接卡住。2.4 维护公司间清账科目OBYA跨公司代码交易必须把公司间的应收应付清账科目配好事务代码OBYA。路径是SIMG - 财务会计 - 总账会计 - 业务交易 - 准备跨公司代码交易。这里要维护公司代码 7010 和 7090 之间的清账科目借贷双方都要有。逻辑说明公司间 STO 发货过账时系统要在两个公司代码之间生成应收应付OBYA配的就是这些过渡科目。参数上公司代码组合、科目、借贷标识都要对。没配或配错VL02N 发货过账会报“科目未找到”。这个配置经常被漏因为测试环境可能之前有人配过换一套公司代码就失效了。2.5 POD 相关配置可选路径是SIMG - 后勤执行 - 交货 - 交货证明 - 根据交货项目类别设置 POD-相关。PODProof of Delivery不是必选项如果业务不需要交货证明这步可以跳过。需要的话按交货项目类别勾选 POD 相关标识。逻辑说明POD 影响的是交货单收货确认的时点。开了 POD收货要等 POD 确认后才算完成不开则发货过账后即可收货。参数上按项目类别控制粒度较细。常见误用是业务没 POD 需求却开了配置结果收货流程多一道确认关键用户以为系统卡了。3. 操作链路从项目号到发票校验的十个动作配置齐了操作链路才是真正考验顺序感的地方。这份资料把十个动作按依赖关系排好我按“项目挂物料 → MRP → 采购申请 → 审批 → STO 订单 → 交货 → 发货 → 收货 → 开票 → 校验”的顺序拆每个动作标事务代码和关键参数。3.1 建立项目号并挂载物料CJ20N事务代码CJ20N建立 A 公司的项目号挂载项目物料并下达。这一步是整条链路的起点项目 WBS 元素决定了后续采购申请的科目分配对象。# CJ20N 关键动作 # 1. CJ20N 创建项目定义维护工厂 7011 # 2. 挂载物料维护 WBS 元素 # 3. 项目下达Release状态变为“已下达” # 4. 检查 WBS 元素是否已分配给公司代码 7010逻辑说明项目下达后 WBS 元素才能被采购申请引用。参数上WBS 元素必须属于 A 公司代码 7010否则后面采购申请审批会报 CO 科目分配对象不属于该公司代码。常见坑是项目建了但没下达MRP 跑不出计划订单或者采购申请建了但 WBS 元素不可选。3.2 运行 MRP 并转采购申请MD02/MD04先跑 2002 工厂再跑 2010 工厂事务代码MD02。跑出计划订单后用MD04转成采购申请。# MRP 与转采购申请 # 1. MD02 对工厂 2002 运行 MRP参数选“计划订单” # 2. MD02 对工厂 2010 运行 MRP # 3. MD04 查看计划订单选中后转采购申请 # 4. 记录生成的采购申请号逻辑说明MRP 按工厂分别跑是因为两个工厂分属不同公司代码计划订单归属不同。参数上MRP 类型和计划文件要选对否则跑不出需求。转采购申请时注意科目分配类别公司间项目通常用Q项目采购。常见翻车是 MRP 跑完没检查计划订单的科目分配转出来的采购申请科目分配类别不对后面 STO 订单建不起来。3.3 采购申请审批ME55事务代码ME55对生成的采购申请做审批。审批通过后采购申请才能转采购订单。逻辑说明审批是采购申请转订单的前置条件。参数上审批策略和审批代码要匹配。这里最容易撞上 CO 科目分配报错现象是审批时报“CO 科目分配对象属于公司代码 3不是 4”原因和解决在避坑章节细说。3.4 创建 B 公司对外采购订单ME21N事务代码ME21NB 公司公司代码 7090工厂 7091向外部供应商建采购订单。资料里给的订单号是 4100000175这是 B 公司对外的采购单不是公司间 STO。逻辑说明这一步是 B 公司先向外部供应商采购货先到 B 公司项目库存。参数上采购订单类型、供应商、工厂 7091、科目分配都要对。常见坑是把对外采购订单和公司间 STO 订单搞混两个订单号前缀不同410 开头是对外430 开头是公司间建错类型后面全乱。3.5 B 公司对外收货MIGO事务代码MIGOB 公司对供应商做项目收货移动类型 101。资料里物料凭证 5000001298会计凭证 5000000002。# MIGO 对外收货 # 1. MIGO 选“收货”-“采购订单” # 2. 输入 B 公司对外采购订单号 4100000175 # 3. 确认收货数量过账 # 4. 记录物料凭证 5000001298 和会计凭证 5000000002逻辑说明这一步把货收进 B 公司项目库存为后续公司间交货提供库存来源。参数上移动类型 101科目分配走项目 WBS。常见坑是收货时库存地点选错货进了非项目库存后面公司间交货单创建时库存不可用。3.6 创建公司间 STO 采购订单ME21N事务代码ME21NA 公司向 B 公司建公司间项目 STO 采购订单资料里订单号 4300000176。这是整条链路的核心单据。逻辑说明STO 采购订单的供应商是 B 公司对应的客户编码资料里 A 公司客户编码 7090工厂是 A 公司 7011收货工厂指向 B 公司 7091。参数上采购订单类型要用公司间 STO 类型交货类型要能自动带出。常见坑是供应商填成了外部供应商而不是内部客户编码导致交货单创建时找不到公司间关系。3.7 创建公司间交货单VL10B/VL10D事务代码VL10B或VL10D根据 STO 采购订单创建公司间交货单资料里交货单号 800000123。# VL10B 创建交货单 # 1. VL10B 输入 STO 采购订单 4300000176 # 2. 执行选中行项目 # 3. 创建交货单记录交货单号 800000123 # 4. 检查交货单里的工厂、库存地点、WBS逻辑说明VL10B 是按采购订单批量创建交货单VL10D 是按交货计划。参数上交货单里的发货工厂是 B 公司 7091收货工厂是 A 公司 7011。常见坑是交货单创建时提示“没有可交货的项目”多半是 STO 订单的交货类型没带出或库存不可用。3.8 交货单发货过账VL02N事务代码VL02N对交货单 800000123 做发货过账移动类型683107资料里物料凭证 4900002188。逻辑说明发货过账把 B 公司库存转出到在途。参数上683是公司间发货107是发货到在途。过账前要确认拣配数量、库存地点。常见翻车是没做这一步就去 MIGO 收货系统报“交货单未发货不能收货”这是顺序问题不是配置问题。3.9 A 公司收货MIGO事务代码MIGOA 公司根据交货单收货移动类型109资料里物料凭证 5000001299此时无会计凭证产生。# MIGO 公司间收货 # 1. MIGO 选“收货”-“交货单” # 2. 输入交货单号 800000123 # 3. 确认收货移动类型 109 # 4. 记录物料凭证 5000001299逻辑说明109是在途收货把在途库存转入 A 公司项目库存。资料特别标注“此时无会计凭证产生”是因为公司间应收应付在发货过账时已生成收货只做库存转移。参数上移动类型必须是 109用错移动类型会导致库存对不上。常见坑是收货时提示找不到交货单检查交货单是否已发货过账。3.10 销售开票与发票校验VF01/MIRO事务代码VF01开销售发票MIRO做采购发票校验。资料里这部分标注“待补充”但给了报错线索开票时提示 WBS 元素错误。逻辑说明公司间开票走 VF01发票校验走 MIRO。参数上开票要确认 WBS 元素在复制控制里是否正确传递。常见坑是开票报“找不到 WBS 元素”根因是 WBS 元素属于未启用项目管理的公司代码解决要动复制控制VOFM这个在避坑章节展开。4. 避坑与排查五条血泪经验这一章是整份资料最值钱的部分。配置和操作都能照抄但报错不会按剧本出现。下面五条按“现象 → 原因 → 解决”写都是公司间项目 STO 里高频撞上的。4.1 CO 科目分配对象属于公司代码 3不是 4现象采购申请审批、建采购订单或采购订单收货时报“CO 科目分配对象属于公司代码 3不是 4”。原因WBS 元素归属的公司代码与当前操作的公司代码不一致。公司间项目里 A 公司 7010、B 公司 7090WBS 元素如果挂在 A 公司B 公司操作时就会撞这个错。解决资料给的做法是改报错消息号KI100从 E 改成 W事务代码OBA5。这是把硬报错降级为警告让流程能过。但要清楚这是“绕过”不是“修复”根因还是 WBS 元素归属要理清。我一般会先确认 WBS 元素到底该挂哪个公司代码确认业务上允许后再改消息号改完记录到配置文档避免后人不知道这里动过。4.2 MIGO 根据交货单收货报错现象MIGO 根据交货单收货时直接报错收不进去。原因交货单没有过账发货。系统逻辑是“未发货不能收货”这是顺序约束不是配置问题。解决回VL02N对交货单做发货过账683107过账成功后再回 MIGO 收货109。这条坑的教训是操作顺序不能跳发货和收货是前后依赖不是并行动作。4.3 销售开票提示找不到 WBS 元素现象VF01 开票时提示 WBS 元素错误日志里是VF156“Error while substituting WBS element ”。原因WBS 元素属于股份公司但没启用项目管理WBS 元素不应该出现在 B 公司的开票里。跨公司代码开票时系统会额外检查销售公司代码下是否存在结算元素。解决资料给的是在交货单到销售发票的复制控制里删除该 WBS 元素复制请求号 105 到 901事务代码VOFM需要开发协助。另一条路是按 SAP Notes 的思路在网络里为销售公司代码定义更高层级的结算元素。两条路选哪条看业务不需要 WBS 传递就删复制控制需要保留就补结算元素。4.4 交货单创建时找不到交货类型现象VL10B 创建交货单时提示没有可用交货类型或交货单里交货类型为空。原因按工厂配置交货类型那步漏配了某个工厂或者 STO 采购订单的采购订单类型没关联到交货类型。解决回SIMG - 物料管理 - 采购 - 采购订单 - 设置库存调拨单 - 按工厂配置交货类型和可用性检查过程把发货工厂和收货工厂都补上。补完用 STO 订单重新带一次交货类型验证。4.5 发货过账报科目未找到现象VL02N 发货过账时报“科目未找到”或清账科目相关错误。原因OBYA里公司代码 7010 和 7090 之间的公司间清账科目没配或配错。解决事务代码OBYA补维护公司间清账科目借贷双方都要有。配完回 VL02N 重新过账。这条坑在换公司代码组合时特别容易复发因为测试环境配过不代表新组合配过。5. 进阶验证用单据流和移动类型反查链路完整性跑通一遍不算完能反查才算真掌握。我习惯在整条链路跑完后做一次单据流核对用MB51按物料和工厂查移动类型流水确认 101、683、107、109 四个移动类型都出现且数量对得上再用VL03N看交货单的单据流确认 STO 订单、交货单、物料凭证、发票是否串成一条线。这一步能提前发现“流程过了但库存或科目没对上”的隐性错误。验证动作事务代码看什么物料流水核对MB51101/683/107/109 是否齐全数量是否匹配交货单单据流VL03NSTO 订单→交货单→物料凭证→发票是否连贯采购订单历史ME23N订单的收货、发票校验记录是否完整公司间清账FB037010/7090 之间应收应付是否平衡还有一个具体技巧把整条链路的事务代码按顺序写成一个操作清单每个代码后面标注“前置单据号”和“产出单据号”关键用户照着填。比如 CJ20N 产出项目号MD04 产出采购申请号ME21N 产出 STO 订单号VL10B 产出交货单号VL02N 产出物料凭证 490 开头MIGO 产出物料凭证 500 开头。单据号前缀本身就是链路的路标410 是对外采购、430 是公司间 STO、490 是交货发货、500 是物料收货看前缀就知道走到哪一步了。参数边界上要提醒一句OBA5改消息号是全局配置改了会影响所有走KI100的场景不是只影响当前项目。改之前一定确认影响范围改完在配置文档里留痕。VOFM的复制控制改动更要谨慎复制请求号 105 到 901 动的是开票复制逻辑影响面比想象大必须走开发请求并在测试机验证。从那以后我每次做公司间 STO都会先把SFW5激活状态、OBYA清账科目、按工厂交货类型这三项当 checklist 过一遍再开始建项目号——这三项任何一项缺后面十个操作动作全是白跑。希望帮到你。本文还有配套的精品资源点击获取