news 2026/9/23 14:49:49

SAP采购退货操作全流程:MIGO 161移动类型与凭证处理实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SAP采购退货操作全流程:MIGO 161移动类型与凭证处理实战

简介:一套讲解SAP系统退货操作流程的培训PPT,面向企业采购、仓储及供应链相关岗位人员,帮助用户熟悉库区及料废退货(移动类型161)与待检区退货(移动类型124)两大场景的完整操作。课件以实际系统界面为线索,逐步展示查询库存(MMBE)、生成退货申请(ME51N)、生成退货订单(ME21N)、订单审批(ME28)以及换货申请、换货订单等关键步骤,同时说明物料号、工厂代码、库存地点、供应商代码等字段的填写要点,便于用户对照上手。资源包共1个文件,为pptx演示文稿,大小约2.83MB,可用于企业内训、操作考核或个人自学。已有299人学习/下载,适合需要快速掌握SAP采购退货流程的实施顾问、仓管员与采购专员。

1. 采购SAP系统退货操作流程培训教材:先把退货链路在脑子里跑通

月底对账,采购员发现上个月退回供应商的两托盘货,库存账上还挂着,供应商的应付余额也一分没少。财务说冲销一下就行,操作员在 MIGO 里翻半天找不到按钮,顾问一查,退货单根本没建成。这套《采购SAP系统退货操作流程培训教材.pptx》听起来像是个翻页课件,实际要解决的是从“决定退货”到“供应商余额清账”的整条链路。这里只讲一件事:怎么让一个没做过退货的采购或财务,按这套流程把货退干净、把账退平。适合采购操作员、应付会计、SAP 内部顾问,以及要把这套流程讲给别人听的培训负责人。

2. 退货流程从哪里开始:三种退货类型与移动类型选型

2.1 先分类再动手:质量退货、数量退货、价格退货怎么区分

很多教材一上来就讲 MIGO 怎么操作,我习惯先让学员把“退什么货”说清楚,因为系统操作路径完全不一样。

质量退货最好理解:来料检验判退,IQC 开了不合格单,这批货不能上线,要退回供应商。这类退货的特点是“实物还在仓库里”,只是从可用的非限制库存变成了待处理库存,操作上要退的是实物。

数量退货是另一种常见场景:供应商多发了两箱,或者把 A 型号错发成 B 型号,仓库拒收或者事后盘点发现多了。这类退货不涉及质量判定,但同样要退实物,而且往往要顺带处理一张差异报告。

价格退货最容易被忽略,也最坑。供应商承认价格算错了,或者月底谈返利、折让,货已经用完,不需要退实物。这类业务在系统里不走物料移动,只走发票环节的贷项凭证。很多操作员不知道这条路径,硬要建一张退货单去冲库存,结果库存变成负数,月底对账全乱。

退货类型触发场景是否退实物主操作入口易错点
质量退货来料检验不合格、生产在线发现批次性不良退货采购订单 + MIGO 161质检库存没释放就做退货
数量退货超量送货、错发、重复送货退货采购订单 + MIGO 161退货数量超过原收货数量
价格退货价格更正、返利、折让MIRO 贷项凭证误做实物退货导致库存负数
拒收货物到厂未入库、直接拒收视情况不建退货单,系统外拒收或做收货冲销误做 101 收货后又乱冲

判断标准就一句话:货还在不在我仓库里,要不要动库存。动库存的走物料移动,不动库存的走发票。

2.2 移动类型选型:161、102 各自管哪一段

移动类型选型在很多项目里像玄学,其实本质是在回答“这笔库存变动到底算不算一次采购退货”。

标准场景用 161。161 的中文含义是“退货给供应商”,它做的事有两件:一是从非限制库存里扣掉退货数量,二是生成一张会计凭证,把当初收货时挂在 GR/IR 的余额反向冲掉一部分。161 适合所有“货已经收了、入了账、现在要退回去”的场景,这是整个退货流程里使用频率最高的移动类型。

