☰
SAP公司间STO配置指南:从订单类型到跨公司过账的完整流程
2026/10/14 1:37:09 网站建设 项目流程

简介:一份面向SAP操作员与项目经理的公司间项目(Q)STO配置与操作指南,围绕两个公司代码之间的项目采购交易场景,完整梳理了从建立项目、运行MRP、采购申请审批、创建采购订单,到交货单建立、发货过账、公司间收货、销售开票与发票校验的端到端流程,并介绍了业务背景和系统配置准备。资源包仅含1个docx文档,大小3.52MB,以文字说明配合关键事务代码呈现,目录结构清晰,便于按步骤查阅和打印;目前已有654人学习/下载。文档以A公司向B公司采购为实例,详细列出CJ20N、ME51N/ME21N、MIGO、VL10B、VL02N等常用事务代码的先后顺序,涵盖SFW5业务功能激活、OBYA清账科目维护、交货类型与可用性检查等配置要点,并对CO科目分配错误、采购收货异常、销售开票失败等典型问题给出了原因分析和具体解决措施。整体适合需要严格按规定完成公司间STO交易、并在异常出现时快速定位方案的项目人员参考。

1. 公司间STO到底卡在哪:先看懂它为什么不是普通库存转储

公司间STO(Stock Transport Order,库存转储订单)听起来就是一张工厂间的采购单,真正上手配置过的人都知道,它牵扯组织架构、采购凭证类型、交货类型、输出确定、跨公司过账一长串配置。上一家项目里,某制造企业在上线前两周才把公司间STO的流程跑通,原因很简单:顾问把库存转储当普通采购来做,结果创建交货单时系统找不到装运点,跨公司过账反复弹财务凭证错误,最后只能在关键路径里硬补了好几套规则。

这篇文章想解决的是三类人的问题:一是负责实施项目的MM/SD顾问,二是企业内部的供应链关键用户,三是想自己把流程搭出来的IT运维。我会从业务原理讲到配置清单,再落到操作步骤和常见坑,最后补几个进阶用法。内容不依赖某个特定版本,但以SAP ECC和S/4HANA常见菜单路径为例,照着自己环境的SPRO去比对就行。读完你至少能回答三个问题:这张STO单子该用哪个订单类型,装运点该挂给谁,以及跨公司过账为什么不会自动生成。

2. 公司间STO的业务映射与主数据准备:先别开配置,想清楚流程再动手

2.1 公司间STO的业务场景与凭证链

公司间STO解决的是一个公司集团内部不同公司代码之间的货物调拨。典型场景:华东工厂和华南工厂分属两个法人实体,但共享同一个物料主数据和管理口径。华东工厂有库存富余,华南工厂有缺料,华南发起一张STO采购订单,华东按单发货。货物是发走了,但法人不同,所以必须有发货方开给收货方的公司间发票,财务上才能完成清算。

和普通工厂间库存转储不同,公司间STO的凭证链更长。普通转储是采购订单直接关联交货单,然后通过收货动作完成库存转移;公司间STO在交货发货过账之后,还多了一步公司间发票生成。也就是说,物料在发货公司代码的库存减少,在收货公司代码的在途或工厂库存增加,同时两家公司代码之间形成应收应付关系。理解这条链,后面配置输出确定时就不会漏掉发票打印。

常见做法是,在STO配置中让系统在下达采购订单时,自动或手动创建一个转储订单类型的采购单据,再通过交货类型分配让VL10B能按STO创建外向交货。实际项目里,很多人把重心放在订单类型和交货类型上,却忽略了采购组织范围的设置,以致供应商和工厂范围校验失败。动手配之前,把以下对象画在一张纸上:公司代码、工厂、采购组织、供应商(发货工厂)、客户(收货工厂)、物料主数据、装运点。

2.2 组织架构设置:公司代码、工厂与采购组织的归属关系

