哎哟,这事儿真不少见。前两天有个做电商的老张急匆匆找我,说他们仓库里明明退回来一堆货,但在 SAP 系统里就是对不上账,库存数字乱跳,财务那边也吵着要查账。我一看截图,好家伙,退货流程走得那叫一个“随心所欲”——有的选了“免费退货”,有的选了“有偿退货”,还有的连退货原因都没填直接点确认。这能不乱吗?
今天咱们就好好聊聊,当孩子的退货申请被拒绝时,在 SAP 系统里到底该怎么正确操作,才能让库存、财务、业务三者严丝合缝,别再出现“账面有货、仓库没货”或者“仓库堆成山、账上显示零”的尴尬场面。
先搞明白:为什么“退货被拒”还会产生库存动作?
很多人有个误区:退货被拒了,货还没发回来,或者发回来了但不收,那 SAP 里是不是什么都不用动?
错!大错特错!
在 SAP 标准流程里,退货被拒 ≠ 库存无动作。关键在于你要清楚这个“被拒”发生在哪个环节:
环节一:客户提交了退货请求(RV15),但销售还没批准
这时候货还在客户手里,系统里应该没有任何库存移动,只是有个请求记录。环节二:货已经退回仓库,但质检判定不合格或客户超期退货,公司决定拒收
这时候货已经在仓库了,库存已经有物理移动(比如从客户处退回公司仓),但系统里如果没做正确处置,就会形成“呆滞库存”或“账实不符”。环节三:货退回来了,公司决定折价接收或转入次品仓
这属于“部分接受”,需要特殊处理。
咱们重点讲环节二,这也是最容易出乱子的地方。
正确操作路径:从退货请求到拒收入库的全流程
第一步:确认退货原因码(Return Reason Code)
在 SAP 里,退货流程的起点是销售退货单(Sales Return Order),事务代码通常是 VA01 创建,或者通过 RV15 管理退货请求。
当客户发起退货,销售审核后进入退货流程。如果后续决定拒收,首先要明确拒收的业务原因,比如:
REJ01– 超退货期限REJ02– 商品已使用REJ03– 包装破损REJ04– 质检不合格
这个原因码必须填,因为它决定了后续库存的处置方式(是报废?还是折价入次品仓?还是退还客户?)。
第二步:执行“拒收”入库——使用 MIGO 移动类型 101+ 退货原因
这是最关键的一步!很多公司在这里偷懒,直接用101(收货)就把货收了,然后库存挂在“非限制使用”下,结果这批货既不能卖,又占着库存额度,财务还不好意思调账。
正确的做法是:
使用移动类型 105(退货至质检库存)或 122(从退货订单收货)结合退货原因码。
但在拒收场景下,更推荐的操作是:
方案 A:货已退回,决定拒收并退还给客户
如果货已经在公司仓库,但决定原路退回给客户(比如客户超期退货),操作如下:
取消原退货收货凭证(如果之前已经按 101 收了)
使用 MIGO → 取消凭证 → 选择原 101 凭证 → 反向过账(移动类型 102)。创建新的退货发货单
用 VL01N 创建交货单,指向原退货订单,移动类型 651(退货发货给客户)。发货过账
在 VL02N 中发货过账,库存从公司仓减少,同时生成借方应收、贷方库存的会计凭证。
💡 注意:这一步库存是减少的,因为货要还回去。账面库存和实物库存保持一致。
方案 B:货已退回,决定拒收并报废
如果货已经退回来,但因为质量问题或超期,公司决定报废处理:
先确认货已入库(假设之前已用 101 收货,挂在非限制库存)
如果还没入库,先用 MIGO 101 收货,但务必在检验字段或特殊库存标识中标记。执行报废消耗
使用 MIGO → 移动类型 561(从采购订单发货)或 551(无条件报废),选择对应的库存地点,原因码选REJ03或REJ04。系统自动产生会计凭证
借:库存损耗/报废损失
贷:原材料库存
📌 重点:报废必须走独立的事务代码或 MIGO 的特定移动类型,不能简单地把货放在仓库里不管!否则库存账面上还有这批货,实际已经坏了,财务审计时会出问题。
方案 C:货已退回,质检判定为次品,折价入次品仓
有些公司会设一个次品库存地点(如 QASC 或 SNBK),用于存放拒收但可折价销售的货物。
操作:
收货时直接入次品仓
用 MIGO 101,但指定库存地点为次品仓,并在检验字段中选择“质检检验”或“立即冻结”。或者,先从非限制仓转移到次品仓
用 MIGO 311(工厂间转储)或 313(特殊库存转储),将货从主仓移到次品仓,移动原因码选REJ02。后续销售时,使用次品价格
在销售订单中指定次品仓的库存,价格策略自动取次品价。
第三步:通知客户并更新销售订单状态
货处理完了,别忘了同步更新销售退货单的状态。
在 VA02 中,将退货订单的状态从“已处理”改为“已拒收”或“已关闭”,并在备注栏写明:
“退货单 XXX 因【超退货期限/商品已使用】于 2024-05-20 拒收,货物已报废/退还,会计凭证号:XXXX。”
这样,销售、财务、仓库三方都能查到完整的处理轨迹,不会各说各话。
常见错误及后果(血泪教训)
错误 1:退货被拒后,直接在系统里“删除”退货单
有些操作员图省事,觉得货不退了,就把退货单删了。
后果:库存没动,但客户那边以为退成功了,还可能重复发货;财务账上也没有任何记录,日后对账根本对不上。
错误 2:用 101 收货后,长期挂在“非限制库存”不动
货退回来了,质检说不能用,但仓库懒得处理,就一直放着。
后果:库存账面上有货,实际是废品;下次盘点时发现“幽灵库存”;财务审计时要求全额计提跌价准备。
错误 3:拒收后不退不报,直接让仓库“内部消化”
比如让员工拿走或者低价卖给内部人员,但 SAP 里没做任何出库操作。
后果:库存短缺,账实不符,还可能涉及职务侵占风险。
给小白的“防乱套”检查清单
每次处理退货被拒,对照下面这个清单过一遍,保证不乱:
- [ ] 是否明确了拒收原因码?
- [ ] 货现在物理位置在哪里?(客户处 / 公司仓 / 次品仓)
- [ ] 系统里当前库存状态是什么?(非限制 / 质检 / 冻结)
- [ ] 计划如何处置?(退还客户 / 报废 / 折价入次品仓)
- [ ] 是否执行了对应的库存移动凭证(MIGO)?
- [ ] 是否更新了销售退货单状态?
- [ ] 是否通知了客户和处理结果?
- [ ] 财务凭证是否自动生成并核对无误?
最后说一句
SAP 是个严谨的系统,它不会因为你“懒得操作”就自动帮你把库存理顺。每一个库存的移动,都必须有对应的业务动作支撑。 退货被拒听起来是个“负面”结果,但在 SAP 里,它恰恰是一个需要更仔细处理的节点——因为货还在,只是归属或状态变了。
把流程标准化,把原因码用好,把每一步凭证留痕,你的库存永远清清爽爽,财务审计也从来不慌。
要是你还拿不准某个具体场景该怎么走,欢迎把你们公司的退货流程截图发我,我帮你看看哪里容易埋雷。毕竟,经验这东西,-sharing 出去,大家都受益嘛!