102 是另一条路。102 是“冲销收货”,它只在一种情况下用:原收货做完之后,这张凭证很干净,没有开过发票,没有做过发货,没有转移过库存,纯粹是录错了数量、选错了批次或者收错了单。这种场景直接用 MIGO 做 102,把原来的 101 凭证反向冲掉,整个系统就当那笔收货没发生过。

两者的边界非常清楚:102 冲的是“错误”,161 退的是“业务”。原凭证已经开过发票,哪怕只是一张临时发票,102 也冲不动,必须先处理发票再走 161。原库存如果已经从非限制库存转到了质检库存或冻结库存,161 默认退不了,需要先用 321 把质检库存释放回非限制库存,再执行退货。

移动类型用途前提条件典型场景
161退货给供应商有采购订单,库存存在,可过账质量退货、数量退货
162冲销 161 退货161 凭证干净、未开发票退货做错了要撤销
102冲销 101 收货原凭证未开票、未消耗、未转移收货数量录错、批次选错
321质检库存释放为非限制库存物料启用 QM 或库存处于质检状态质检判退前把合格批次放行

额外提示一点:物料启用了批次管理之后,161 过账时批次必须填对。选错批次,账面上退的是 A 批,实际发出去的是 B 批,库存数量和批次台账会一起错。

2.3 两条链路的选择:做退货订单还是直接冲销收货

分类和移动类型确定之后,还要选链路。我在项目里一般只给业务两条路,多了反而乱。

第一条是完整链路:在 ME21N 建退货采购订单,勾退货项目,然后 MIGO 用 161 参照这张订单做退货收货,最后 MIRO 参照订单做贷项凭证。这条链路的好处是全程有单据流,从退货申请到实物出库到发票闭环,每一步都有单号可追溯,采购、仓储、财务各环节都能看到同一笔业务。

第二条是简化链路:不做退货订单,直接在 MIGO 里用 102 冲销原收货。适合“收货做错了要作废”的场景,操作最快,但无单据流,财务审计时讲不清楚为什么退。

选哪条,取决于三个问题:

库存还有没有后续动作。原库存已经领用消耗、转移库位、或者开了发票,就走完整链路;什么都没有动,走 102。

供应商要不要确认金额。完整链路里退货采购订单会带上价格,供应商在系统外确认退多少钱,你的发票环节才能对得上。价格都没谈好的退货,先别急着过账。

公司要不要追溯单号。走 102 冲销后,原来的采购订单状态会回到“未收货”,业务上看起来像没发生过。如果采购要定期跟供应商对账,建议一律走完整链路。

我的习惯是多走完整链路。SAP 不是 Excel,删一行就完事,每笔移动都留痕,将来审计问起来,一张 161 的物料凭证比十句解释都有用。

3. 标准退货链路实操:ME21N 退货订单到 MIGO 退货收货

3.1 创建退货采购订单:Return Item 勾选与行项目字段

完整链路的第一步是建退货采购订单。事务代码 ME21N,界面和普通采购订单一样,关键区别在半隐藏的细节里。

操作步骤:

  1. 进入 ME21N,输入供应商、采购组织、采购组、公司代码和工厂。
  2. 在行项目里输入物料号、退货数量、交货工厂和库存地点。
  3. 打开行项目的“发票”页签,确认“税代码”和原订单一致。
  4. 打开行项目的“交货”页签,勾上“交货已完成”和“无限制交货”。
  5. 确认行项目上“退货项目”勾已打上。
  6. 保存,记下退货采购订单号。

“退货项目”这个勾是整张单的灵魂。勾上之后,行项目的“项目类别”会从标准变成退货类别,后续 MIGO 参照这张单做收货时,系统才会默认带出 161 移动类型,而不是 101。有些项目自定义了 RE 类型的退货订单,原理一样,区别只是订单类型不同。

创建时可以直接参照原采购订单复制,省去重复输入物料和价格的麻烦。操作是 ME21N 菜单栏“采购订单 → 来自其它凭证”,输入原订单号,系统会把行项目、价格、数量条件带过来。复制过来后务必检查两样东西:数量改成要退的数字;价格是否按原订单带出,如果供应商确认的退货价低于原采购价,差额会在财务环节形成差异。