公司间STO真正麻烦的地方在于,流程里同时出现了采购视图和销售视图。收货公司代码的工厂要作为采购方,需要指定一个采购组织;发货公司代码的工厂要作为供货方,需要在工厂层面允许转储交货。两者缺一个,系统都会直接报错。

我一般会按这个顺序检查组织架构:

  1. 定义工厂并给工厂分配公司代码。每家公司代码下至少有一个工厂。
  2. 给物料主数据分配工厂。这是STO订单能创建的前提,物料视图没配全,单据都别想建。
  3. 定义采购组织并分配给工厂,至少让收货工厂可以触发采购。
  4. 装运点分配。把发货工厂的装运点明确出来,并和工厂、存储地点做有效关联。

组织架构这块最容易出的问题,是只在OMS里画了总体结构,但没有进SPRO维护工厂和采购组织的关系。我建议在配置开始前用事务代码OX14检查工厂到公司代码的分配,再用MPR0E或事务代码MM01检查物料在相关工厂的状态。这些步骤不属于STO专用配置,但它是后面每个错误提示的底层原因。

2.3 主数据准备:供应商、客户与信息记录的关系

公司间STO本质上涉及一进一出两套主数据。发货公司代码是采购订单里的供应商,收货公司代码是交货单里的客户。实际项目中,多数项目组采用「虚拟供应商」方案:为发货工厂建一个公司间供应商,然后它同时在SD模块里建一个对应的公司间客户,维护相同的名称和编号规则。这样做的好处是,STO创建采购订单时能直接带入供应商,交货单发货时又能自动关联到客户,不用手工去改单据抬头。

主数据维度还涉及信息记录。公司间STO的信息记录不一定要维护采购价格,价格可以来自原采购订单的成本核算或者发货工厂的标准价。但如果不想在STO里每次手工输价格,建议还是为内部供应商维护好有效期的采购信息记录。价格可以是含税的,也可以是不含税的,取决于你的定价过程。经验是:公司间STO的定价遵循内部结算逻辑,很多项目直接用标准价转移,这样财务差异最小。

在动手配置前,先准备一张主数据核对表,逐项确认物料组、工厂视图、采购视图、会计视图是否齐全。这一步看似基础,实际踩坑率最高。很多顾问上来就改配置,最后查出来是收货工厂的物料还没建立采购视图,系统直接提示"物料未维护采购视图"。这类问题看消息号就能定位,但一路排查非常耗时间,远不如配置前把数据检查掉。

3. 公司间STO的配置清单:从订单类型、交货类型到输出确定的串联

3.1 定义库存转储订单的订单类型和检查规则

打开SPRO,进入物料管理-采购-采购订单-设置库存转储订单。这里面有两张关键配置表:定义库存转储订单的订单类型,以及定义库存转储订单的检查规则。

订单类型决定了一张STO的编号范围、科目设置和后续操作逻辑。系统里NB类型在普通采购里很常见,但公司间场景更建议用独立配置的类型,例如UB或项目自定义。之所以不建议直接套NB,是因为NB的标准配置不包含公司间交货自动生成的复制控制,你后面还要花很大功夫去改复制规则,不如一开始就建一种专用类型。

配置要点如下:

配置项说明典型设置
订单类型STO专用采购订单类型UB或自定义ZUB
编号范围区分内部/外部编号建议内部编号,避免跨系统冲突
项目类别库存转储项目标准项(Standard)
检查规则决定是否允许超量交货/未定价采购按收货工厂需求严格控制
已完成的订单控制订单完成状态由谁触发通常按交货单完全过账

配置后还要做一步非常容易被忽略的工作:给该订单类型维护「分配交货类型」。这步在销售与分销-基本功能-装运-交货-分配交货类型到订单类型中完成。它的作用是把单据复制控制串起来,让STO订单一旦生成,系统就能根据复制规则找到对应的外向交货类型。如果漏配,后面VL10B创建交货单时不是找不到单据,就是创建出来的交货类型是空白。

3.2 交货类型和装运点分配:STO能否创建交货单的关键条件

