简介:围绕SAP按单生产(MTO)委外加工整理的实操总结文档,面向已具备MM/PP基础、需要处理外协采购与库存移动的顾问及企业关键用户,重点解答自供材料如何发往供应商库存、成品如何按销售订单入库等常见难题。文档以两个典型场景展开:两层BOM下外包自身并销售自身,涵盖VA01销售订单、MRP计划订单转采购申请(项目类别L、科目分配组E)、541转供应商库存、MIGO收货101 E与543 O;三层BOM下销售父阶成品,则补充计划订单转生产订单缴库、311 E内部转移、批次与外协供应商编码匹配等处理。压缩包共1个doc文件,约442KB,便于随查随用。已有2413人学习,适合用作流程对照、配置检查与排错参考,帮助读者理清项目类别、科目分配组和库存移动类型之间的对应关系。
1. 按单生产委外加工的需求边界:两层 BOM 与三层 BOM 的账务分流
在 SAP 里做按单生产委外加工,最容易出问题的不是某个事务码,而是销售订单库存、供应商库存和非限制库存这三本账的先后顺序。很多团队把委外当成普通采购,结果采购申请项目类别、科目分配、组件保留和收货移动类型一错,MD04 上看得到需求,MMBE 上却对不上库存。这套方案把 MTO 场景拆成两层 BOM 和三层 BOM 两条链路:前者是成品 W 自身外包,共用材料 T 从非限制库存转到供应商库存;后者是父阶成品 D 外包,自供材料 W 先生产入库成为销单库存,再转到供应商库存。适合正在做 SAP 生产与供应链方向课程设计、毕业设计,或要给团队交付委外加工操作规范的人,照着链路就能把销售订单、MRP、采购申请、库存转移和收货消耗串起来。
2. 流程架构设计:从销售订单到供应商库存的四段链路
按单生产委外加工的流程不能按“采购收货”一条线理解。它同时牵动销售订单库存、供应商库存、非限制库存和采购订单组件需求,任何一段缺少业务对象承接,后面的库存账都会断。我一般先把链路拆成四段:需求触发、采购申请与订单、库存转移、收货与消耗。四段之间的凭证关系要能双向追溯,销售订单能追到计划订单,计划订单能追到采购申请,采购申请能追到采购订单,采购订单收货后再回到销售订单库存。
2.1 需求与库存对象的划分
场景一里,W 是按单生产的销售成品,自身要外包;T 是共用材料,库存要求为非限制。W 的销售订单执行 MRP 后产生计划订单,这个计划订单不转生产订单,而是转采购申请,项目类别用 L,科目分配组用 E,并把 T 作为需要外出的组件保留在采购申请里。此时 T 的库存仍然是非限制库存,直到用 MB1B 541 转到供应商库存。
场景二里,D 是销售成品,D 自身外包;W 是定制生产供 D 使用的自供材料;T 是共用材料。D 的销售订单执行 MRP 后,D 对 W 产生相关需求,W 的计划订单先转生产订单并缴库,成为 D 的销售订单库存。随后 D 的计划订单转采购申请,项目类别仍然是 L,科目分配仍然是 E,处理组件里保留 W。这里的 W 不能再按非限制库存直接发,而是用 311 E 把销售订单库存转到供应商库存,批次写外协供应商编码。
两种场景的差别不在事务码数量,而在库存对象的前后状态。场景一是“非限制库存 T → 供应商库存 T”,场景二是“销售订单库存 W → 供应商库存 W”。如果把这个差别忽略,后面用 541 去转销单库存,或者用 311 E 去转非限制库存,账面上就会出现特殊库存标识不匹配。
2.2 两层 BOM 场景 W/T 的流程链路
两层 BOM 的链路可以按下面顺序排:
- 用 VA01 对 W 建销售订单,行项目对应客户需求。
- 执行 MRP,产生 W 的计划订单。
- 把 W 的计划订单转采购申请,项目类别选 L,科目分配组选 E。
- 在处理组件里保留需要外出的原料 T,确认组件数量与 BOM 用量一致。
- 采购申请转采购订单,供应商对应外协加工方。
- 用 MD04 查看 W 和 T 的需求与库存状态。
- 用 MB1B 541 把 T 的非限制库存转供应商库存。
- 用 MIGO 对采购订单收货,成品 W 收 101 E,原料 T 收 543 O。
- 用 MMBE 查看 W 的销售订单库存增加、T 的供应商库存减少。
- 对 W 的销售订单做发货处理。
这条链路的设计重点在“先转库存、再收货”。541 把 T 转到供应商库存后,采购订单收货时 543 O 才有供应商库存可消耗。若先做 101 E 收货,系统会检查组件发料是否完整,容易出现组件未发料或库存不足的报错。通常的做法是让仓库先确认 T 的批次和数量,再执行 541,最后做 MIGO 收货。
2.3 三层 BOM 场景 D/W/T 的流程链路
三层 BOM 的链路比两层多一段“自供材料先入库”。D 是销售成品,W 是 D 的自供材料,T 是共用材料。D 的销售订单执行 MRP 后,D 对 W 产生相关需求,W 的计划订单转生产订单并缴库,成为 D 的销售订单库存。此时 W 的库存不是普通非限制库存,而是挂在 D 的销售订单库存下。
D 的计划订单转采购申请时,项目类别用 L,科目分配用 E,处理组件里保留 W。接下来对 W 做 311 E,把销售订单库存发货到供应商库存,收货批次采用外协供应商的编码。这个批次字段是三层场景里最容易被忽略的字段,W 的批次一定要写外协供应商编码,否则后续收货和消耗时无法按供应商维度核对。
D 的采购订单收货时,D 做 101 E 收料,W 的销单库存转为供应商库存。收货完成后,D 的销售订单库存增加,W 的供应商库存减少。后面再对 D 的销售订单发货。三层场景的验收要点是:W 的生产入库数量、311 E 转出数量、D 收货时 543 O 消耗数量三者能对上,批次与外协供应商编码一致。
2.4 主数据与移动类型对照表
| 对象 | 场景一 W/T | 场景二 D/W/T | 关键字段或动作 |
|---|---|---|---|
| 销售成品 | W | D | VA01 建销售订单,执行 MRP |
| 外包对象 | W | D | 计划订单转采购申请,项目类别 L |
| 自供材料 | T 为共用材料 | W 为定制生产自供材料 | 采购申请处理组件保留 |
| 材料初始库存 | T 非限制库存 | W 先生产入库为销单库存 | MMBE 查看库存类型 |
| 转供应商库存 | MB1B 541 | 311 E | 场景二批次写外协供应商编码 |
| 成品收货 | 101 E | 101 E | 收销售订单库存 |
| 原料消耗 | 543 O | 543 O | 消耗供应商库存 |
| 后续动作 | 对 W 销售订单发货 | 对 D 销售订单发货 | 核对销单库存与供应商库存 |
这张表在方案答辩时比口头解释有效。评审人最先问的通常不是“会不会操作”,而是“你知道每个移动类型改的是哪本账吗”。把表放在设计文档里,后面写操作步骤和验收标准就有共同语言。
3. 关键操作实现:项目类别 L、科目分配 E 与 101 E/543 O 的落点
流程设计定下来后,落地时要把字段落到具体事务码和凭证行项目上。委外加工的操作难点不在单个事务码,而在几个字段的组合:采购申请项目类别 L、科目分配组 E、采购订单组件、库存转移移动类型、收货移动类型。下面按操作顺序拆开,每一步都给出检查点,方便照着做,也方便出问题时回查。
3.1 销售订单与 MRP 触发:计划订单转采购申请
先用 VA01 对销售成品建销售订单。场景一的行项目是 W,场景二的行项目是 D。销售订单类型按业务实际选择,关键是行项目类别要能参与 MRP,并且库存特殊性能挂到销售订单库存。保存后执行 MRP,用 MD04 查看计划订单。场景一里,W 的计划订单直接对应外包采购;场景二里,D 的计划订单会带出 W 的相关需求,W 的计划订单先转生产订单并缴库。
计划订单转采购申请时,项目类别选 L,表示分包或委外加工;科目分配组选 E,对应客户科目分配,和销售订单的客户相关成本控制关联。处理组件页签里要保留需要外出的材料:场景一保留 T,场景二保留 W。组件数量按 BOM 用量带出,不能手工改到与 BOM 不一致,否则收货时 543 O 的消耗数量会对不上。
检查点有三个:MD04 上计划订单的数量和日期是否与销售订单一致;采购申请的项目类别是否为 L;处理组件里是否出现需要外出的材料。若组件页签为空,先查 BOM 是否已维护、采购申请是否由计划订单正确转换,再查物料主数据是否允许分包。
3.2 项目类别 L 与科目分配 E 的落点
项目类别 L 落在采购申请行项目上,它决定后续采购订单是否按分包处理,是否带出组件页签。科目分配 E 落在账户分配页签,它把采购申请和销售订单客户关联起来。实务里常见的错误是把项目类别和科目分配组混着填:项目类别管采购业务类型,科目分配组管成本对象。两者都填对,采购申请转采购订单时才会保留组件,收货时才会按销售订单库存收货。
采购申请转采购订单时,要确认采购订单行项目仍然带组件。若组件丢失,后面 101 E 收货时系统不会要求消耗供应商库存,543 O 也就没有对应的发料行。此时不要急着改移动类型,先回到采购申请查项目类别和处理组件,再查采购订单行项目明细。
SELECT banfn, bnfpo, matnr, werks, menge, pstyp, knttp FROM eban INTO TABLE @DATA(lt_pr) WHERE pstyp = 'L' AND knttp = 'E' AND loekz = @space.这段 ABAP 用于交付前自查:从采购申请表 EBAN 中筛出项目类别为 L、科目分配类别为 E 且未删除的采购申请。BANFN 是采购申请号,BNFPO 是行项目号,MATNR 是物料,WERKS 是工厂,MENGE 是数量,PSTYP 是项目类别,KNTTP 是科目分配类别。跑出来为空不代表没有建单,可能是项目类别或科目分配填错,也可能是采购申请已被删除。把结果和 MD04 的计划订单逐条对照,能快速定位漏转或错转的行。
3.3 库存转移与供应商库存:MB1B 541、311 E 的用法
场景一用 MB1B 541 把 T 的非限制库存转供应商库存。541 的业务含义是从非限制库存转到供应商库存,移动类型里的特殊库存标识要带出供应商。执行前先用 MMBE 看 T 的非限制库存是否足够,执行后再看 T 的供应商库存是否增加。若 541 报错,优先查物料是否允许特殊库存、供应商是否在采购订单里、批次是否必输。
场景二用 311 E 把 W 的销售订单库存转到供应商库存。这里的 E 是销售订单库存的特殊库存标识,转移时销售订单号和行项目要对应 D 的销售订单。批次字段填外协供应商编码,不能沿用内部生产批次。311 E 执行后,W 的销售订单库存减少,供应商库存增加。此时再用 MMBE 查看 W,库存类型应该从销售订单库存转到供应商库存。
提示:311 E 的批次如果写错,后面 D 收货时 543 O 消耗的批次会对不上,库存账面上看是平了,但供应商维度对不上。
3.4 收货与消耗:101 E 与 543 O 的组合
采购订单收货用 MIGO。成品行项目收 101 E,E 由系统带出,表示收进销售订单库存。原料行项目收 543 O,表示消耗供应商库存。场景一里,W 收 101 E 后销售订单库存增加,T 做 543 O 后供应商库存减少。场景二里,D 收 101 E 后销售订单库存增加,W 做 543 O 后供应商库存减少。
收货前要确认三件事:采购订单组件是否完整;供应商库存是否有对应批次和数量;销售订单库存的特殊库存标识是否与销售订单行项目一致。收货后不要只看 MIGO 的成功提示,要用 MMBE 分别查看成品和原料,再用 MD04 看销售订单需求是否被覆盖。若 101 E 收货后销单库存没有增加,先查收货行项目的特殊库存标识,再查销售订单是否已关闭或行项目是否被删除。
4. 库存与批次核对:销单库存、供应商库存、非限制库存的三本账
委外加工方案能不能交付,最后都落在库存账上。销售订单库存、供应商库存、非限制库存三本账要能同时讲清,不能只讲“收货成功”。我一般把核对分成三步:收货前看原料库存从哪来,收货中看移动类型改了哪本账,收货后看成品和原料是否同时到位。这样即使出现账实不符,也能按凭证链回查,而不是靠猜。
4.1 收货前后库存变化模型
场景一的库存变化可以写成下面这样:
| 阶段 | W 成品 | T 原料 |
|---|---|---|
| 销售订单与 MRP 后 | 计划订单产生,尚无库存 | 非限制库存不变 |
| 541 转供应商库存后 | 无变化 | 非限制库存减少,供应商库存增加 |
| MIGO 收货后 | 101 E 销售订单库存增加 | 543 O 供应商库存减少 |
| 销售发货后 | 销售订单库存减少 | 无变化 |
场景二的库存变化多一段 W 的生产入库:
| 阶段 | D 成品 | W 自供材料 | T 共用材料 |
|---|---|---|---|
| D 销售订单与 MRP 后 | 计划订单产生 | W 相关需求产生 | 非限制库存不变 |
| W 生产订单缴库后 | 无变化 | W 销售订单库存增加 | 无变化 |
| D 采购申请保留 W 后 | 无变化 | 销售订单库存不变 | 无变化 |
| 311 E 转供应商库存后 | 无变化 | 销售订单库存减少,供应商库存增加 | 无变化 |
| D 收货后 | 101 E 销售订单库存增加 | 543 O 供应商库存减少 | 无变化 |
这张表是验收时最实用的材料。它把“哪一步动哪本账”固定下来,操作员按表核对,评审人按表提问。若某一步库存没有按表变化,直接回到对应事务码查凭证,不需要从头跑一遍。
4.2 批次与外协供应商编码的绑定
三层 BOM 场景里,W 的批次必须写外协供应商编码。批次不是备注字段,它参与后续收货和消耗的匹配。311 E 转出时批次写外协供应商编码,D 收货时 543 O 消耗同一批次,供应商库存才能按供应商维度结平。若批次写成内部生产批次,系统账面可能仍然能收货,但供应商库存明细会对不上,后续对账时很难解释。
通常的做法是给外协供应商编码建立固定的批次命名规则,比如供应商代码加日期或流水号,但不要写真实供应商名称。操作时在 311 E 的批次字段直接录入该编码,并在采购订单组件里核对批次需求。收货后用 MB51 查物料凭证,确认 311 E 和 543 O 的批次一致。
4.3 三本账的定位路径
出现库存不一致时,按下面顺序查:
- 用 MMBE 看物料在当前工厂和库存地点下的非限制库存、销售订单库存、供应商库存分别是多少。
- 用 MD04 看销售订单需求、计划订单、采购申请和采购订单是否还在链路里。
- 用 MB51 查物料凭证,按移动类型筛 541、311 E、101 E、543 O,核对数量、批次和供应商。
- 用 ME23N 查采购订单组件,确认组件行是否已收货或已删除。
- 回到 VA03 查销售订单行项目,确认特殊库存标识和交货状态。
这个顺序的好处是先看结果,再看凭证,最后回到业务对象。不要一上来就改配置,很多“库存不对”其实是某一步凭证没生成,或者收货行项目选错。
4.4 成本归集与科目分配检查
科目分配组 E 与客户相关成本控制关联。采购申请和采购订单上的科目分配要能追溯到销售订单客户,否则收货时成本归集会落到错误的对象上。检查时看采购申请账户分配页签的客户字段、销售订单号和行项目,再看采购订单是否继承。若科目分配为空,先查采购申请转换时是否手工删除了账户分配,再查销售订单行项目是否已释放。
成本检查不需要把会计凭证全部展开,先确认三件事:采购申请项目类别是 L,科目分配是 E,采购订单组件保留正确。三件事都对,收货产生的成本才会按销售订单归集。若成本对象不对,后面再调账会很被动,通常要在收货前拦住。
5. 避坑与排查:委外加工最容易翻车的五个现场问题
委外加工的报错往往不在事务码本身,而在字段组合和库存状态。下面五个问题是我在模拟项目里反复见到的,按“现象→原因→解决”写,方便直接拿去做排查清单。每个问题都建议在测试环境先复现一次,再放到操作规范里。
5.1 采购申请项目类别写成标准采购,组件页签留空
现象:计划订单转采购申请后,采购申请行项目没有处理组件,转采购订单也没有组件行,收货时只收成品,原料库存没有变化。
原因:项目类别没有选 L,或者选了 L 但 BOM 没有展开,物料主数据的分包标识不完整。项目类别决定采购业务类型,标准采购不会带出委外组件。
解决:回到采购申请行项目改项目类别为 L,重新带出处理组件;若仍为空,查 BOM 是否已维护、采购申请是否由计划订单正确转换。改完后重新转采购订单,不要在错误采购订单上直接补组件。
5.2 541 转供应商库存后,MB1B 冲销方向用反
现象:T 的非限制库存减少,但供应商库存没有增加,或者供应商库存出现负数。
原因:541 的移动方向或特殊库存标识填错,冲销时用了相反的移动类型。541 是从非限制库存转到供应商库存,冲销要用对应的反向移动。
解决:先用 MB51 查 541 凭证,确认移动类型、特殊库存标识、供应商和批次;再用 MMBE 看两本账。若方向反了,按标准冲销流程处理,不要用 311 或 543 手工调平。
5.3 三层 BOM 里 W 的批次没写外协供应商编码
现象:D 收货后,W 的供应商库存减少,但按供应商维度查批次对不上,后续对账找不到对应批次。
原因:311 E 转出时批次沿用了内部生产批次,或者批次字段为空。三层场景里 W 的批次要写外协供应商编码,收货消耗才能按供应商匹配。
解决:在 311 E 执行前检查批次字段,按外协供应商编码录入;已转出的用冲销后重做,不要直接改批次主数据。收货后用 MB51 核对 311 E 与 543 O 的批次是否一致。
5.4 101 E 收货后销单库存不增,先查特殊库存标识
现象:MIGO 收货提示成功,但 MMBE 看成品销售订单库存没有增加,非限制库存也没有增加。
原因:收货行项目的特殊库存标识不是 E,或者销售订单号、行项目与采购申请不一致。101 E 的 E 通常由系统带出,但手工改过行项目后会丢。
解决:查物料凭证中的特殊库存标识和销售订单号,回到采购订单行项目确认账户分配和组件。若标识错误,冲销后按正确销售订单重新收货。
5.5 543 O 消耗数量与组件需求不一致,账实对不上
现象:成品收货成功,原料供应商库存减少,但减少数量与 BOM 组件需求不一致,MD04 上仍有组件需求。
原因:采购订单组件数量被手工修改,或者收货时只收了部分组件;也可能是 311 E 转出的数量不足。
解决:用 ME23N 查采购订单组件数量,用 MB51 查 543 O 凭证,用 MMBE 看供应商库存余额。按组件需求补齐库存转移后再收货,不要用 101 非特殊库存收货去绕过组件消耗。
6. 验收与答辩:用一条库存流水讲清 MTO 委外闭环
验收时不要一上来讲配置,先让听众看一条库存流水。拿场景一来说,从 T 的非限制库存开始,541 转供应商库存,MIGO 收 101 E 和 543 O,最后 MMBE 看 W 的销售订单库存增加、T 的供应商库存减少。这条流水能走通,方案的主链路就立住了。场景二再加一段 W 的生产入库和 311 E,把批次与外协供应商编码对上,三层 BOM 的闭环也就讲清了。
答辩时我一般准备一张验收表,按“业务动作、事务码、凭证、库存变化、检查点”五列写。评审人问为什么用 541 而不是 311 E,就指库存对象:场景一是非限制库存转供应商库存,场景二是销售订单库存转供应商库存。问为什么成品收 101 E,就指销售订单库存的特殊库存标识。问批次为什么写外协供应商编码,就让他看 311 E 和 543 O 的批次一致性。
| 验收动作 | 事务码 | 关键凭证 | 库存变化 | 检查点 |
|---|---|---|---|---|
| 建销售订单并跑 MRP | VA01、MD04 | 销售订单、计划订单 | 无库存变化 | 计划订单数量与交期 |
| 计划订单转采购申请 | MD04 或转换事务 | 采购申请 | 无库存变化 | 项目类别 L、科目分配 E、组件保留 |
| 转采购订单 | ME21N | 采购订单 | 无库存变化 | 组件行完整 |
| 转供应商库存 | MB1B 541 或 311 E | 物料凭证 | 非限制或销单库存减少,供应商库存增加 | 移动类型、批次、供应商 |
| 采购订单收货 | MIGO | 物料凭证 | 成品销单库存增加,原料供应商库存减少 | 101 E、543 O、批次一致 |
| 销售发货 | VL01N | 交货单 | 销售订单库存减少 | 交货数量与订单一致 |
从那以后我每次交付委外方案,都强制让操作员在不看笔记的情况下跑一遍 541→101 E→543 O 的闭环,再让财务用 MMBE 和 MB51 对一次账。能独立走完这条流水,答辩时就不用背步骤。希望帮到你。
本文还有配套的精品资源,点击获取