这里有一个容易踩的细节:退货数量不能超过原收货数量。系统不一定硬性拦截,但超量退货会导致库存变成负数,或者发票校验时数量对不上,后期全要人工处理。

3.2 生成退货交货单:VL10B、拣配、发货过账

退货采购订单建好之后,是否生成外向交货单,取决于仓库要不要做出库凭证。

如果公司启用了 LE-WM 或者仓库要求每笔出库都有装运单,就要走 VL10B。VL10B 是按采购订单批量创建外向交货单的事务代码,操作路径:

  1. 进入 VL10B,选择“采购订单”页签。
  2. 输入退货采购订单号或供应商代码。
  3. 点击“执行”,系统列出交货到期明细。
  4. 勾选需要交货的订单行,点击“保存”。
  5. 记录生成的外向交货单号。

交货单生成后,用 VL02N 做后续处理:先“拣配”,输入实际出库的批次和数量;再“发货过账”。发货过账时系统自动执行移动类型 161,库存减少,会计凭证同步生成。

但很多项目没有启用这套流程,仓库也不想要多余的单子。常见做法是跳过 VL10B,直接在 MIGO 里做 161 退货收货,一步到位。我一般建议中小型项目走这个简化路径,因为退货属于低频业务,专门为它养一套外向交货流程不划算。完整链路的价值在单据可追溯,如果公司内部管理没那么严,能少一步就少一步,流程越短,出错点越少。

如果选择简化路径,下面一节的操作直接接着做。

3.3 退货收货与凭证流检查:MIGO 事务 161 + MB51 核对

不论建没建交货单,最后一步实物出库都在 MIGO 里完成。

操作步骤:

  1. 进入事务 MIGO。
  2. 事务类型选“R01 收货”。
  3. 移动类型输入“161”。
  4. 在“参考”处选择“采购订单”,输入退货订单号,回车。
  5. 系统带出行项目后,检查数量、工厂、库存地点、批次。
  6. 点击“检查”,无报错后点击“过账”。
  7. 记下生成的物料凭证号和会计凭证号。

过账之后,这张凭证会同时更新物料库存和财务账。物料层面,非限制库存减少;财务层面,存货科目减少,GR/IR 科目对应冲减。

凭证做完了,不要马上关屏幕,花三十秒做三个检查:

第一,用 MB51 查物料凭证清单,筛选移动类型 161,确认过账日期、工厂、数量都在预期范围内。

第二,用 MB52 或 MMBE 核对物料在当前工厂和库位的库存,确认应减的数量已经减掉。

第三,用 ME23N 打开退货订单,看“项目”选项卡里的交货数量。如果交货数量已经更新,说明 161 已成功参考到订单上,后续发票环节可以直接参照这张退货单。

月底对账时,我习惯用 SQL 直接查 MSEG 表,把所有 161 凭证一次性拉出来,按供应商汇总,再和财务的手工台账比对。有数据库权限的团队可以这么用:

-- 查询某工厂某期间所有161退货收货记录 SELECT mblnr 物料凭证, mjahr 年度, zeile 行, matnr 物料, werks 工厂, lgort 库位, menge 数量, meins 单位, budat 过账日期 FROM mseg WHERE bwart = '161' AND werks = '1000' AND budat BETWEEN '20250101' AND '20250131' ORDER BY budat DESC, mblnr DESC;

说明一下:bwart 是移动类型,161 是退货给供应商;werks 换成自己公司的工厂代码;budat 是过账日期,范围按对账期间调整;menge 在 161 行项目里通常是负数,因为库存是减少的方向。没有数据库权限也没有关系,用 SE16N 进入 MSEG 表,按 BWART=161 和 BUDAT 范围筛选,效果一样,只是导出没有 SQL 方便。

4. 不建退货订单的退货:收货冲销与发票贷项的处理办法