公司间STO的交货类型,常规做法是使用系统标准的NLCC(跨公司补货交货)或自定义类型。版本不同略有差异,但核心逻辑一样:交货类型必须被分配到一个装运点,装运点必须分配给发货工厂,交货类型还要定义好物料移动类型(通常641是发货、641M或101由收货方做)。

装运点定义路径:后勤执行-装运-基本发运功能-装运点-定义装运点。装运点本质是一个组织单位,它决定了该工厂从哪个库位装货、由哪个装运部门负责发货过账。同一个工厂可以有多个装运点,但STO创建交货单时,系统根据工厂和装运点条件去匹配。

我把这段配置称为STO的「三件套」:

  • 订单类型和采购组织决定这张单子从哪来;
  • 交货类型和复制规则决定它怎么变成外向交货;
  • 装运点和库位决定货物从哪走。

排除问题的时候,按这三个圈层逐层看。常见翻车现场是:STO订单能建,VL10B总提示"没有可用于处理的项目",根本原因就是交货类型没有分配给订单类型。这类问题在系统里查采购订单时,发现销售凭证号是空的,说明复制控制根本没生效。

3.3 输出确定与公司间过账:一个容易被忽略的自动步骤

公司间STO的输出确定,很多人以为只是打印单据,实际它和跨公司发票的自动生成高度相关。发货工厂在VL02N里做发货过账后,系统会产生物料凭证和会计凭证。若要自动创建公司间发票,需要配置相应的输出类型,让交付过程可触发EDI或打印逻辑。

常见的做法是:定义输出类型RD00(公司间发票输出)或类似类型,将其分配到交货类型输出确定过程中。然后在交货单上维护输出表,由系统自动后台打印,或通过程序批量处理。这个方案的好处是,只要交货过账,公司间发票会自动创建,财务拿到发票编号就直接入账,不需要人肉去VF01。

自动过账则要检查后勤执行-装运-交货-定义库存转储订单的发货过账规则。有些项目习惯用手动MB1B收货,有些项目用装运自动过账。我的建议是:公司间业务量比较多时,优先开启「自动创建公司间发票」,并在项目培训里说清楚,避免用户以为发票要自己手工开。

4. 操作指南:从ME21N创建STO、VL10B交货到MB1B收货的完整链路

4.1 用ME21N创建公司间STO订单:字段、凭证类型和价格来源

打开ME21N,订单类型选择前面配置好的STO类型。输入供应商(发货工厂对应的公司间供应商)、采购组织、采购组、工厂和存储地点。关键点在于「工厂」和「供应商」要匹配:供应商所属公司代码应是发货工厂所属公司代码,收货工厂则是你当前登录采购组织所代表的那一侧。

创建STO时,行项目里需要填物料、数量、交货日期、工厂和存储地点。价格字段建议保留为空白,让它从信息记录或来源列表带出。如果项目里用的是标准价转移,系统会自动计算,不用人工干预;如果必须手工维护价格,务必确认定价基准是含税还是不含税,否则后续公司间发票金额会差几个点。

提示:确认完STO后,系统通常会弹出一个对话框,提示“是否创建采购订单”。这时可以点击“保存”并记录采购订单号。若系统提示库存转储订单流程未被定义,返回到3.1检查库存转储订单的订单类型定义,确认勾选了“后续交货”。

4.2 VL10B/VL01N创建外向交货:为什么看不到STO单据

STO订单创建成功后,进入VL10B(按采购订单创建交货单)或VL10A。输入供应商、交货工厂、装运点等信息,点击「程序-创建交货单」,系统会把符合条件的STO订单带入。

如果你在这一步卡住,看不到任何STO项目,优先检查以下三层:

  • 采购订单类型是否分配给交货类型;
  • 交货类型是否分配给装运点;
  • 订单的“装运”页签有没有填装运点,有些场景要求维护发货工厂的装运地点。

当系统成功创建交货单后,用VL01N或VL02N查看。此时交货单有一个外向交货号,状态是“未发货”。如果需要修改数量,可以在VN02N? 准确说是VL02N里修改。常见做法是将交货数量与订单数量保持一致,避免尾差。接着用VL02N做发货过账。过账后,物料凭证产生,同时产生在途库存或直接收货。

