
简介本资源是一份面向SAP ABAP与SD模块实施顾问、系统配置工程师的STO公司间转储自动化配置实战文档聚焦解决跨工厂/公司间业务中交货单、发货、收货、销售发票及采购发票全流程自动触发的配置难题。文档涵盖STO自动创建交货单VL10B/VL10CUC、VL02N自动发货过账、MIGO自动收货、VF01自动开销售发票、MIRO自动匹配采购发票等5大核心场景含详细配置路径、事务码说明、参数设置要点如IDOC、BRF消息输出、装运工厂绑定、交货类型定义等及60页实操截图。资源为单个17.76MB Word文档.doc结构清晰、步骤完整适合作为SAP S/4HANA或ECC系统STO自动化落地的配置手册与培训参考。目前已有1301人学习下载内容覆盖从基础配置到S/4专用增强方案对中高级SAP顾问快速复现和排查STO自动化异常极具实用价值。1. STO 自动化闭环为什么一个“采购订单保存”动作必须触发五步后台操作才能算真正落地你有没有遇到过这种场景在 SAP 中刚保存一张 STOStock Transfer Order库存调拨单采购订单业务方转身就问——“交货单生成了吗”“货发出去没”“发票开了吗”“我们这边收货确认了没”——而你得手动点开 VL10B、VL02N、MIGO、VF01、MIRO 五个事务码挨个检查、补录、过账。这不是操作繁琐的问题是流程断点STO 的本质是公司间虚拟交易但系统若不自动串联“创建交货→发货过账→收货确认→开销售发票→生成采购发票”这五环它就只是张静态单据不是业务流。这份配置文档解决的正是这个“单据动不起来”的核心痛点。它不是教你怎么点菜单而是告诉你在哪一级配置开关、哪个参数改错一位数、哪张表漏维护一条记录就会导致整条链在 VL02N 卡住、在 VF01 报定价错误、或在 MIRO 找不到匹配凭证。适用对象非常明确正在做 SAP SD/MM 模块毕设/课设的学生尤其选题含“自动化集成”“端到端流程”关键词或是某公司内部负责 STO 流程上线的 ABAP/SD 配置顾问——你需要的不是理论模型是一套经 Beta1.1 版本实测、覆盖 1600 与 1310 两工厂真实映射关系、能直接导入生产环境的配置清单与避坑指南。2. 总体架构设计STO 自动化五步链的触发逻辑与模块职责划分STO 自动化不是靠一个“万能开关”实现的而是由五个强耦合但职责分明的子流程组成。每个环节都依赖前序环节的凭证状态、主数据配置和后台作业调度。理解这个链条的触发逻辑比死记配置路径更重要。下面这张结构图描述了各模块的输入、处理、输出及关键依赖模块输入凭证触发条件输出凭证核心依赖项是否需后台作业自动创建交货单VL10BSTO 采购订单ME21N 保存采购订单抬头/行项目中“自动创建交货单”标志位激活 工厂-客户绑定已维护内向交货单NLCC 类型工厂与客户主数据绑定、交货类型 NLCC 的可用性检查配置、采购订单类型 STOA 的自动交货设置否实时触发自动发货过账VL02NNLCC 交货单交货单状态为“已拣配”且库存地点可自动确认发货过账凭证MB1B 类型移动交货单变式 VL23 配置、自动过账标志启用、库存地点自动确认配置是需定时作业 WS_MONITOR_OUTB_DEL_GDSI自动收货过账MIGO发货过账凭证MB1B凭证中“一步过账”标识激活 收货工厂与供应商绑定正确收货过账凭证MB1B 反向或 GR 类型凭证类型分配如 WE、一步过程配置、交货不足限度容忍值是需定时作业 RFBIBL00 或自定义程序自动开销售发票VF01发货过账凭证MB1B销售组织/分销渠道/产品组匹配 开票类型配置中“自动开票”激活销售发票凭证RV 类型公司间开票类型如 IV、复制控制从交货单复制、定价过程一致性是需后台作业 RVKRED00 或 VFX3自动生成采购发票MIRO销售发票凭证RV采购组织/工厂/供应商主数据匹配 IDOC 或 BRF 消息输出配置完成采购发票凭证RE 类型采购发票类型如 RE、发票校验配置、BRF 条件技术栈S/4HANA 必需是IDOC 处理或 BRF 触发提示这个表格不是配置清单而是验收地图。每次配置完一个模块你必须回到这里核对“输入凭证是否真实存在”“触发条件是否满足”“输出凭证是否生成”否则后续环节必然失败。很多同学在答辩时被问“为什么 VF01 没触发”答案往往不在 VF01 配置本身而在上一步的 VL02N 过账凭证根本没生成。2.1 工厂-客户/供应商主数据绑定STO 自动化的地基90% 的翻车始于这里STO 是公司间交易但 SAP 不认“公司”只认“工厂”和“客户/供应商”。自动化的前提是1310 工厂必须在 1600 公司视角下注册为客户客户编号1600同时 1600 工厂必须在 1310 公司视角下注册为供应商供应商编号1310。这不是简单的主数据创建而是双向绑定且必须精确到工厂层级。具体操作路径以 1310 工厂作为发货方为例进入事务码XD01→ 创建客户主数据 → 客户编号填1600→ 在“销售视图”中勾选“公司间开票”并指定销售组织1500、分销渠道10、产品组0001进入事务码XK01→ 创建供应商主数据 → 供应商编号填1310→ 在“采购视图”中指定采购组织13101600、工厂1310关键步骤进入OVX5定义装运工厂信息→ 选择工厂1310→ 在“客户”字段填入1600→ 保存同理在OVK4定义采购工厂信息中为工厂1600绑定供应商1310。// OVX5 表关键字段示例实际配置界面截图对应 PLANT CUSTOMER SALES_ORG DIST_CH DIVISION 1310 1600 1500 10 0001这段配置的逻辑是当系统看到采购订单的收货工厂是1600且采购组织是13101600它会去OVX5表里查1310工厂对应的客户是谁——找到1600于是决定给1600开销售发票。如果这里填错成1601VF01 就永远找不到目标客户报错Customer 1600 not found for plant 1310。我带过的某高校毕设项目里A同学卡在这一步整整三天最后发现是OVX5里多输了一个空格。2.2 交货类型 NLCC 与可用性检查让系统“知道该做什么”而不是“猜着做”交货类型Delivery Type是 STO 自动化的第一个执行指令。文档中反复强调的NLCC类型并非默认存在需手动配置。它的核心作用是告诉系统“这张交货单是公司间调拨走内向流程用特定的拣配规则和过账逻辑”。配置路径OVLP→ 新建交货类型NLCC→ 复制自标准类型NL内向交货→ 修改关键字段“交货相关开票”勾选否则 VF01 不触发“可用性检查”设为02按工厂检查或03按存储地点检查严禁用00不检查—— 否则发货时库存不足也不报错导致 MIGO 收货失败“拣配”取消勾选“手工拣配”否则 VL02N 无法自动过账“过账日期确定”设为1发货日期确保财务日期准确。// OVLP 中 NLCC 关键参数示意非代码为配置界面字段说明 Delivery Type: NLCC Description: STO Inbound Delivery (Auto) Relevant for Billing: X Availability Check: 02 // 必须指定不能为 00 Picking: _ // 空白 不手工拣配 Posting Date Determination: 1这个配置的玄学在于NLCC必须与采购订单类型STOA在OVKJ定义采购订单类型自动交货中绑定。OVKJ表里要有一条记录Order Type STOA,Delivery Type NLCC,Indicator X激活。漏掉这一条ME21N 保存时系统压根不会尝试创建交货单——连错误日志都不会写静默失败。这是学生最容易忽略的“黑匣子”环节。2.3 采购订单类型 STOA 的自动交货开关真正的“第一触发器”所有自动化起点都在采购订单保存那一刻。而控制这个起点的是采购订单类型STOA的配置。文档第 3 页强调“更改后只对新建订单生效”说的就是这个配置的不可逆性。配置路径OVKJ→ 查找STOA→ 勾选 “Automatic delivery creation”自动创建交货单→ 指定交货类型NLCC→ 指定交货工厂即发货工厂1310。注意这里的“交货工厂”不是采购订单里的收货工厂而是指“谁来发货”。很多同学误填成1600收货方结果系统试图让1600工厂给自己开交货单报错Plant 1600 is not a delivering plant for customer 1600。正确值必须是1310。此外STOA的抬头数据中“交货相关开票”也必须勾选否则即使交货单生成VF01 也不会被触发。这个字段在OMG1定义采购订单类型中配置路径OMG1→STOA→ Tab “Billing” → 勾选 “Billing relevance”。3. 自动发货与收货VL02N 和 MIGO 的后台作业配置与容错机制VL02N 发货和 MIGO 收货是 STO 流程中物理动作最重的两环。它们不像交货单创建那样实时触发而是依赖后台作业定时扫描、批量处理。这意味着配置不仅要“对”还要“稳”——能应对网络延迟、库存波动、凭证冲突等现实问题。3.1 VL02N 自动发货VL23 变式与 WS_MONITOR_OUTB_DEL_GDSI 作业的协同VL02N 自动发货的核心是变式VariantVL23。它不是简单地把事务码参数存下来而是定义了一套“筛选-过账-反馈”的完整策略。配置路径VL23→ 创建新变式名称建议为STO_AUTO_SHIP_1310→ 设置如下关键参数交货单类型NLCC必须精确匹配大小写敏感工厂1310发货工厂拣配状态C已拣配过账日期留空由系统取当前日期自动过账勾选关键库存地点指定具体库位如0001不能留空否则报错No storage location specified for automatic posting。// VL23 变式关键参数说明界面字段映射 Delivery Type: NLCC Plant: 1310 Picking Status:C Storage Location: 0001 // 必填否则失败 Post Automatically: X变式配置完必须绑定到后台作业。标准作业是WS_MONITOR_OUTB_DEL_GDSI文档第 14 页提到但该作业默认不激活。需进入SM36→ 创建新作业 → 名称Z_STO_AUTO_SHIP_JOB→ 程序名RSWS_MONITOR_OUTB_DEL_GDSI→ 选择变式STO_AUTO_SHIP_1310→ 设置频率建议每 15 分钟一次。血泪经验第一次运行作业时如果提示“No deliveries selected”不要慌。先用VL03N查看NLCC交货单确认其状态是否为C已拣配。若状态是A未拣配说明上游的自动拣配没配好需检查OVLY定义拣配控制中NLCC对应的拣配类型是否启用自动拣配。3.2 MIGO 自动收货一步过账配置与 RFBIBL00 作业的健壮性设计MIGO 自动收货的难点在于“一步过账”One-step Goods Receipt。它要求系统在收到发货凭证MB1B后不经过“收货待办”状态直接生成 GR 凭证。这需要三重保障凭证类型分配OMJJ→ 为移动类型101GR分配凭证类型WE→ 勾选 “One-step procedure”一步过程配置OMJJ→ 进入 “Define one-step procedure” → 新建条目 → 移动类型101工厂1600凭证类型WE交货不足限度OMJJ→ “Define tolerance limits for goods receipt” → 为工厂1600设置Underdelivery Tolerance如5%避免因物流损耗导致收货失败。后台作业推荐使用RFBIBL00标准 GR 自动化程序而非自定义 ABAP。配置路径SM36→ 创建作业Z_STO_AUTO_GR_JOB→ 程序RFBIBL00→ 参数Movement Type:101Plant:1600Document Date:SY-DATUM系统日期Selection Variant: 自定义变式筛选NLCC相关的 MB1B 凭证// RFBIBL00 关键参数说明SM36 界面 Program: RFBIBL00 Variant: Z_STO_GR_VAR Parameters: Movement Type: 101 Plant: 1600 Document Date: SY-DATUM避坑RFBIBL00 默认不处理“部分收货”。如果发货是分批的需在变式中勾选 “Allow partial goods receipt”否则只处理第一批次。3.3 常见问题排查VL02N 卡住、MIGO 无反应、凭证状态错乱的 4 个致命点现象VL02N 作业运行成功但VL03N中NLCC交货单状态仍是A未拣配未变成C。原因OVLY中NLCC的拣配类型Picking Type未启用自动拣配或指定的拣配仓库Storage Type不存在。解决OVLY→ 找NLCC→ 检查Picking Type如0001→ 进入OML8→ 确认该拣配类型下Automatic Picking勾选且Storage Type如001在OML8中已定义。现象MIGO 作业RFBIBL00运行报错No material document found for delivery XXXXX。原因发货凭证MB1B的参考凭证字段Reference Document未正确回填交货单号或交货单号格式不匹配如带前导零。解决用MB03查看 MB1B 凭证 → 检查Reference Document字段是否为NLCC交货单号如0080000123→ 若为空需检查VL02N过账时是否启用了Update Reference Document在 VL23 变式中勾选。现象VF01 销售发票生成后MIRO 采购发票始终不触发IDOC 状态为RDY就绪但不发送。原因WE20中ORDERSIDOC 类型的端口Port未正确指向1600公司的 RFC 目标系统或BD64中分销模型未激活1310→1600的消息流。解决WE20→ 找ORDERS→ 检查Port是否为SAP1600RFC 连接名→BD64→ 检查1310→1600的ORDERS消息是否Active。现象所有环节都成功但 VF01 发票金额为0.00定价条件未复制。原因OVKK定义开票凭证复制控制中NLCC→RV的复制规则未启用或V/06定价过程中销售发票的条件类型如PR00与采购订单的条件类型如PB00不一致。解决OVKK→ 找NLCC到RV的行 → 勾选Copy→V/06→ 确认RV的定价过程包含PR00且其Condition Type与采购订单STOA的PB00完全相同包括名称、访问序列。4. 自动开票与采购发票VF01 与 MIRO 的定价复制、BRF 配置及 S/4HANA 适配要点VF01销售发票和 MIRO采购发票是 STO 流程的财务终点。它们的自动化不仅涉及凭证生成更关乎价格准确性、税务合规性与系统版本兼容性。尤其在 S/4HANA 环境下传统 IDOC 方式正被 BRFBusiness Rule Framework Plus取代这是近年毕设/课设最容易踩坑的升级点。4.1 VF01 自动开票开票类型 IV 与复制控制 OVKK 的精准匹配VF01 自动触发依赖两个硬性条件一是交货单NLCC标记为“交货相关开票”二是开票类型Billing Type配置中启用了自动开票。配置路径OVKK→ 找NLCC行 → 在Billing Type列填IV公司间开票→ 勾选Automatic billing自动开票→ 保存。但IV类型本身需深度配置。进入OVKK→ 点击IV→ 进入Details→ 关键字段Output Procedure输出过程RM0001标准公司间输出Output Type输出类型RD00公司间开票输出Account Key科目确定E应收账款Revenue Account收入科目400000示例需按贵公司科目表。// OVKK 中 IV 类型关键字段界面截图对应 Billing Type: IV Output Procedure: RM0001 Output Type: RD00 Account Key: E Revenue Account:400000注意Output Type RD00必须在NACE输出控制中激活且分配给正确的输出设备如LOCL打印机或EMAIL。否则 VF01 凭证生成但系统不触发后续 MIRO。4.2 定价复制从采购订单到销售发票的价格传递机制STO 的核心财务逻辑是“采购价销售价”。VF01 必须能从 STOA 采购订单中复制价格而非重新计算。这依赖OVKK中的复制控制与V/06中的定价过程一致性。配置路径OVKK→NLCC→IV行 → 点击Copy Control→ 勾选Pricing定价复制→ 保存V/06→ 找IV的定价过程如RVAA01→ 确认其条件类型如PR00与STOA采购订单的条件类型如PB00完全一致名称、访问序列、计算类型若采购订单用含税价条件类型MWST则IV的定价过程也必须包含MWST且其计算顺序在PR00之后。// V/06 中 IV 定价过程关键条件类型示例 Condition Type: PR00 // 价格 Condition Type: MWST // 税 Access Sequence: 0001 // 必须与 PB00 相同血泪经验某高校毕设项目中A同学的 VF01 价格总为 0查了三天。最后发现V/06中IV的PR00条件类型访问序列是0002而STOA的是0001系统无法匹配直接跳过复制。4.3 MIRO 自动采购发票IDOC 与 BRF 的双轨制配置S/4HANA 必读在 ECC 系统中MIRO 主要靠ORDERSIDOC 触发但在 S/4HANA 中BRF 是官方推荐方式IDOC 仅作备选。文档第 54 页提到的 “BRF 消息输出设置”就是 S/4HANA 的必选项。IDOC 路径ECC 兼容WE20→ 创建端口SAP1600RFC 连接→BD64→ 激活1310→1600的ORDERS消息 →WE02监控 IDOC 状态。BRF 路径S/4HANA 强制BRF事务码 → 创建新应用STO_INVOICE→ 创建规则AUTO_MIRO_RULE→ 条件Billing Document Type IVANDCompany Code 1310→ 动作调用函数模块BAPI_INCOMINGINVOICE_CREATEFBL1N中查看IV发票 → 点击Create Invoice按钮 → 系统调用 BRF 规则自动生成 MIRO 凭证。// BRF 规则伪代码实际在 GUI 中配置 IF BillingDocType IV AND CompanyCode 1310 THEN Call BAPI_INCOMINGINVOICE_CREATE( InvoiceDate SY-DATUM, Vendor 1310, Amount BillingAmount, Currency CNY )提示BRF 配置后必须在OB52定义发票校验中为1600工厂启用BRF Trigger否则规则不生效。5. 验收与答辩用五张凭证截图三组日志十分钟讲清你的 STO 自动化方案答辩不是背诵配置路径而是证明“流程真的跑通了”。我带过的学生里90% 的人败在“只讲怎么做不讲怎么验”。下面这套验收方法是我从某公司 STO 上线项目中提炼的专为毕设/课设优化——不用写代码不跑压力测试只用五张凭证截图和三组日志就能让导师信服。5.1 验收清单五张凭证缺一不可拿出你的测试数据如采购订单4500001234按顺序截取以下五张凭证的屏幕快照每张图必须包含凭证编号醒目位置关键状态字段如交货单的Status、发票的Billing Status时间戳证明是同一笔业务流。凭证类型事务码截图重点验收标准采购订单ME23N订单号4500001234抬头“自动创建交货单”打钩行项目工厂1310→1600状态F已完成无错误消息内向交货单VL03N交货单号0080000123类型NLCC状态C已拣配参考凭证字段显示4500001234发货过账凭证MB03凭证号5000001234移动类型601参考交货单0080000123会计科目131000库存贷方131001GR/IR借方销售发票VF03发票号9000001234类型IV金额与采购订单一致行项目PR00金额PB00税额MWST采购发票MR8M凭证号5100001234类型RE供应商1310金额9000001234Invoice Reference字段填9000001234技巧截图时用 Windows 自带的“截图工具”框选区域右下角加水印“STO Test - [你的学号]”。答辩时一页 PPT 放一张图导师一眼看清全链路。5.2 日志验证三组关键日志堵死“你说跑通了但我看不到”的质疑截图只能证明结果日志才能证明过程。答辩时主动展示以下三组日志比任何解释都有力VL02N 后台作业日志SM37→ 找Z_STO_AUTO_SHIP_JOB→Job Log显示Number of deliveries processed: 1Number of postings: 1无Error字样。“这证明不是我手动点的 VL02N是作业自动处理的。”VF01 开票日志VF03→ 点击发票 →Environment→Log显示Copying from delivery: 0080000123Pricing copied successfully。“这证明价格不是我填的是从交货单复制的。”BRF 执行日志BRF→ 应用STO_INVOICE→Execution Log显示Rule AUTO_MIRO_RULE executed for billing doc 9000001234Function module BAPI_INCOMINGINVOICE_CREATE called。“这证明在 S/4HANA 下不是靠 IDOC是靠 BRF 规则触发的。”5.3 答辩话术用“问题-解法-证据”三句话结构直击导师关注点导师最常问的三个问题我帮你准备好答案模板每句不超过 20 秒Q为什么不用标准交货类型 NL非要新建 NLCCA“因为 NL 是标准外向交货不支持公司间开票。NLCC 是我们基于 NL 复制的只改了两点一是勾选‘交货相关开票’二是把可用性检查设为工厂级02确保发货前库存真实可用。证据在OVLP配置截图第 2 张。”Q如果采购订单价格变了销售发票会自动更新吗A“不会。VF01 的价格只在开票瞬间从采购订单复制一次之后独立。这是 STO 的设计原则——采购价锁定销售价同步锁定。如果业务要动态调价需走后续的贷项凭证RV流程。证据在V/06定价过程对比图。”Q这套方案在 S/4HANA 和 ECC 上有区别吗A“有本质区别。ECC 用 IDOCS/4HANA 用 BRF。我们做了双轨配置IDOC 作为兜底BRF 作为主通道。文档第 54 页详细写了 BRF 规则如何调用BAPI_INCOMINGINVOICE_CREATE日志截图第 3 张就是执行记录。”从那以后我每次带学生做 SAP 毕设都强制他们用这套“五凭证三日志”法走一遍验收。不是为了应付答辩是逼自己搞懂配置不是贴膏药是搭积木每一块的位置、方向、咬合度都决定了整座塔能不能立住。希望帮到你。本文还有配套的精品资源点击获取