4.1 收货冲销:MIGO 102 反向移动类型与业务限制

不是所有退货都值得建一张退货采购订单。收货时数量录错、批次选错、货物根本不是这批的,这种场景业务上没有“退货”发生,只是“录错了”,用 MIGO 102 直接冲销最合适。

操作步骤:

  1. 进入事务 MIGO。
  2. 事务类型选“R02 取消”。
  3. 移动类型输入“102”。
  4. 输入原始物料凭证号和年度。
  5. 系统反显原收货的信息,检查数量和行项目。
  6. 输入冲销原因字段,点击“过账”。

102 过账后,原 101 凭证的状态会变成“已冲销”,物料凭证流里能看到一正一反两张凭证。从库存角度,原收货增加的库存被完整扣回去,相当于没有发生过。

102 表面操作简单,实际限制比操作步骤多,而且都是硬限制:

原收货已经做过发票校验,102 过不去。系统会提示该凭证禁止冲销,必须先冲发票再冲收货。

原库存已经被消耗或转移,102 也过不去。货都发给生产线了,你再冲收货,账上库存变负数,系统直接用报错拦住你。

原收货启用了 WM 且仓库已经确认入库,102 过账之前要先把 WM 的仓位转移取消,不然仓库账和物料账会打架。

所以,102 只适合“刚收货发现错,当天就处理”的干净场景。拖过一两天,多半就 102 不动了,老老实实建退货单走 161。

4.2 发票退货:MIRO 红冲原发票还是参照退货订单做贷项凭证

实物退完,剩下的战场在发票环节。这里有两件事经常被混在一起:红冲发票和贷项凭证。

红冲是针对原发票的,场景是发票本身录错了,比如金额多录一位、税额算错、重复开票。操作路径在 MIRO 里选择“发票”事务类型后,点击“取消”,输入原发票凭证号,系统生成一张反向发票完全冲销原凭证。红冲之后,原发票凭证被标记为已冲销,GR/IR 科目会恢复挂账状态,等待正确的发票来冲。

贷项凭证是针对退货业务本身的。实物走了 161,供应商开了一张红字发票或者对账单,我们在系统里要录一张贷项凭证。操作路径是在 MIRO 的“事务类型”里选择“贷项凭证”,然后参照退货采购订单,系统带出退货数量、金额和税码,确认无误后过账。

两种操作的结果不一样:红冲是把原发票抹掉,贷项凭证是单独生成一张负向发票。从供应商余额角度看,红冲和贷项都会减少应付余额,但红冲只适用于原发票有错,贷项适用于业务退款和折让。

这里有一条培训教材里的铁律:贷项凭证必须能追溯到实物退货单号。也就是说,贷项凭证的参照关系应该是“贷项凭证 → 退货采购订单 → 161 物料凭证”,中间不能断。审计来查时,任何一笔供应商贷项都要能说清楚是退的哪批货、哪张单、哪个批次。

4.3 退货价格与科目:定价差异、GR/IR 科目和差异科目

系统会在什么时候产生差异,是财务最关心的问题。

正常采购流程的科目逻辑是这样的:101 收货时,借存货、贷 GR/IR,金额按采购订单价算;MIRO 开票时,借 GR/IR、贷应付账款。整个过程走完,GR/IR 科目归零。

退货流程加入后,逻辑变成这样:161 退货收货时,借 GR/IR、贷存货。如果退货订单的价格和最初采购订单的价格一致,GR/IR 的借贷刚好对冲。但现实中退货价格往往不等于原采购价——供应商赔款按折价算,旧批次折价退回,或者退货运费从货款里扣,这时候系统会产生一笔差额,挂在采购差异科目或者 GR/IR 差异科目上。

实操里最常见的表现是:货退了、票也冲了,但 GR/IR 科目余额还剩几分钱或几千块钱。这通常就是价格差异没有被正确处理。处理办法是让财务在退货期间做一笔科目重分类,把 GR/IR 的尾差清到采购价格差异科目,再由成本会计决定结转到成本还是冲减当期损益。