4.3 MB1B收货:什么时候用移动类型101,什么时候用自动过账

交货单在发货工厂跑完发货过账后,收货工厂需要把货物收到自己库存里。标准做法是收货工厂用MB1B或MB01? 严格说,收货工厂通常使用移动类型101进行收货,但公司间STO的收货场景有个特殊设计:如果订单类型和交货类型配置了“自动货物移动”,系统可能在发货工厂过账时自动生成收货工厂的收货凭证,收货工厂只需查看在途库存并确认。

操作上,MB1B输入移动类型101,工厂和存储地点填收货方,然后参照STO采购订单号收货。数量按实收数量填写,差额如果超过容差,系统会给出检查规则提示。配置检查规则时,我建议把“容差不足”和“容差超额”设成允许但警告,实际业务中运输破损和尾箱差异很常见,硬性报错会让仓库无法收货。

还有一点:有些项目为了减少用户操作,在STO流程里配置了“按交货单自动收货”(goods receipt automated)。如果你在项目里听到这句话,意味着仓库不需要做MB1B,系统在发货方发货过账的同时,收货方库存、在途、后续公司间发票全部一步到位。这种模式自动化程度高,但对配置要求也高,尤其是跨公司过账的科目设置,不能出错。

4.4 公司间发票的处理:从交货单到财务凭证的途径

公司间发票是STO流程的最后一步,也是财务上最关心的一步。常用事务代码是VF01/VF04。如果配置了输出确定和自动创建,交货单发货过账后,系统会产生一张公司间发票。VT转储? 不,发票类型通常是标准公司间发票,凭证类型RE。

如果没有自动创建,可以手工用VF04“销售凭证处理-出具公司间发票”集中处理。筛选条件输入销售凭证类型、交货单编号或过账日期,系统列出所有待开票的交货单。勾选后点击开具发票,生成财务凭证。

值得注意的是,公司间发票的收入科目不需要手工维护。配置里需要给发货工厂定义内部供应商的记账科目,一般是内部结算科目,同时在接收工厂侧定义对应应付科目。如果配置不对,财务过账时会出现“科目确定失败”或“无法确定收入科目”的报错。建议在项目上线前,用一笔内部转储业务走一遍,请财务同事盯一遍应收应付分录,确保科目方向正确。

5. 公司间STO的五个常见坑:翻车现场与排查方法

5.1 订单创建提示“公司代码/工厂不允许”或“物料未采购”

现象:ME21N保存时直接红字报错,抬头根本存不下来。最常见提示包括“公司代码不能处理物料”或“物料在工厂中未设为采购”。

原因:多数不是订单类型问题,而是物料主数据在收货工厂缺采购视图,或者工厂没有分配给公司代码。也可能是供应商的采购组织范围不允许。

解决:事务代码MM01给物料补采购视图,补完后再检查OX14工厂分配。如果供应商有问题,用MK02调整供应商-采购组织视图。这个坑一般一次就能遇到,配置前把所有参与STO的物料在收货工厂做一遍批量查看,能省掉大量返工。

5.2 VL10B看不到交货单

现象:STO订单建好了,交货类型也维护了,但VL10B列表里就是没有这个单子。

原因:大概率是「分配交货类型到订单类型」没配,或者订单里的销售凭证号码为空。有时候装运点没分配到工厂也导致列表过滤掉。

解决:先到SPRO检查3.1的复制控制。然后回到订单,查看“发货”页签,看“装运点”字段。如果系统不让手工保存装运点,说明订单类型的字段选择里把装运点设为不可维护,需要改字段状态。这类问题很玄学,偶尔项目顾问改了订单类型,却忘了检查字段状态。

5.3 发货过账后没有自动生成公司间发票

现象:VL02N发货过账后,财务那边VF04查不到待开票单据。

