ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

公司间STO业务流程详解:从SAP配置到库存转储实操

公司间STO业务流程详解:从SAP配置到库存转储实操 在公司间STO这个需求上我前前后后至少参与了六七个项目每次都会遇到用户问同一个问题“大家都是集团内部的为什么不能直接做库存调拨非要搞一套采购、发货、开票的动作”这个问题问得好因为公司间STOStock Transport Order库存转储订单确实不是单纯的工厂移库它背后牵涉的是两个独立公司法人的存货所有权转移、内部结算、税务和报表合并。这篇文章我打算以自身实施经验为主线把公司间STO从业务逻辑、方案设计到后台配置和实操流程完整拆一遍。内容偏顾问向但也适合企业内部的MM关键用户和供应链管理人员阅读。你能搞懂它解决什么问题、在哪些场景下必须用、怎么落地配置、上线后容易踩哪些坑就算达到目的了。1. 公司间STO与普通工厂转储的本质区别1.1 为什么跨了公司就不能用301直接转很多刚接触MM模块的人会先想到301觉得“把货物从一个工厂搬到另一个工厂用移动类型301做一步转移不就行了”如果两个工厂属于同一个公司代码法人确实可以。但一旦跨了公司代码情况就完全变了。不同公司代码意味着不同的资产负债表、不同的利润中心、甚至不同税务主体货物从A公司的仓库挪到B公司的仓库不只是“物理位置变了”在法律意义上这是一次所有权的转移A公司相当于把货卖给了B公司。这就带来两个必须解决的问题第一A公司不能白白把货给B公司必须有一个“售价”来实现成本回收和利润确认第二这笔内部交易要生成规范的票据流采购方要有采购订单和应付发票销售方要有销售结算和应收发票才能满足财务记账和审计要求。301这种简单的库存转移根本承载不了这些信息所以SAP才设计了跨公司STO这种基于“采购—销售”模型的单据链。1.2 公司间STO的完整单据链条一套典型的公司间STO流程至少要经历五张核心单据采购端创建库存转储采购订单STO PO销售端的交货单Outbound Delivery发货仓库做发货过账PGI采购端做收货GR销售端开公司间发票采购端做应付发票校验。这里和普通公司内STO最大的差异就是多了“公司间发票”和“应付发票”这两个财务动作。普通STO只需要在系统里跑物料和库存财务凭证是自动产生的公司间STO则要多一道“开票”的节点用来向对方公司收钱。所以你在做蓝图调研时一定得先区分清楚这家公司要做的是跨公司代码STO还是同公司代码下不同工厂的转储两者的配置量完全不在一个层级。1.3 一步法和两步法怎么选公司间STO还有一个常见分支就是库存路径上采用“一步法”还是“两步法”。一步法的意思是发货方过账发货后收货方库存同步增加没有中间在途科目两步法则在发货和收货之间加了一个“在途库存”发货方完成发货时货物进入“在途”收货方实际点收后才转为自己的可用库存。从我接触过的项目来看同公司跨工厂调拨用一步法比较多方便省事但跨公司STO因为往往涉及长距离运输、物流周期差异和所有权风险分担大多数项目会选择两步法至少物流部门能看到货已经从A公司发出、还在路上财务上也能把在途库存从发货方资产负债表里剥离出来更贴近真实的贸易节点。不过这里要提醒你一句一步法和两步法不是简单选个菜单它和采购订单类型、交货类型、移动类型配置紧密耦合最好在蓝图阶段就和财务、物流团队统一口径否则做到一半再调整很容易导致库存账货不符。2. 方案设计之前必须先想清楚这几件事2.1 内部结算价格怎么定公司间STO的核心不是物料移动而是“价格”。谁来定、怎么定、含不含税、运保费怎么分摊这些问题直接决定后续的系统配置。常见做法有三种按标准成本结算、按实际成本加成、按市场公允价。每种做法对MM定价配置的影响不一样。例如按标准成本结算可能直接使用物料主数据里的标准价不需要维护复杂条件记录按成本加成往往要在采购定价过程中加一个加价条件把价格计算逻辑建出来还要维护有效期按市场价结算则要像外部采购一样维护一套内部条件记录而且价格变动频繁管理成本会高不少。这笔“内部转移价”你在PO里看到的是采购单价在销售端开公司间发票时又会变成开票单价。两个价格会不会产生差异差异记到什么科目财务顾问必须提前给答案。我见过有项目因为没聊清楚这块上线后公司间利润轧差总是对不上月底对账要折腾好几天。2.2 发货流程是否启用完整交货管理公司间STO可以走“带交货”的流程也可以不走交货单直接做库存转储。在跨公司场景中我的建议是尽量启用交货单。理由是公司间STO本质是一买一卖销售方必须有出库依据仓库发货需要拣配、装运、称重、签收这些物流动作这些信息都挂在交货单上比挂在采购订单上合理得多。启用交货单还意味着要检查装运点Shipping Point的确定规则确认物料主数据、工厂、装载组这些字段配置正确否则后面前台创建交货单时会失败。很多项目上线后遇到的“VL10B没有产生交货单”问题八成都是装运点确定条件里漏了东西。2.3 结算科目和往来科目必须财务提前介入公司间STO的财务凭证涉及的东西已经超出MM顾问的范围了。比如发货方发货时要产生公司间应收、确认内部销售收入采购方收货时要确认公司间应付、资产入库两边还要有在途科目、存货科目、收入和成本科目。这么多分录全部靠后台自动记账配置驱动MM和FI两个模块必须联合设计。在做配置之前财务必须给出科目表和记账规则特别是“内部结算对方科目”怎么走。很多公司为了管理内部往来用的是集团统一的内部结算科目并配合利润中心和段Segment来区分各法人如果这部分没提前约定后面OBYC配置容易来回返工。2.4 异常分支退货、差异、拒收怎么处理蓝图阶段不能只看顺向流程还要问清楚异常情况。货物到了对方工厂后发现质量不合格怎么办数量短装怎么办对方不要了货怎么退回来最常见的处理方式是再走一张反向的公司间STO或者基于原PO做退货采购订单。但要注意退货如果牵扯到已经开过的发票就要做红蓝冲销或贷项凭证这会影响到财务结算。项目里若这个需求比较强烈最好在方案里明确写清楚退货流程和对应移动类型给测试留足时间。3. MM后台配置逐项拆解3.1 库存转储订单的底层配置整套配置的入口在后台路径“物料管理 → 采购 → 采购订单 → 库存转储订单的设置”下里面有几个键级配置要重点看。第一个是“定义库存转储订单的单据类型”。系统里有标准单据类型UB专门用于库存转储采购订单。我通常建议复制UB生成一个新的公司间类型比如ZUB而不是直接改UB因为UB在后台上可能被其他流程引用贸然调整会影响现有逻辑。新类型要指定号码段建议用区别于普通采购订单的号码范围方便从单据号上快速识别。第二个是“定义库存转储订单的移动类型”。这里决定了系统在发货和收货时默认用哪些移动类型。我和不少顾问交流时发现不同版本、不同实施模板里公司间STO的实际移动类型可能不一样有的项目发货过账用的是643收货是101还有项目用的是641加上后续的跨公司调整。所以做项目时别把这个配置项当成一个固定值一定要到OMJJ或对应的移动类型后台里去核对你们系统实际带出来的是什么。第三个是“定义交货类型”。跨公司STO如果启用交货管理需要给“工厂到工厂”场景指定一个外向交货类型比较典型的是NL或者基于NL复制的自定义类型。交付类型定错后面VL10B筛选STO单据的时候会直接看不到。3.2 收货工厂和发运工厂的资料维护公司间STO的前台操作中采购订单行项目里要指定“发运工厂”Supplying Plant和“收货工厂”Receiving Plant。这两个工厂在系统里要存在而且它们所属的公司代码必须是两个不同的法人否则这单就不算真正意义的公司间STO。很多企业集团主数据不干净同一个“发货工厂”在后台分配给了错误公司代码导致创建的PO被系统判定为普通跨工厂转储。这种情况排查起来非常隐蔽你从表面业务看哪里都对实际上单据类型、定价过程、科目确定全走错了一套逻辑。所以方案上线前务必让IT部门导出一份“工厂—公司代码—利润中心”对照表逐条验证。3.3 定价过程的配置公司间STO在采购端的定价过程通常要复制标准采购定价过程RM0002或类似模板具体用哪个取决于你们采购订单类型的设计。配置路径在“物料管理 → 采购 → 条件 → 定义价格确定过程”。和外部采购流程不同公司间STO的价格条件虽然也叫PB00或PR00但它的值来源不是供应商报价而是内部转移价格。很多企业会用自定义条件类型来承载比如ZIC1表示“公司间采购价”同时在定价过程里加一个计算型的加价条件让系统自动算出含内部利润的结算价。这里要特别提醒前台创建PO时如果价格总是带不出来不要只盯着条件记录还要检查“计算方案Calculation Schema”是否被正确分配到供应商主数据或采购组织。公司间STO的供应商既是集团内部供应商又和普通外部供应商共用一套主数据体系在供应商主数据的“采购”视图里如果漏配了公司间的计算方案价格照样带不出来。3.4 财务自动记账的关键科目配置自动记账配置主要在OBYC里完成MM顾问要配合FI顾问一起过一遍。物料收货入库时会走到存货记账的科目公司间STO的收货方在收货时存货科目和GR/IR清算科目必须配对发货方在发货确认时会产生库存减少、销售成本和公司间应收。不同交易码对应的科目表又不一样比如BSX是存货记账GBB是库存转移或费用消耗OBYC里没有配全的话过账时就会出现“科目X在OBYC中未定义”这样让人头大的错误。我在项目里还经常遇到一个问题发货方发货时如果按“收入”记账需要确认一个内部销售收入科目这个科目的确认逻辑往往挂在“定价过程的条件类型”上而不是靠OBYC直接能配出来的。这意味着你要在销售端开发票的定价过程中给收入类条件类型设置“科目确定码”Account Key并把这个Account Key对应到OBYC的KOFK或其他交易里。光这个环节就能讲半天实际操作时最好由熟悉SD条件技术的顾问一起来配。3.5 相关主数据客户、供应商、物料在主数据层面公司间STO涉及发货方公司代码作为“供应商”出现在采购订单里也作为“客户”出现在销售结算里。因此发货方的公司代码必须具备两个集团主数据身份一个是指定给采购公司的供应商主数据另一个是指定给销售流程的客户主数据。一旦主数据的公司代码视图没建好问题会以各种形式暴露。比如采购端创建PO时选不到公司间供应商或者销售端开发票时系统提示没有销售范围、没有客户账户组、没有开票类型。这些表面看是操作问题实际上主数据配置不全。所以上线前建议写一个主数据检查清单把供应商主数据、客户主数据、物料主数据的公司代码视图、工厂视图、销售视图一项项核清楚。4. 前台实操把流程完整跑一遍4.1 创建公司间STO采购订单前台操作第一步是用ME21N创建一张库存转储采购订单。操作要点是采购订单类型选ZUB或你们公司自定义的库存转储类型供应商字段一般用来指定“发货方公司代码对应的公司间供应商”工厂字段填发货工厂行项目里需要额外指定“收货工厂”。如果PO类型定义得正确系统会识别出这是一张公司间STO并在后台对接的公司间销售流程中产生关联。数量、交货日期、价格三个字段要特别留意。交货日期决定了后续MRP和交货计划的时点价格字段如果无法手工维护就要确认条件记录是否维护好了否则后面的公司间发票金额会跟着错。4.2 发货方产生外向交货单STO采购订单经过审批之后发货方仓库并不需要跑到MM里做发货而是通过VL10B或VL10C去“为采购订单创建交货单”。VL10B的界面上你可以按采购订单、工厂、交货日期来筛选选出这张公司间STO后系统会生成一张外向交货单并确定装运点和路线。生成交货单后仓库人员去VL02N里做发货过账PGI。从这一刻起这批货的所有权就从发货方公司转移出去了。如果配置的是两步法系统会把库存状态更新成“在途”如果是一步法对方工厂的库存会直接增加。PGI一旦执行物料凭证已经产生后续所有财务记账都由此触发所以PGI之前务必确认“实物已经真的可发”别为了赶进度提前过账结果货还堆在自己仓库里。4.3 收货方做MIGO收货收货方用户进入MIGO选择“收货”和“采购订单”参考输入STO采购订单号系统会带出应交货的数量。这里的常规移动类型是101不过最终以你们后台库存转储配置为准。点“过账”后收货方公司代码下库存增加在途库存减少。这一步往往在实施阶段会被用户忽略因为很多人觉得“货到了直接扫码入库就行不用管什么采购订单”。如果收货不参考STO采购订单就做不到自动关联公司间应付和GR/IR后续发票校验和财务对账都会断链。所以上线培训时必须反复强调“收货必须基于采购订单”别用其他入库方式抢跑。4.4 公司间发票与应付发票货物收完之后财务动作紧跟着来。销售方需要在VF01里对这次发货开公司间发票以确认对采购方公司的应收采购方则在MIRO里基于采购订单做发票校验把公司间应付确认下来。这里会产生一个常见的认知误区很多MM顾问以为“有发货和收货然后采购方做一张MIRO发票就算闭环了”。但公司间STO如果销售方不开公司间发票那么销售方的收入、成本和公司间往来就无法确认集团内部两个法人之间的往来账款就平不了。实际项目里为了减少两边对账差异我一般建议在系统里建立一套自动核对机制定期抽查公司间开票数量和采购方发票校验数量是否一致。如果数量、价格对不上MIRO里可能出现金额差异系统会把差异挂到指定的“差异科目”上。这个科目没有配置好就会出现发票校验被拒或无法过账。遇到这种情况优先检查PO价格、交货单数量、收货数量与发票数量之间的勾稽关系。5. 高频问题和排查速查5.1 VL10B生成不了交货单这是上线初期被问得最多的一个问题用户急匆匆跑来说“我为STO做交货结果列表空白的”。排查路径其实不复杂第一步看PO类型是不是库存转储类普通采购单不会跑出外向交货单第二步看行项目里的收货工厂和发货工厂是否来自不同的公司代码第三步看物料的装运点确定对不对装运点找不出来系统根本不会给它生成交货单第四步看后台“交货类型定义”里是否允许这个PO类型。很多项目问题出在第三步物料主数据里没有维护“发货工厂的装运数据”或者装载组为空。在设置物料主数据的工厂视图时有一个“一般工厂数据”区域里面包含装载组、运输组等字段这些字段是装运点自动确定的输入值必须在该发货工厂视图下维护好。5.2 过账时报“科目未定义”例如“Message F5A 462: Account 66100110 is not defined in account determination”。这种报错要分两层排查第一层看OBYC里对应的事务键有没有配置科目第二层看该物料主数据是否在对应工厂下启用了“评估类Valuation Class”。很多公司间STO涉及的物料是半成品或成品它们和原材料用的评估类不同如果“评估类 — 科目表 — 事务键”这条组合链中有一环没配好过账必挂。我不建议遇到这类错误后直接找FI顾问随便塞一个科目而是要把业务场景描述清楚让FI顾问顺着“库存更新 / 收入 / 成本 / GR/IR”各条链路去检查否则今天这个科目补上了明天换个移动类型又会冒出下一个缺科目的报错。5.3 收货数量对不上发货数量如果配置了出货方数量和收货方数量出现差异常见原因有损耗、运输途损、收货方按实际点收数量入库。标准STO支持部分收货采购订单上的“未交货数量”会继续挂在报表里下次到货还能继续收。不过在公司间STO里这个“允许超收/收货不足”的容差要提前和财务约定。例如超出一定比例后不能收货这部分配置在“收货容差”或后台的采购订单容差里维护。否则会出现发货方开了10个数量收货方实际收到9.8个但双方发票数量各执一词月底对账极其痛苦。5.4 公司间开票没有带出销售凭证有些公司间STO方案会启用“内部销售订单自动生成”机制也就是STO PO创建后系统在后台创建一个关联的销售订单。如果启用了这套机制发货和开票都基于销售订单执行。此时发货端看到的交货单来源可能不是“采购订单”而是“销售订单”。如果开了销售订单流程但VF01里找不到可以开票的交货单大概率是两张单据之间的“单据流”断了。可能是销售订单没有成功生成也可能是销售订单处于“未完成”状态。排查时要先追踪PO的历史记录看有没有生成对应的销售订单再到销售订单里检查“交货已完成”和“开票冻结”字段。开票冻结是最容易被SD顾问设置的如果销售订单上有开票冻结交货单做得再顺也开不出票。5.5 系统提示“工厂不在公司代码内”这是在维护STO PO或者进行跨公司发货时容易遇到的一个配置类报错。原因通常是一个工厂在后台被分配给了一个公司代码但这个工厂在某种业务视图下被重复定义或者同一个工厂编号在不同公司代码下都建了。这种主数据问题一般都藏在“公司代码—工厂—采购组织”的分配关系里。STO的跨公司设定对“采购组织”的分配非常敏感你需要确认创建PO的采购组织是否有权限为远端的发货工厂下采购单。如果采购组织只分配给发货方公司而没分配给收货方公司交易时一样报错。5.6 价格和税费差异的核对思路公司间STO的税的处理会比较特殊。跨公司交易可能涉及内部转移增值税也可能因为两个法人处于不同税收管辖区而出现免税/视同销售的情况。这已经超过MM配置范围的边界了。如果发现MIRO里税额和采购订单不一致建议让财务顾问检查“税码的确定规则”和“定价过程中的税收条件类型位置”。在项目实操中一个比较实用的做法是先做一张小金额、单一物料的测试单把PO、发货、收货、公司间发票、MIRO全部跑通把每一步的会计凭证导出来让财务提前确认借贷分录是否符合预期。这样调整起来比在正式大批量交易发生后去翻账要快得多。最后再分享几个实际落地的小体会公司间STO有没有做扎实我在项目里看三个信号第一业务部门能不能说清楚每一张PO代表的是“买入”还是“卖出”还是“普通转储”第二月底对账时公司间往来余额能否在很短的时间内轧平第三物流和财务两个部门对“在途库存”的理解是否一致。如果一个企业的STO流程跑得顺通常意味着它的主数据、定价配置、财务自动记账、装运规则和部门职责全都对上了这是整个团队协同打磨出来的结果不是哪一个人单点能搞定的。如果你接下来正要实施这个模块我建议在项目计划里单独给公司间STO留出一条测试场景不要把它混在外部采购场景里做验证。因为它的触发逻辑、凭证流和金额计算路径和常规采购单差别太大稍有不慎就会在集成测试阶段浪费大量时间。把标准流程跑通后再追问几个“如果”——如果收货方拒收一部分货怎么办如果发货方延期交货怎么办如果实际结算价和订单价不一致怎么办。把这几个“如果”都梳理出明确的答案这个方案基本才算具备上线条件。
返回列表