对采购员来说,需要理解的是:退货订单上的价格不是随便填的,填多少直接影响 GR/IR 是否清零。供应商确认退货折让之前,不要先建退货单,更不要先做 161 过账。先谈价格,再退实物,再开发票,这个顺序反了,财务月底就要加班。

5. 常见问题与避坑:五个高频翻车现场

5.1 退货订单做不了参照复制

现象:在 ME21N 里参照原采购订单创建退货单,系统提示“参照对象不存在”或行项目复制不过来,填报人员只能手工录入。

原因:多数情况是原采购订单根本没有收货记录。SAP 的参照复制逻辑是复制“业务现状”,原订单行项目没有 101 收货过账,系统无从判断要退什么,自然带不出内容。另一种情况是复制控制的配置没有放行退货项目,常见于项目上线时复制规则只配了标准 NB,没配退货相关的项目类别。

解决:先去 MB51 按采购订单号查有没有对应收货记录,有记录才能谈复制;没有记录,这笔业务根本不该走退货,直接拒收或冲销。配置问题则找 Basis 在后台“采购 → 采购订单 → 复制控制”中检查项目类别的复制规则,放行退货场景。

5.2 161 过账成功但 MB52 库存没变化

现象:MIGO 提示 161 过账成功,物料凭证也生成了,但是 MB52 一看,库存数量纹丝不动。

原因:十有八九是库存类型或批次不对。物料启用批次管理时,MIGO 的批次字段没有选到实际要退的那一批,过账被系统放到了另一个批次上;或者原库存本来就在质检库存里,161 默认冲非限制库存,结果没冲到这个库存类型上。

解决:在 MB51 里双击 161 的物料凭证行,看“库存类型”和“批次”两个字段是否和预期一致。如果是质检库存,要先用 321 把库存释放回非限制库存,再做 161;批次不对,就冲销这张 161 凭证后,重新带正确批次过账。

5.3 无法冲销已开发票的收货

现象:对一张已经做过发票校验的 101 收货凭证做 102 冲销,系统报错或冻结,操作无法继续。

原因:发票行项目已经参照了这张收货凭证,GR/IR 科目上已经发生了开票动作,系统出于财务完整性限制,不允许直接在物料环节反冲。

解决:严格按“先票后货”的顺序处理。先在 MIRO 中冲销对应发票,把开票产生的 GR/IR 影响还原;再做 102 冲销收货。如果原发票是部分开票,只冲相关行即可。这条顺序规则建议直接写进培训教材,让操作员背下来,避免卡单找顾问。

5.4 退货单上没有地方记录退货运费

现象:供应商退货要求我方承担运费,采购员在退货订单上找不到“运费”字段,或者直接在 MIRO 里加一行金额,结果报“数量与金额不一致”。

原因:退货订单的行项目是以数量为核心的物料行,没有专设费用承载位置。强行在物料行里把金额加大,系统校验时就会报错,因为单价、数量、金额三者的钩稽关系不平。

解决:让供应商把运费直接加进贷项凭证金额里,一张票退净额,最省事;如果一定要单独结算运费,在退货订单里增加一个费用型行项目,科目类别选 K(成本中心/总账科目),挂物流费用科目,数量写 1,金额写运费,不参与物料库存更新。无论是哪种方式,都要在培训教材里明确“运费不在物料行里加价”。

5.5 退货后供应商余额对不上

现象:货退了一个月,FBL1N 查供应商余额,发现应付金额和采购员手机里的供应商对账单对不上。

原因:单据流和发票流错位。货退了但贷项凭证没做,供应商余额就没减少;或者贷项凭证做了但实物退货还没过账,两者不在一个时间点。部分原因是退货价格和供应商认可的金额不一致,差额留在系统里,双方各记各的账。

解决:把核对动作变成日常检查,而不是月底补救。按供应商维度,把 161 物料凭证、退货采购订单和 MIRO 贷项凭证三个单据流对齐,三条都有数据才算一笔完整退货。价格差异在退货前谈好,不要指望财务月底在应付余额里调。