原因:没有配置交货类型的输出确定,或者输出条件记录没建立。有时候是后台作业没启动,输出被挂起。

解决:先检查输出类型在交货单的“输出”页签能不能手动添加。如果能手动添加但不能自动创建,说明输出条件记录缺失;如果手动也加不了,说明输出过程没分到交货类型。另外,检查后台作业“RV50B003 输出确定”的运行状态。公司间发票的自动生成属于后台处理,很多项目把后台作业停了,系统自然不干活。

5.4 跨公司过账科目错误

现象:发货过账后生成会计凭证,但财务发现内部结算科目方向反了,或者金额差异一个税码的距离。

原因:多数是定价过程和税务配置的问题,公司间STO如果价格含税,而配置里把税务码设为空,系统会默认按净价过账。

解决:回头检查采购信息记录和供应商主数据里的「付款条件」,确认定价是按含税价还是不含税价;再到OBYC检查GBB和PRD? 这里通用写法:检查“物料管理-评估和科目设置-科目确定-无物料管理的自动过账”,确认有收货/冲销和内部结算的科目。建议多跑两次测试单,第一次不过账确认,只模拟过账,看财务凭证是否合理。

5.5 收货工厂库存无误但采购订单历史未更新

现象:MB1B收货完成,但ME23N采购订单历史里看不到“收货”的行项目。

原因:如果用了交货自动收货,订单历史里的移动标识可能显示“已发货”,而不是“已收货”。业务用户不熟悉这个表达,误以为没收货。

解决:这是显示逻辑问题,不一定是错误。在ME23N的“交货历史”和“物料凭证”都查一遍,确认101移动类型对应凭证存在。另外可以配置「采购订单历史更新」让系统在自动收货后也显示该项。这类坑不致命,但容易造成项目上线时几方扯皮,记得提前给用户做截图式说明。

6. 进阶技巧:用状态监控和批量处理把公司间STO管起来

6.1 用ME2O/ME2L快速核查STO交付状态

公司间STO单量一大,靠ME23N一张张点开看交付历史太慢。我习惯用事务代码ME2O(按交货工厂查询STO)和ME2L(按供应商查询采购订单)做日常监控。ME2O可以按工厂、库存地点显示所有转储订单,还能直接看到每行的“订购数量”“已交货数量”“未交货数量”,一眼定位欠交单。

操作技巧:ME2O执行后切换布局,把“装运点”“交货日期”列加进来,然后按“未交货数量”降序排列,优先处理欠料最多的单子。配合变式保存下来,每次打开就把筛选条件填好。这个习惯能让你在项目支持期少挨骂,而不是天天去查上千条日志。

6.2 批量处理STO和后续过账的自动化习惯

如果你已经跑顺了基本流程,下一步就是把重复操作自动化。常见做法有三个层级:

第一,VL10B可以批量选择一批STO订单统一创建交货单。选择屏幕里设置好供应商、工厂、交货日期范围,系统会把所有符合条件的单据一起转成交货单。但要注意,批量创建后必须有一个专人检查交货单是否都挂到了正确的装运点。

第二,后台配置可以把“自动创建公司间发票”做成定时作业。这样每天深夜批量处理当天的发货过账,第二天财务一上班就能在VF04里看到待开票记录。我处理过的一个项目,公司间STO从月结5天缩短到2天,就是靠这个作业加规范的交货过账时间。

第三,如果你有ABAP开发资源,可以做一个简单的报表,按“采购订单号、交货单号、发票号”三个凭证号纵向拉通,让业务用户在一个界面里看全流程状态。这不算技术难题,但对关键用户的支持体验提升非常明显。

最后说一句我自己沉淀下来的习惯:每次给新项目做STO配置,我都先做一条端到端测试,而不是每个环节单独测试。因为公司间STO踩坑往往不在配置本身,而在单据复制和自动过账那些隐性联动里。测完主流程再补边界场景,比如部分交货、超量交货、无税码。这套思路帮我省了大量被客户追着问“为什么没反应”的时间。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询