简介面向SAP SD/MM顾问、内部运维及正在实施跨公司STO业务的ABAP人员这份配置文档聚焦采购订单下达后自动创建交货单、发货、收货、销售开票与采购发票的整条链路帮助读者打通公司间库存调拨的自动化配置思路。包内为1个doc文件约17.76MB正文约60页按业务场景、配置路径与操作截图组织覆盖装运工厂与供应商绑定、VL10CUC参数文件、VL23发货变式、开票复制控制及MIRO采购发票等模块。已有1301人学习下载。文档不仅列出各环节的事务码与配置入口还包含IDOC常规配置和S/4系统专用的BRF消息输出设置并提示自动过账对库存地点、手工拣配等前置条件的要求便于实施人员对照系统逐项检查、定位自动流程未触发的原因也可作为内部培训与方案评审的参考材料。1. STO 自动单据链路一条采购订单引发的五次自动过账SAP-STO 配置里最容易让人翻车的一环不是单个事务码会不会用而是把「自动触发」这条链路一次装通。有个开发者照着零散笔记配 STOStock Transport Order库存转储订单订单保存后交货单没出来手工跑 VL10B 才补上后面 VL02N 发货、MIGO 收货、VF01 开票、MIRO 采购发票全靠人肉盯一条链断三处。STO 自动触发交货单、自动发票、自动交货、自动采购发票这套配置的本质是把 1600 工厂向 1310 工厂采购的一笔内部交易做成「下单即自动跑完五步」的闭环自动创建交货单、自动发货过账、自动收货、自动开销售发票、自动开采购发票。它适合已有 STO 基础、想把月结前的人工操作压下去的顾问和内部运维新手照着也能一步步走通但版本差异和参数取舍必须先列清否则配完只在新建订单上生效老订单照样手工跑。2. 环境与前置STO 两边工厂、供应商客户、版本三件事先定死STO 自动化的坑有一半出在动手配之前。系统版本、公司代码与工厂的对应关系、BP 主数据有没有绑好这三件事没定死后面配多少步都是白配。我一般先把这张对照表写在纸上再进系统点配置。2.1 版本判断S/4 走 BRFECC 走传统输出这套配置文档里有一个明显的分水岭——采购发票自动化的输出设置出现了「BRF 消息输出设置S/4 系统专用」这一节同时保留了「常规 IDOC 配置」。这说明文档覆盖的是两代输出机制系统类型销售发票输出机制采购发票输出机制配置重心ECC / 较早版本传统输出确定NACE 输出类型常规 IDOC 配置输出类型、伙伴参数、IDOC 基本类型S/4HANA仍可用输出类型逐步迁 NAST 替代方案BRF 消息输出设置BRF 输出规则、接收方确定判断方式很直接进 SPRO 看消息控制那一层是 NAST 还是 BRF 对象或者直接看系统里有没有 BRF 工作台事务码 BRF。有 BRF 就先按 BRF 那套配别硬套 IDOC 老路子否则发票输出条件永远触发不出来。这里不需要记版本号只要认准「输出机制是哪一代」配置路径自然分岔。2.2 组织架构对照1600 与 1310 的双向绑定文档里的业务场景写得很具体1600 公司、1600 采购组织、1600 工厂用采购订单类型 Z016 向 1310 公司下的 1310 工厂采购。关键是「内部供应商/内部客户」的双向映射1600 侧把 1310 工厂登记为内部供应商供应商编号 1310采购组织 13101310 侧把 1600 工厂登记为内部客户客户编号 1600销售组织 1500这两条绑定必须成对存在。只配了供应商没配客户交货单创建时找不到售达方只配了客户没配供应商采购发票校验时找不到开票方。配置顺序上我建议先定组织架构公司代码、工厂、采购组织、销售组织再进 BP 维护业务伙伴最后才碰单据层的自动创建开关。2.3 BP 主数据供应商与工厂绑定不能漏文档专门点了一句「BP 中的 1310 供应商信息设置供应商与工厂绑定」。这一步在自动创建内向交货单时是硬前提系统要知道这个供应商对应哪个发货工厂才能推断出装运点、交货类型和可用性检查过程。很多「订单保存了但没生成交货单」的案例根子就在 BP 里工厂视图没维护或者维护了但没和采购组织打通。提示改配置只影响新建的 STO 采购订单已经建好的订单不会补自动创建仍需手工执行 VL10B。这一点文档开头就强调了别配完拿老订单验证会误判配置没生效。3. 自动创建交货单装运工厂、交货类型与 VL10CUC 参数文件这一段是整条链路的第一环也是最容易「看起来配了、实际不触发」的一环。要装的东西分四块装运工厂信息、BP 工厂绑定、按工厂的交货类型与可用性检查、采购订单保存时的自动创建开关最后用 VL10CUC 把参数文件调对。3.1 装运工厂与工厂客户绑定配置路径的第一步是「定义装运工厂信息工厂与客户绑定」。这一步的作用是告诉系统某个工厂发货时默认从哪个装运点出、对应哪个客户。对 1310 工厂来说它的发货对象是内部客户 1600装运点和交货类型都要挂在这个组合上。操作上按 SPRO 进入后勤执行—装运—基本发运功能—装运点确定相关配置逐层展开后按工厂 装运条件维护装运点。落地时我一般会先手工建一张 STO 测试订单用 VL10B 跑出交货单确认装运点能自动带出来再回头去开「保存时自动创建」的开关。顺序反了的话自动创建失败你连是装运点问题还是开关问题都分不清。3.2 按工厂配交货类型与可用性检查过程文档写了「按工厂配置交货类型和可用性检查过程」。交货类型决定了交货单的行为是否拣配、是否过账发货、是否开票相关可用性检查过程决定了创建交货单时要不要做 ATP 检查。这里有个参数取舍值得说VL10CUC 参数文件设置那一步文档特意标注「请勿勾选地理路线和批量 ATP 检查处于活动状态」。意思是在自动创建交货单的参数文件里不要把地理路线和批量 ATP 检查勾成活动状态。原因很实际——批量 ATP 检查在自动后台运行时开销大STO 内部交易又是同公司体系内的转储ATP 卡得严反而让交货单批量创建大面积报「无可用库存」把自动化卡死在第一步。# 事务码路径非命令行按顺序进即可 SPRO 后勤执行 装运 交货 定义交货类型 SPRO 后勤执行 装运 交货 按工厂定义交货类型的确定 SPRO 后勤执行 装运 交货 定义可用性检查过程按工厂分配上面三条路径对应三个配置对象交货类型本身的定义、工厂到交货类型的确定、工厂到可用性检查过程的分配。第三条如果配了但没在交货类型上挂检查过程等于白配我见过只改了交货类型没改工厂确定的结果 1310 工厂发货还是走默认交货类型自动开票关联不上。3.3 采购订单保存时自动创建内向交货单这是第一环的总开关「定义采购订单保存时自动创建内向交货单」。配置对象是采购订单类型 供应商/工厂组合打开后订单保存即触发交货单创建。参数上要注意两点。一是这个开关是按「采购订单类型 装运工厂/供应商」粒度生效的Z016 订单类型必须单独配别指望默认设置兜底。二是它与 VL10CUC 参数文件是两层控制开关决定「保存时要不要触发」参数文件决定「触发后按什么规则创建」。# VL10CUC维护 STO 自动创建交货单的参数文件 T-code: VL10CUC # 关键参数设置 # - 不要勾选地理路线 # - 不要勾选批量 ATP 检查处于活动状态 # - 选择参数需覆盖 1310 工厂 交货类型 NLCC代码块里这三条是文档明确点到名的。VL10CUC 是「用户角色与参数文件」的维护入口里面存的是批量创建交货单时的默认选择条件。STOA 参数文件配错最常见的症状是后台作业跑了但报「没有选择的交货单」——这时候别急着改业务配置先去 VL10CUC 看选择参数里的工厂、交货类型、日期范围是不是把目标订单排除在外了。文档给了一个后手直接运行程序WS_MONITOR_OUTB_DEL_GDSI检查选择参数是否有误这个程序会把选择逻辑的判定过程暴露出来比盲改配置快得多。4. 自动发货与自动收货VL23 变式、NLCC 交货类型与一步收货交货单能自动建出来只算走完上半场。下半场是发货过账和收货过账两个动作各有一个独立的后台作业机制参数没对齐的话交货单堆在那里等人手工 VL02N自动化等于只做了一半。4.1 VL23 变式让发货过账按计划自动跑文档给的路径是「执行 T-code发货自动 VL23创建及修改变式并根据需要设置需要定期执行的时间」。VL23 是交货单的集体处理/后台处理入口通过变式variant把「选哪些交货单、执行哪个功能发货过账 GI」固化下来再挂到后台作业里定时跑。变式里要落的具体参数有两个必须对齐销售组织填 1310交货单类型填 NLCC这两个值不填对VL23 跑起来选不到目标交货单日志里就是空跑。我一般建变式的时候先把选择条件跑一次「显示」模式确认列表里出现的正是 STO 自动创建出来的那批 NLCC 交货单再切成后台作业。4.2 自动过账的两个硬前提库存地点与取消手工拣配文档里有一句特别关键的提示「自动过账需要交货单中能自动确认发运的库存地点及取消手工拣配设置」。这句话信息量很大拆开是两条第一交货单里必须有能自动确定下来的库存地点。发货过账要从某个库存地点扣库存如果交货单的拣配里库存地点是空的或者需要人工选后台作业就没法过账。这通常通过工厂/存储位置的默认设置或者交货单类型的库存地点确定规则来解决。第二要取消手工拣配。如果交货单类型或项目类别要求「必须手工拣配确认」后台发货就会卡在「未拣配」状态VL23 跑完只留一条错误日志。对 STO 内部交易来说同公司体系内的转储一般不涉及真实拣配作业把手工拣配要求关掉是常见做法。# 后台作业挂载示意按实际作业调度工具走 T-code: SM36 # 作业步骤程序SD_VL23 对应的事务封装或直接跑 VL23 变式 # 变式Z_STO_GI销售组织 1310交货类型 NLCC # 频率按业务量定短周期跑一次避免交货单积压调度频率这块没有标准答案文档说「根据需要设置需要定期执行的时间」。我的取舍是STO 单量大的环境按小时跑量小的一天两三次足够关键是周期要短于「交货单堆积导致后续开票延迟」的容忍线。跑完一定要看作业日志VL23 的成功日志和错误日志是分开的别只看作业状态绿灯就以为过账成功。4.3 MIGO 自动收货凭证类型、一步过程与交货不足限度发货过账之后采购方 1600 工厂要自动收货。文档的配置路径写的是「分配凭证类型一步过程交货不足限度」。三个参数各有分工参数作用配置要点凭证类型决定收货物料凭证的类型按 STO 收货场景分配自动收货要走能后台过账的类型一步过程收货与检验/后续处理一步完成开启后省掉中间状态后台作业不会停在两步之间交货不足限度允许收货数量少于交货数量的比例设太严实际到货略少就报错设太松差异失控「一步过程」这个参数是自动化的关键。两步收货在后台运行时容易出现「收货单生成了但没完成后续步骤」的悬挂状态一步过程把动作收敛成一次过账日志判定干净。交货不足限度则要根据实际业务波动定我一般先设一个宽松值跑通链路稳定后再收紧——顺序反过来你会被大量「收货数量不足」的错误日志淹没误以为是自动收货配置坏了。5. 自动开票与避坑排查VF01 公司间开票、MIRO 采购发票与五条血泪经验链路最后两环是开票1310 侧自动 VF01 开销售发票1600 侧基于销售发票自动 MIRO 开采购发票。这两环牵扯定价来源和输出机制是整个配置里参数最密、最容易反复的部分配完之后的问题排查也集中在这里。5.1 公司间开票类型与复制控制文档的路径是「定义公司间开票类型标注红色的参数都很重要特别是输出过程和输出类型」之后还有「维护开票凭证的复制控制」。开票类型决定了发票的业务行为复制控制决定了交货单到发票的数据怎么带过去。配这块时我的固定动作是先确认开票类型上的输出过程已挂好、输出类型的状态是「活动」再看复制控制里交货类型 NLCC 到开票类型的映射是否存在。少了复制控制这一条VF01 后台跑起来会报「无凭证可开票」输出过程没挂或输出类型未激活发票能开出来但不会触发下游 MIRO。定价来源是另一个分岔。文档给了两条路一是手工维护公司间销售价格简单但销售采购两边都要维护二是让销售发票的定价类型去复制采购订单的价格。走第二条路有个硬条件——「只要公司间销售定价过程中的定价类型和采购定价类型名称一致就可以从采购订单中复制价格」。如果采购订单用了含税价条件类型或者自定义了复杂定价销售发票的条件类型例程里也要做同样的定价条件否则复制出来的价格是错的或者干脆为空。# 开票相关配置入口按顺序 SPRO 销售与分销 开票 开票凭证 定义开票类型 SPRO 销售与分销 开票 开票凭证 维护复制控制交货 - 开票 SPRO 销售与分销 开票 开票凭证 定价 定义并分配定价过程 # 校验点开票类型的输出过程已分配、输出类型状态为活动 # 校验点定价类型名称在采购与销售两侧保持一致这三条路径加两条校验点覆盖了「发票开不出来」和「发票开了但价格不对」两类问题。定价过程那条尤其值得单独确认定价类型名称一致是复制的前提但过程里的条件类型顺序、例程、条件表访问顺序不一致一样会出问题。5.2 常规 IDOC 与 BRF 输出销售发票到采购发票的桥1600 侧要根据销售发票自动触发 MIRO这条桥在 ECC 里走常规 IDOC 配置在 S/4 里走 BRF 消息输出设置。配置内容包括 IDOC 基本类型、伙伴参数接收方、消息类型、以及输出类型里的处理代码。判断自己该走哪条回到 2.1 的结论有 BRF 就按 BRF 配输出规则和接收方确定没有就老老实实配 IDOC 的伙伴参数和处理程序。两套机制不要混用——我见过在 S/4 里配了 IDOC 输出类型但系统优先走 BRF结果发票一直不触发查了两天才定位到输出机制走错了代。5.3 避坑排查五条踩出来的经验配置本身不难难的是出错时日志分散在五个事务里。下面五条是按「现象 → 原因 → 解决」整理的高频翻车现场。现象一采购订单保存后没有自动生成交货单。原因通常是两层要么「采购订单保存时自动创建内向交货单」开关没对 Z016 订单类型生效要么 VL10CUC 参数文件的选择条件把订单排除了。解决先查开关配置粒度再用 VL10B 手工跑一次确认业务数据本身能创建最后用WS_MONITOR_OUTB_DEL_GDSI检查选择参数。现象二VL23 后台作业状态绿灯但交货单还是未发货。原因多半是交货单里库存地点没自动确定或者手工拣配要求没取消后台过账被静默拦下。解决打开一张失败的交货单看拣配页签确认库存地点已带出、拣配状态不要求手工确认再检查交货单类型和项目类别的拣配控制。现象三发货成功但 MIGO 自动收货没发生。常见原因是收货凭证类型没分配对或者「一步过程」没开后台跑出悬挂单据。解决查 STO 收货的凭证类型分配确认一步过程开启再看物料凭证有没有生成但未完成后续步骤的残留。现象四VF01 自动开票报「无凭证可开票」。原因集中在复制控制和输出交货类型 NLCC 到开票类型的复制控制缺失或者开票类型的输出过程/输出类型未激活。解决先补复制控制映射再进开票类型确认输出过程已分配、输出类型状态为活动。现象五销售发票开了MIRO 采购发票不触发。这是最费时的一类。原因可能是输出机制走错代S/4 该走 BRF 却配了 IDOC也可能是 IDOC 伙伴参数里接收方或消息类型不对。解决先按 2.1 的方法确认输出机制代际再查伙伴参数和处理程序S/4 环境重点看 BRF 输出规则的接收方确定是否命中 1600 侧。注意每一环的配置改动都只对新建单据生效。排查时务必用新下单的 STO 验证拿历史订单试会得出错误结论这是这套配置最耗人的地方。6. 装完怎么验证一张 NLCC 交货单跑穿五步的检验顺序配置全挂上不等于链路通了。我的验证习惯是不下老订单新建一张 Z016 的 STO 采购订单然后按固定顺序盯五个节点每个节点都有明确的判定物出问题立刻停在那一步不要往下跑。第一步订单保存后立刻看交货单。判定物是 1310 工厂下生成一张交货类型为 NLCC 的交货单且装运点、库存地点已自动带出。没有就回到 3.3 和 5.3 的现象一。第二步等 VL23 后台作业跑一轮或者手工触发变式。判定物是交货单状态变为已发货过账物料凭证已生成。查作业日志时重点看「未过账」条目而不是只看作业完成状态。第三步看 1600 侧的收货。判定物是自动生成收货物料凭证数量与发货一致或在交货不足限度内。这里用 SE16 查物料凭证比盯 MIGO 界面快。第四步看 1310 侧销售发票。判定物是 VF01 自动生成发票价格来源符合预期手工价还是复制采购订单价一眼能看出来输出已触发。第五步看 1600 侧采购发票。判定物是 MIRO 自动生成发票凭证且与销售发票金额可对上。节点判定物失败先查交货单创建NLCC 交货单 装运点/库存地点自动创建开关、VL10CUC 参数发货过账交货单已 GI 物料凭证库存地点、手工拣配、VL23 变式自动收货收货物料凭证凭证类型、一步过程、不足限度销售发票VF01 发票 输出触发复制控制、输出过程/类型、定价类型采购发票MIRO 发票凭证输出机制代际、IDOC 伙伴参数、BRF 规则整条链跑通一次之后我还会做一件事故意把中间一环关掉看日志停在哪、报什么错把错误信息记进自己的排查笔记。因为生产环境的断点不会跟你打招呼提前见过错误长什么样排障时能省掉一半时间。从那以后我每次配这套 STO 自动触发都强制先用一张新订单跑穿五步再交付老订单一律不进验证样本。希望这套顺序能帮到你少在「配了没生效」上耗一个通宵。本文还有配套的精品资源点击获取