6. 进阶验证:用一条 SQL 与三个检查点确认退货闭环

6.1 三表关联:把退货凭证一次性拉出来

单查 MSEG 只能看到物料凭证,看不到采购订单和发票状态。要验证一笔退货是否真正闭环,需要把物料移动、采购订单历史、发票行三者串起来看。

-- 关联物料凭证与采购订单历史,核对退货是否已形成完整单据流 SELECT mseg.mblnr 物料凭证, mseg.budat 过账日期, mseg.matnr 物料, mseg.menge 数量, ekbe.ebeln 采购订单, ekbe.ebelp 行项目, ekbe.vgabe 业务类型 FROM mseg JOIN ekbe ON ekbe.belnr = mseg.mblnr AND ekbe.budat = mseg.budat WHERE mseg.bwart = '161' AND mseg.werks = '1000' AND mseg.budat BETWEEN '20250101' AND '20250131' ORDER BY ekbe.ebeln;

这段 SQL 的思路是把 161 物料凭证和采购订单历史表 EKBE 关联,vgabe 字段会告诉你这张退货单是否完成过收货(W 表示收货)、发票做没做。业务类型缺了发票环节,说明退货还挂在半路。

6.2 三个检查点:库存、GR/IR、供应商余额三线对齐

第一个检查点是库存。MB52 看退货工厂和库位的库存是否已经减少,减少数量要和退货单一致。库存数量没动,后面的发票处理都是空中楼阁。

第二个检查点是 GR/IR。用 MB5L 看 GR/IR 科目余额,退货完成后,对应供应商和物料的 GR/IR 余额应该趋近于零。有余数,优先查价格差异是否被结转。

第三个检查点是供应商余额。用 FBL1N 打开供应商的行项目,应能看到一笔贷项凭证,金额与退货金额匹配。贷项凭证金额和供应商对账单不一致,就要回头查退货订单上的单价。

没有后悔药可吃。我做项目时有个习惯:每月关账前一天,把上面那三条 SQL 跑一遍,把 161 负数行数和供应商手工台账对一遍,对不上的当天就找采购解释。这个习惯帮我避免了无数次月底紧急冲销,也希望帮到你。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/23 14:49:23

Unity Scroll View 连续截图技巧:分段拼接与离屏渲染方案详解

简介:这是一份面向 Unity 开发者的完整工程资源,适合有一定 GUI 与脚本编程基础、希望实现 Scroll View 滚动列表内容连续截图并合成为长图保存到本地的开发者。资源围绕滚动列表长图导出的实际需求,覆盖协程驱动滚动位置、逐帧调用屏幕捕捉 …

作者头像 李华
网站建设 2026/9/23 14:48:45

EAS II配置ELMO驱动器:三环参数整定与调试实战指南

简介:面向运动控制与自动化工程师,这份教程以埃莫(ELMO)驱动器和EAS II配置软件为主线,完整覆盖从硬件接线到电机参数调试的各个关键环节。资源为1份Word文档,大小约4.45MB,已有1119人学习。文档…

作者头像 李华
网站建设 2026/9/23 14:45:18

操作系统进程管理实验:C语言实现fork、信号量与调度算法全解析

简介:操作系统进程管理实验的C语言实现源码包,适合高校操作系统课程学生与需要理解进程控制机制的开发者。全部文件共9个,包含ProcessControl.c源文件、ProcessControl.h头文件、编译生成的.o目标文件、Code::Blocks工程配置(.cbp…

作者头像 李华
网站建设 2026/9/23 14:44:11

SSH密钥管理与Git权限问题解决方案

1. 问题现象与初步诊断每次看到终端里跳出"Permission denied (publickey)"的红色错误提示,作为开发者都会心头一紧。这个看似简单的权限问题,实际上可能涉及SSH密钥管理、远程仓库配置、系统权限设置等多个技术环节的故障。最近在团队协作中&…

作者头像 李华