ARTICLE DETAIL

资讯详情

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

SAP零售公司间退货STO实战:配置、操作与月结对账

SAP零售公司间退货STO实战:配置、操作与月结对账 在零售行业做 SAP 项目尤其是总部-区域公司-门店这种多公司代码的供应链模型里STOStock Transport Order库存转储订单绝对是出镜率最高的单证之一。正向来货很顺但真正让 MM、SD、LE、FICO 四个模块顾问头皮发麻的是退货场景门店要把货退回区域 DC区域 DC 再把货退回中央仓而且参与方还是不同公司代码这就是标题里说的“零售-公司间关联交易退货STO”。这篇文章我基于 SAP S/4HANA 零售行业模板把一个可以落地的退货 STO 实现方式完整拆开从业务场景、方案选型、后台配置到实操步骤、常见问题、月结对账全部按项目实战的视角讲。适合正在做零售供应链、跨公司库存转移、内部采购退货的顾问也适合企业内部的 MM/SD/LE 关键用户拿来当蓝图参考。先给结论如果要处理“门店退给区域仓、区域仓退给总仓、总仓退给供应商”这类公司间反向物流最推荐的方式是用“带退货标识的公司间 STO 外向交货 公司间贷项凭证”。它和普通正向 STO 共用一套主数据、定价和交货流程但对订单类型、项目类别、交货类型和开票类型都有一套额外配置开关。这篇文章主要就是把这套开关讲清楚。1. 核心业务场景与方案选型1.1 什么是公司间关联交易退货STOSTO 本质上是一张内部采购订单。普通采购订单是“我找供应商买货”STO 是“我从自己的另一个工厂调货”。正向 STO 的物流方向是发货工厂做发货过账收货工厂做收货过账所有权和库存价值随之转移。公司间 STO 则是两个工厂属于不同的公司代码例如公司代码 1000 是中央配送中心公司代码 2000 是区域公司或门店。此时货物挪过来不再是简单的库存转移而是一次“关联交易”物流上货从 1000 到了 2000财务上 2000 要向 1000 付钱系统里要产生公司间往来的应收应付。退货 STO 就是把上面的方向反过来。门店或区域仓发现商品过季、滞销、残次要退回中央仓而这两个组织属于不同公司代码。这时候不能再靠人工改库存更不能直接把存货总账冲掉而是要走一张反向的库存转储订单把货权从 2000 退回给 1000。所以“退货 STO”并不是一个独立于 STO 之外的新单据它是 STO 的一种业务变式。区别就在于物流方向反转原来由 A 发给 B现在是 B 发给 A财务方向反转原来 B 欠 A 的钱现在 A 要给 B 退钱或冲应收定价逻辑反转原来按公司间销售价做应收现在按退货价做贷项单据链反转原来走“采购订单-外向交货-发货过账-收货过账-开票”退货 STO 也依然走这套链只是每个环节都带退货标记。1.2 三种常见实现路径对比做公司间退货时顾问之间经常争论方案我见过的大致有三种。第一种就是用带退货标识的 STO也就是本文重点讲的方案。订单类型从标准 UB 复制项目类别配置为允许退货的类别交货单类型复制标准交货类型开票类型用公司间贷项凭证。这个方案的好处是 MM、SD、LE、FICO 全链路都是标准功能报表、批导、审批、WM 都能用。第二种是把原供货工厂当成一个外部客户做一张公司间退货销售订单用退货订单类型 RE 加外向退货交货。这种方案适合“不是因为正常退仓而是因为质量索赔、破损理赔、讲究单独定价”的场景。它更灵活但已经不是 STO 了很多库存转储报表和采购报表就统计不到。第三种是最原始的做法先做一步库存转储 311/312 或盘点调整再财务手工做一笔公司间往来凭证。这种方案我强烈不建议因为它拆碎了物流和财务单据对不上月结就是灾难。我用一张表总结一下方案核心单据适用场景优点缺点方案A退货STO带退货标识的 STO 外向交货 贷项凭证正常退仓、退供、跨公司退库全链路标准、可追溯、报表完整配置点稍多退货定价要提前定义方案B退货销售订单退货销售订单 RE 退货交货 贷项凭证破损索赔、按单收费、复杂定价灵活可结合索赔原因和扣款条件不是真正的 STO采购库存报表覆盖不到方案C手工转储手工凭证库存转储 FB50/F-02临时、非经常、金额极小快单据链断裂、审计风险高、不建议长期用做正规项目尤其是在零售行业这种单据量大、公司代码多、月结要求高的环境里方案 A 是基本盘。方案 B 可以作为补充但不要用它替代方案 A。1.3 为什么退货 STO 容易被忽视正向 STO 在 SAP 里是有标准订单类型 UB 的很多项目复制过来就能用。但退货 STO 没有一张“拿来就用”的标准单据它依赖配置里几个关键的开关订单类型是否允许退货项目类别是否带“退货项目”标记交货单类型是否允许负向或反向库存移动开票类型是不是贷项凭证会计科目确定是否包含退货相关的移动类型。很多项目在蓝图阶段没有设计退货场景上线后第一次遇到门店退仓时顾问就只能临时找一个交货类型硬套结果就是物料凭证移动类型不对库存冲错公司间发票方向反了。2. 关键配置与主数据准备2.1 主数据层面的准备工作在动手做后台配置之前先把主数据理清楚。物料主数据必须在两个公司代码的工厂视图下都维护好。退货 STO 涉及发货工厂和收货工厂如果某个物料在 1000 工厂有货但在 2000 工厂没有维护工厂视图创建 STO 时系统会直接报错。零售行业的物料还有批次、变式、商品状态退货时尤其要注意批次管理是否启用因为退回来的货往往不是同一个批次收货过账时要允许批次拆分。公司间价格条件记录也要维护好。正向 STO 有公司间采购价和公司间销售价退货 STO 同样需要而且要注意退货价格到底是等于原价还是低于原价。实际上很多零售公司退货时是不扣价的原价退回也有公司会在退货单上做折让比如残次品按 9 折退回。这些都要提前定义好条件记录和定价过程。如果是公司间 STO原供货工厂在 SD 层面往往需要维护成一个客户因为发货交货单要带出客户主数据开票时也要按客户处理。门店或区域仓作为收货方如果是另一个公司代码常在客户主数据里用“送达方”角色出现。不同模板的客户字段用法会有差异但“原供货工厂要有配套客户主数据”这点是跑不掉的。2.2 核心后台配置清单我把一个标准的公司间退货 STO 涉及的后台配置整理成一张清单。具体事务码和路径以你的系统版本为准但配置点基本是这些模块配置点配置内容说明MM订单类型定义复制标准 UB命名如 ZUBR在“更新”或“退货”维度开启退货功能MM项目类别定义定义退货项目类别例如 UBR必须勾选允许退货的标记MM项目类别确定让系统在“STO 退货”时自动带出 UBR而不是普通 UBEMM编号范围分配为 ZUBR 分配独立或共享的采购订单编号范围MM释放策略退货 STO 是否需要审批、按金额或按物料组做释放LE交货类型定义复制标准 NL命名如 ZNLR设置交货截止日期、拣配、装运功能LE装运点确定为退货工厂配置装运点和装载分组LEWM/EWM 集成退货是否需要 WM 上架、是否走质量检验仓位SD交货到开票复制控制配置 ZNLR 交货单到公司间贷项凭证的复制控制SD开票类型定义复制标准 IV 或 RE定义贷项标识、会计过账标识SD开票计划与输出确定配置输出类型例如自动发邮件给财务或打印退货单FICO自动科目确定 OBYC覆盖退货相关移动类型的 GBB 记账、存货记账科目、公司间往来科目这些配置不是做完就行一定要连起来测。很多时候单个配置看起来没问题但一到 VL10B 创建交货单就失败原因往往是“交货类型没有分配给订单类型”或者“装运点确定不出来”。2.3 和普通 STO 的配置差异普通 STO 的项目类别通常不勾退货订单类型也不允许退货。退货 STO 最核心的差异就在“退货标记”上。以 ME21N 里创建采购订单为例如果某个项目类别被定义为允许退货创建订单时在“物料数据”或“项目条件”的相关位置会出现“退货”勾选项。一旦勾上系统内部就会把后续的交货、收货、开票按反向处理。这里有三个地方是很多项目容易配漏的第一项目类别确定条件。SPRO 里采购订单项目类别的确定通常基于“订单类型 物料类别 工厂 账户分配”。如果退货场景下物料类别和普通 STO 一样系统可能还是带出普通项目类别 UBE而不是退货项目类别 UBR。所以要从“退货标识”这个维度增加一条确定规则。第二交货单复制控制。普通 STO 的交货单能 PGI但退货 STO 的交货单过账时移动类型会变成退货相关的移动类型。如果交货类型没有把“库存转移的返回”开关打开过账就会被拒绝。第三开票类型。普通 STO 是公司间销售生成应收退货 STO 是公司间退回生成贷项或冲销。如果开票类型没有设置贷项标识VF01 做出来还是普通的应收账单账务方向就反了。3. 实操流程从退货STO到公司间开票3.1 完整业务链路设计我用一个实际例子说明。假设公司代码 1000 是中央 DC公司代码 2000 是区域 DC。区域 DC 有一批 50 件的商品因为过季要退回中央 DC。商品标准成本单价按 100 元算。整个退货链路是公司代码 2000 创建退货 STOSTO 经过审批从 2000 的发货工厂创建外向交货单2000 工厂做发货过账货从 2000 库位出1000 工厂做收货过账货入 1000 库位系统生成公司间贷项凭证财务分别在公司代码 1000 和 2000 看到库存和往来变化。创建退货 STO 的事务码还是 ME21N但订单类型不要用标准 UB用配置好的 ZUBR。如果配置正确创建订单时系统会在项目详情里带出“退货”标识同时项目类别自动显示为 UBR。数量不需要填负数。很多新手在这里会犯一个错把数量填成 -50。其实标准做法是不填负数量而是勾选“退货项目”即可。退货项目是由项目类别控制的系统会根据退货标识自动把后续库存移动方向反转。3.2 各环节实操要点创建退货 STO 后可以用 ME23N 查看订单确认供货工厂是 1000收货工厂是 2000但是订单方向是“2000 退货给 1000”。从 MD04 库存需求清单看这个 STO 会作为一张需求单据出现同时也会改变 1000 工厂的后续供给。审批环节不能省。零售行业退货量往往很大如果不加审批财务很容易失控。可以在释放策略上按“退货金额超过 XX 万需要审批”来控制。我做的项目里这个金额一般设置成 5 万元或 10 万元低于阈值自动释放高于阈值走工作流。创建交货单时可以用 VL10B按采购订单批量选择需要交货的 STO。如果用 VL01N 手工创建也要注意交货类型能不能匹配到 ZUBR。交货单创建后库存会在 2000 工厂被“分配”给这张交货单。在 VL03N 里看交货单状态应该是还在拣配中。到 VL02N 做发货过账时系统会生成一个物料凭证。这里需要特别关注移动类型普通 STO 的发货过账通常对应 641/643收货过账对应 101带退货标识的 STO 会把发货过账移动类型自动调成 161/162 这类退货移动类型。所以做完发货过账后建议养成一个好习惯用 MB51 按物料凭证查一下移动类型和记账科目确认不是 641 而是退货类型。原供货工厂在 MIGO 里做收货时操作方式是“收货-采购订单”选参考的采购订单号。和普通 STO 收货不同的是这里收货过账后1000 工厂不会产生普通的应付而是对应公司间贷项。收货数量要和发货数量一致如果零售场景有破损可以先收合格部分残次部分走供应商索赔不在同一张 STO 里强行收。3.3 财务记账流程验证开票环节通常用 VF01 或 VF04 批量处理。开票类型要用配置好的公司间贷项凭证类型。可以想象成中央 DC 原来卖给区域 DC 一批货现在区域 DC 退回来了中央 DC 需要开一张负向的账单把原来的应收冲掉。以 50 件、单价 100 元为例不考虑税逻辑上应该有这个结果公司代码库存变化往来变化1000 中央 DC库存增加50 件 * 100 元 5000 元对 2000 的应收账款减少或贷项 5000 元2000 区域 DC库存减少50 件 * 100 元 5000 元对 1000 的应付账款减少或收款 5000 元如果退货价格不是原价例如残次品按 95 元退回则 2000 公司代码只收回 4750 元中间的 250 元差额要由业务部门判断是计入损耗还是索赔。这个逻辑要在定价过程里控制不要让顾问在开票时手工改价。开票后用 FB03 查会计凭证能看到公司代码 1000 有贷项凭证对应的收入冲减和往来清算科目公司代码 2000 有存货减少和对应往来科目。如果发现成本或收入没有冲回优先检查“自动科目确定”中的移动类型配置其次检查开票类型的“贷项标识”。3.4 零售场景的附加处理零售行业往往有“配送中心-门店”的配送概念。门店不是典型工厂有些项目里门店作为销售组织下的售达方没有独立工厂那就不适合用 STO而应该用配送单或调拨单。这篇文章默认的是两个公司代码都有独立工厂的场景这是能做 STO 的前提。如果商品启用了批次管理退货 STO 在创建交货单时会自动分配批次或者在发货过账时让你选择批次。退回到中央 DC 后建议启用质检状态不要直接进入可用库存因为退回来的商品可能是残次品需要判定是重新上架还是报废。如果启用了 WM退货收货的仓位不是普通拣货位而是退货暂存区或质检位。需要在 WM 的移动类型配置里指定入库策略和仓位类型。很多项目 STO 本身测试没问题但是加上 WM 后就崩主要原因是 WM 移动类型、仓库号、仓位类型没有配。4. 常见问题与排查技巧实录4.1 创建退货STO时报错或退货标记不可选这是最常见的第一个坑。症状一ME21N 创建订单选好订单类型后项目类别是 UBE退货勾选框灰色不可选。原因基本是项目类别 UBE 没有勾选“允许退货”。SAP 标准项目类别 UBE 是用于普通 STO 的它本身不允许退货。你需要定义或复制一个新的项目类别比如 UBR把退货开关打开再在项目类别确定里把它配到退货场景。症状二创建订单保存时报“项目类别 XXXX 未定义”。这是因为订单类型在“项目类别确定”中没有覆盖“物料类别 退货标记”的组合。排查路径是SPRO - 物料管理 - 采购 - 项目类别 - 定义项目类别确定找到对应订单类型检查退货标识对应的项目类别是否已经填上。我建议在测试环境里先创建一张退货 STO确认项目和计划行都正确后再做交货。不要一上来就直接配完整流程那样出问题不好定位。4.2 VL10B创建交货单时找不到订单明明 STO 已经审批了库存也有但 VL10B 就是选不出来。排查顺序一般是这样的检查订单类型对应的交货类型是否维护在“采购订单类型”和“交货类型”的分配里检查交货工厂是否配置了装运点检查计划行类别是否允许“交货”检查物料主数据的装载组和工厂的装载点是否匹配检查交货单是否已经创建过如果之前已经创建又删除STO 会带上“交货已完成”标记。其中“交货已完成”这个最容易踩。因为退货 STO 创建后如果误操作创建了一张空交货单并删除或者在 MD04 里手工把交货数量清零系统会认为已经交完了VL10B 自然不会再选它。处理方式是在 ME23N 的“交货”页签里把“交货完成”标记去掉。4.3 发货过账报移动类型不允许这属于比较隐蔽的问题。正常 STO 发货过账系统会自动用 641 或 643。退货 STO 发货过账时系统根据退货标识自动换成退货移动类型。如果你的订单类型或项目类别退货标识没有完全打通或者物料凭证的“移动类型确定”配置有问题过账时就会报“移动类型不允许”。这类问题不要只看表面报错要打开审计跟踪或用 ST05 跟踪确认系统真正尝试使用的移动类型是什么。然后在 SPRO 里查这个移动类型是否允许“自动库存记账”“自动科目确定”“WM 集成”。我处理过一个案例退货 STO 发货过账时报移动类型 161 不允许原因是物料没有开启批次管理但 WM 移动类型却要求批次最后把 WM 移动类型调整成普通库存转移的配置才解决。配置本身不复杂但 MM 和 WM 两个模块只要一个没对齐就报错。4.4 收货过账后库存金额不对这是一个 FICO 顾问必须盯紧的问题。退货 STO 收货过账后原供货工厂库存增加增加金额应该等于退货数量乘以退货移动平均价。如果发现金额是 0 或者数字不对大概率是“自动科目确定”里相关移动类型没有配置存货记账科目或者物料主数据中的评估类没维护。另外一个常见原因是“标准价格”和“移动平均价”的差异。公司间 STO 如果使用标准价格退货过账后库存会按标准成本入账而公司间往来按公司间价格结算两者差异会进入差异科目。这块在项目蓝图阶段就要定义清楚不能等上线后再补。4.5 开票类型带不出或凭证方向不对开票环节是退货 STO 最容易出现财务事故的地方。如果 VF01 选择交货单时找不到要查交货单到开票凭证的复制控制确认交货类型对应的开票类型已配置。如果开票凭证能建立但方向是借项要查开票类型的“贷项标识”是否勾选。如果金额不对要查公司间价格条件记录。我特别提醒一点不要在 VF02 里手工改价格除非你已经完全清楚财务影响。因为公司间退货如果手工改价系统不会自动判断税码和差异科目很容易出现“应收账款是负的、销项税又是正的”这种鬼账。4.6 常见问题速查表症状可能原因排查重点建议处理退货标记不可勾选项目类别不允许退货项目类别的退货标识复制UBR配置项目类别确定STO无法创建交货单订单类型-交货类型未分配SPRO采购订单类型检查订单类型分配交货单找不到装运点缺失或交货已完成工厂装运点、MD04维护装运点去掉交货完成PGI报错移动类型不支持/WM批次问题移动类型、WM配置对照标准移动类型调整收货金额不对科目确定/评估类/批次差异OBYC、物料主数据检查存货记账科目开票方向反了开票类型不是贷项SD开票类型复制RE或IV并配置贷项标识5. 项目落地经验与优化建议5.1 先在财务层面敲定方案再做系统配置做退货 STO 最大的难点不是单据而是财务规则。你需要先回答几个业务问题退货是按原价退还是按折扣退退回来的商品是合格品还是残次品原公司间发票已经开给区域公司现在退货是冲销原发票还是单独开一张负向发票物流上是否支持中央 DC 先收货再判断报废或翻新破损或退货运费由谁承担这些没谈清楚配置做了也是白做因为每一步都涉及科目确定和定价。我在项目里吃过一次亏业务说“退货按原价”但财务说“退货不能走收入科目”两边没对齐我按照业务配置月结时财务反复出报表差异最后改了三次配置才稳定。5.2 单据链要能从头查到尾上线后最怕的就是对账对不上。建议做一个退货 STO 的“单证链唯一标识”清单。从采购订单号开始记录对应的交货单号、发货物料凭证号、收货物料凭证号、公司间贷项凭证号、会计凭证号。这些号码最好通过文本字段或自定义表头字段写进同一个业务单据里方便追溯。SAP 标准功能里采购订单、交货单、开票凭证之间是有单据流关系的。但在公司间 STO 退货场景采购订单是 MM 的交货单是 LE/SD 的开票凭证是 SD 的财务凭证是 FI 的一个环节断掉下游就查不到。所以我们在项目里做了一个监控报表按“已完成发货未收货、已完成收货未开票、已开票未过账”三类状态每天跑一遍。5.3 测试时要覆盖的异常场景测试退货 STO 时不要只测“顺利退回”这一条路至少要把这些异常场景都过一遍部分退货区域 DC 只退回 30 件剩下 20 件继续留在门店超收中央 DC 实际收到 32 件比订单数量多 2 件收到破损品验收时发现 5 件破损需要做让步接收或取消接收质检冻结退回商品先进入冻结库存质检通过后再转可用库存退货取消订单创建后未交货直接删除整张 STO交货后冲销错误发货过账需要做物料凭证冲销。每一种异常场景最后都要回到一个核心问题库存数量、库存金额、公司间往来、收入成本是否都正确。5.4 月度结账前检查哪些关键点月结前财务顾问通常会盯几个报表ME2L 或 ME2M 看未清采购订单VL06F 看未清外向交货VF04 看未开票的到期单据MB5L 或者 MB5B 看库存余额。退货 STO 对月结最大的影响是“公司间往来科目”和“存货盘点差异”。我建议月结前把当月所有退货 STO 打一张清单检查是否有“已发货未收货”的单据。如果有货物已经在途但收货方还没入账这是最典型的在途库存盘点差异来源。有些公司会把所有已发货未收货的 STO 在月结前强制做完收货哪怕货物还在运输途中先在账面入“在途库存”或“公司间在途资产”保证账实一致。5.5 我的最终建议能走标准功能就不要写增强。退货 STO 这套流程SAP 其实是支持标准配置的真正让你头疼的不是 SAP 做不到而是你没有把所有模块的配置串起来看。我最后分享一个自己的体会在做退货 STO 时不要只盯着采购订单和交货单更要把“退货标识”当作一个贯穿 MM、LE、SD、FICO 的主线来测试。只要退货标识在一个环节断了后面所有的单据都会跟着错。每次改完配置至少要做一遍完整链路回归用同一个物料从 STO 一直追到财务凭证确认移动类型正确、科目正确、往来方向正确。这件事很基础但做到位了月结的时候真的能少吵十次架。
返回列表