
简介SAP按单生产委外加工总结是一份面向SAP PP/MM模块顾问、生产计划与采购人员的实战型文档聚焦MTO模式下将部分工序外包给供应商的完整处理逻辑。内容以两类典型场景为主线两层BOM下外包自身可销售成品以及三层BOM下外包父阶成品并管理自供材料覆盖销售订单创建、MRP运行、计划订单转采购申请、项目类别L与科目分配E的设置、非限制库存转供应商库存、101 E/543 O/311 E等移动类型及批次校验。通过具体物料W/T/D串联流程既有操作路径又有库存变化说明便于照着配置、测试和排查问题。资源共1个doc文件压缩包大小442KB已有2379人学习下载。适合正在实施或运维按单生产外协流程并希望理清供应商库存与销单库存联动的顾问快速查阅。1. SAP按单生产MTO里的委外加工大部分人当成标准采购实际踩了三种边界SAP按单生产MTO里的委外加工真正做起来比想象中复杂得多。它既不是单纯的采购也不是单纯的生产而是把“销售订单→MRP→采购申请→供应商库存→成品收货”这条链串在一起的动作。很多人把它当成标准采购的变体结果在项目类别和移动类型上连续翻车。这里面藏着三段容易踩坑的路一是委外采购申请上项目类别必须设为 L分包、科目分配必须设为 EKD-CO 客户二是自供原料要么用 541 从非限制库存发到供应商要么用 311 从销单库存转给供应商三是成品收货时系统自动带出 101 E同时用 543 扣掉供应商库存里的原料。下面用两层和三层两个 BOM 实例把每一步参数和坑点拆清楚。这套流程适合正在做 MTO 委外配置的 MM/PP 顾问也适合刚接手按单生产模式、被 MD04 里面一堆计划订单搞晕的关键用户。看完照着过一遍比反复试菜单高效得多。2. 两层 BOM 的 MTO 委外从 VA01 销售订单到 101 收货的完整链路2.1 为什么项目类别 L 和科目分配组 E 是这单的命门先看最简单的场景成品 W 按单生产W 本身委外生产W 用到的原料 T 由我方提供。BOM 只有两层W 是成品T 是原料。T 还是共用料库存状态要求是非限制库存不能被锁到某个销售订单里。这个场景下销售订单、计划订单、采购申请、采购订单会连环出现最关键的设置只有两个字段项目类别Item Category选 LL 代表“分包/委外加工”。它告诉系统这不是普通采购收货时必须按 BOM 对组件做自动扣料组件可以单独发到供应商仓库。如果不选 L采购订单行项目就是标准采购收货时不会生成 543 的消耗行。科目分配组Account Assignment Category选 EE 代表“KD-CO 客户”也就是把库存归到某个销售订单下面。MTO 场景下成品收货必须进销售订单库存E只有这样后续 VL01N 才能按销售订单直接交货。如果不选 E收货后 W 会落到非限制库存整个按单生产的账就白做了。这两个字段在计划订单转采购申请时最容易出错。系统默认值往往不带 L 和 E你得手动改。尤其是科目分配组在标准采购里根本不会出现一个叫“销售订单”的选项新人对这个字段不敏感很常见。2.2 一步一步走通计划订单转采购申请、供应链核对、库存移动下面按我习惯的顺序走一遍完整流程。业务背景是销售成品 WBOM 里挂共用原料 TW 全部委外加工T 由我司发料。第一步用 VA01 建销售订单。物料输 W数量按客户需求来工厂和销售范围要填对。销售订单类型一般用 OR标准订单保存后拿到销售订单号。这个订单号是后面所有环节的勾稽原点。第二步执行 MRP产生计划订单。在 MD04 里对 W 运行 MRP或者在 MD02 里指定物料、工厂跑一次全重计划。系统会根据销售订单数量生成计划订单Planned Order。为什么不是直接生成采购申请因为 W 的 MRP 类型如果带生产属性MRP 会先生成计划订单再由你决定转生产订单还是转采购申请。委外场景下把计划订单转成采购申请即可。第三步把计划订单转为采购申请项目类别选 L科目分配组选 E。进入 MD04 后选中 W 对应的计划订单行点“转采购申请”。这时系统弹出采购申请界面先改两个地方项目类别双击行项目的“项目类别”列弹出窗口后选 L分包。科目分配组双击“科目分配”列选 E有 KD-CO 的客户。然后展开“处理组件”页签确认原料 T 在里面并且保留状态是“需要发料”。这一步如果看不到 T多半是 BOM 没生效或者物料主数据的 BOM 展开方式有问题。第四步把采购申请转成采购订单。用 ME21N 按采购申请创建采购订单填入外协供应商编码、采购组织、工厂。行项目里应该能继续看到项目类别 L、科目分配 E。加工费单价可以顺手维护到“条件”页签通常按加工单价乘数量结算。第五步MD04 再次核对库存覆盖。这步不能省。MD04 中对 W 和 T 分别查看W 应该有销售订单需求、计划订单已转采购订单T 应该有可用库存以及组件预留。库存不够的话后面收货时 543 扣料会报错。第六步发料MB1B 移动类型 541把非限制库存转供应商库存。原料 T 是从工厂自己的非限制库存转到供应商处。MB1B 里输入物料 T、数量、工厂/库存地点移动类型 541最关键的是在“供应商”字段填入外协供应商编号。保存后生成物料凭证T 的库存从“非限制库存”减少在“供应商库存”增加。这一步很多人纠结用 541 还是 531。原文场景里用的是 541意思是把自由库存直接搬到供应商库存。531 也很常见区别是 531 会参照委外采购订单发料自动带出订单号和组件少手填一步。能记住就记记不住就无脑用 541只要目标供应商填对效果一致。第七步MMBE 查看原料库存状态。MMBE 输入 T 后库存视图里应该出现两行一行是非限制库存数量已经减少一行是供应商库存数量增加供应商字段显示外协供应商编码。如果只看到非限制库存说明 541 的供应商字段没填或者目标存储类型不对。第八步MIGO 对采购订单收货成品收 101 E原料 543 O。MIGO 选择“收货”输入采购订单号回车。系统自动带出移动类型 101并且带出 E销售订单库存标识。保存时系统里实际上生成了两张物料凭证或者两行数据成品 W101 E销售订单库存增加原料 T543 O供应商库存减少科目归属到该销售订单。这里的 O 我理解为“供应商库存中该销售订单消耗的输出”所以 MIGO 收货界面不要因为系统没要求你输入 543 就奇怪。它是在 101 保存时自动触发的。第九步对销售订单做交货。VL01N 里按销售订单号建交货单VL02N 发货过账移动类型 601。此时 W 从销售订单库存 E 出库整套 MTO 流程闭环。移动类型的逻辑可以用一张表直接总结移动类型业务动作库存变化541非限制库存发到供应商非限制库存减少供应商库存增加543委外收货时自动消耗组件供应商库存减少101委外成品收货销售订单库存 E 增加311销售订单库存发到供应商销单库存 E 减少供应商库存增加走完这一遍两层结构的委外基本没有死角。但实际项目里真正让人头疼的是下一节三层 BOM 的场景。3. 三层 BOM 下的 MTO 委外自供材料 W 的 311 移动与批次陷阱3.1 为什么这里要先给 W 做生产订单再交付供应商再看另一种常见场景D 是销售成品也要委外但 D 的 BOM 结构有三层。D 下面有一个自供半成品 WW 的 BOM 里才是原料 T。换句话说D 委外生产的组件不是原料 T而是中间件 W。这个场景多了一层“自制半成品转委外组件”的动作。你不能直接把 T 发给外协供应商因为供应商要装的是 W不是 T。所以流程必须先让 W 自己生产出来入库到 D 的销售订单库存然后再把 W 发到供应商那里。这也是 MTO 委外里最容易让新人绕晕的一段同一个物料 W先有生产订单入库紧接着又有 311 发料出库。从物料凭证上看W 先增加后减少但两笔库存的性质完全不一样。3.2 操作序列计划订单转采购申请 → 311 E 转移 → 101 收料 D第一步对 D 建销售订单执行 MRP。VA01 里对 D 建立销售订单然后在 MD04 里运行 MRP。此时系统会产生两类结果D 的委外采购计划订单因为 D 委外以及 W 的生产计划订单因为 W 需要为 D 供货而自制。如果你在 MD04 里只看到 D 的采购建议而没看到 W 的计划订单检查 MRP 视图里的“相关需求”传递配置。第二步把 W 的计划订单转生产订单并缴库。选中 W 的计划订单点“转生产订单”用 CO01 进生产订单维护工序、发料、报工。生产完成后用 MIGO 对生产订单做 101 收货或者先 CO11N 报工再自动收货。完成这一步后W 进入 D 的销售订单库存EMD04 里 W 行显示的是一笔针对 D 订单的销单库存。这里要特别说明W 不是普通非限制库存它是挂在 D 销售订单号下的专用库存。所以后续发料不能用 541要用 311 E。第三步对 D 的计划订单转采购申请项目类别 L科目分配 E。和场景一操作一样在 D 的计划订单行上转采购申请把项目类别改为 L科目分配组改为 E。然后展开“处理组件”页签确认保留的是 W不是 T。如果组件里只出现 T 而没有 W多半是 D 的 BOM 展开层级不够或者 W 的物料类型在 BOM 里没有被视为“可发出组件”。第四步把采购申请转采购订单并确认组件 W 被保留。ME21N 转成采购订单检查行项目里“组件”页签下能看到 W。供应商、加工费单价都在这张 PO 上。注意 PO 里的组件和普通采购不一样它在后台是“可发料组件”不是“包材说明”。第五步MB1B 移动类型 311 E把 W 的销单库存发到供应商库存。这是三层场景的核心动作。MB1B 里输入物料W移动类型311库存类型选择 E销售订单库存销售订单号D 的销售订单号批次外协供应商编码供应商外协供应商编码。发货后 W 从“D 的销单库存”减少在“供应商库存”增加。MMBE 里能看到一笔 W 的供应商寄售库存批次字段是外协供应商编码。第六步MIGO 对 D 的采购订单做 101 收货。此时收货界面同样自动带出 101 E系统同时生成一行 543消耗供应商库存里的 W 组件。保存后 D 的销单库存增加W 的供应商库存减少。第七步批次核对。MMBE 里按 D 和 W 分别查看批次库存D 的收货批次与 W 的发料批次应该一致且都等于外协供应商编码。这一步放在后面会说但建议你现在就养成习惯。3.3 W 批次必须写外协供应商编码批次为什么会成为断点场景二和场景一最大的不同就是批次成了硬指标。原文里反复强调“W 材料的批次为止一定要写外协供应商的编码”这句话背后有实际原因。委外发料时SAP 并不会强制你把批次填成供应商编码。如果你不填系统会用配置的号码范围自动生成一个内部批次比如 0000001234 这种。问题出在后面D 收货时系统按组件 W 做 543 消耗它要去供应商库存里找对应批次的 W。如果 W 发料时批次是一串自动编号而采购订单里期望的批次逻辑是另一个编码系统要么报错要么把这个自动批次消耗掉。最后在 MMBE 里看D 入库批次和 W 出库批次对不上供应链追溯直接断掉。为什么一定要用外协供应商编码因为按单生产场景下同一物料 W 可能发给多个供应商供应商编号是唯一的天然适合做追溯标识。批次用供应商编码填进去后续 MD04、MB51、MMBE 里一眼就能看出这批 W 是发给哪家供应商、又收回到哪个 D 订单。这是最直观的追溯手段。批次相关配置建议这样处理给 W 物料主数据激活批次管理批次编号设置为“外部给号”发料时人工强制输入外协供应商编码如果公司有序列号管理需求还要检查“序列号状态”的更新逻辑让批号和序列号都能追溯到供应商批次。两个场景的关键差异对照如下维度两层场景W三层场景D→W→T销售成品WD委外组件T共用原料W自制半成品发料移动类型541311 E组件库存属性非限制库存销售订单库存 E批次要求可不启用批次强烈建议外部批次外协供应商编码成品收货101 E101 E4. 委外避坑批次必写外协编码、共用材料、531 与 541 的五个真实翻车点4.1 现象MB1B 541 做完MMBE 里原料库存没有变成供应商库存有人做完 541 后MMBE 里 T 的库存还在非限制库存里只是数额不对供应商库存那栏始终是空的以为是系统没刷新。原因组件 T 在委外采购订单的“组件供应”标识没有打开。MB1B 541 本身是把非限制库存转到供应商库存但它需要知道这笔转移跟哪张委外采购订单相关。如果 PO 的组件页里 T 没有标记为“需要发料/加工回写”发料就只做了一次库存地点转移系统不认这是委外组件。解决回到 ME23N 打开采购订单查看“组件”页签确认 T 行有“供应标记”。如果没有重新维护组件后再执行 541。另外目标是供应商库存时“供应商”字段必须填外协供应商编码而不是工厂自有供应商代码。4.2 现象MIGO 101 收货后成品库存进了工厂非限制库存而不是销售订单库存MIGO 收货后 MMBE 里一看W 的库存多了但“销售订单库存”那栏没有变化货跑到“非限制库存”下面去了。原因采购订单行项目的科目分配组不是 E。项目类别如果是 L但科目分配是空或默认 A资产系统就把 101 收成普通库存。MTO 的销售订单库存在收货时必须靠科目分配 E 来指引缺了它后面 VL01N 根本找不到可交货的库存。解决先 MIGO 做 101 冲销移动类型 102然后 ME23N 把科目分配组改成 E再重新走 MIGO 收货。别想着靠后续 A07 库存转移补补来补去成本归属全乱。4.3 现象W 批次没写外协供应商编码D 收料后批次对不上三层场景里311 发料时批次字段忘了填外协供应商编码系统自动生成一个内部批次。随后 D 的 101 收货时系统在供应商库存里找 W 的批次死活找不到匹配的组件报“货物接收不能处理组件”之类错误。就算强行收进来D 和 W 的批次关联在 MMBE 批次追溯里也是断的。原因311 发料时批次留空系统按号码范围生成批次D 收货时 543 消耗按 PO 组件逻辑去找供应商库存批次不匹配就失败。解决这是习惯问题。311 发料前把 W 的批次字段直接填成外协供应商编码并在批次主数据里备注供应商名称。如果已经错发就 MB1A 做一笔 312供应商库存退回销单库存冲销再重新 311。4.4 现象共用料 T 被发走后其他非 MTO 订单开始缺料共用料 T 按 MTO 委外发料后跑 MRP 的其他普通订单突然缺料。查库存发现 T 明明在“供应商库存”里挂着就是不满足普通需求。原因共用料 T 被挂到了销售订单库存 E 下面。这通常是因为在处理组件时把 T 在库存类型那栏也设成了 E 专用或者 541 发料时选择了特殊库存类型 E。共用料的本质是谁都能领锁到某个订单里它就变成专用料了。解决共用料始终保留在非限制库存。PO 组件里 T 的“库存类型”留空或保持“空非限制”发料用 541不指定销售订单号。只有自供半成品 W 这类真正按单生产出来的物料才用 311 E。4.5 现象计划订单转采购申请时项目类别默认不是 L保存后组件页为空很多新人在 MD04 里转采购申请发现行项目“项目类别”是空白的或者选完 L 之后“处理组件”页签里什么都看不见只能手动维护物料清单。原因物料主数据采购视图里“外部采购”标识没开或 MRP 视图“采购类型”没有改成外购/混合。系统认为这个物料不会通过采购获取转采购申请时就不给加载 BOM 组件。解决MM02 打开 W/D 的物料主数据在采购视图把“外部采购”设为是MRP 视图把“采购类型”设为 F外购或混合。组件还是不出来就到 BOM 事务代码 CS01/CS02 里检查 BOM 状态是否“已释放”。别硬在采购申请上手动加组件那样委外成本核算对不上。5. 委外结果验证MD07、MB51、MMBE 和 CO03 怎么查账5.1 MD07 先看整片需求单物料 MD04 看不出的缺料MD04 只能看一个物料在某个工厂的库存/需求清单。MTO 委外涉及 D、W、T 三个物料每个物料单看都正常合并看才可能发现 D 在等 WW 又在等 T。我一般先用 MD07 做一次“集体库存/需求清单”范围设成整个工厂把 D/W/T 一屏拉出来。MD07 的好处是能直接看到哪些物料有未覆盖需求哪些计划订单已经转成采购订单。右侧的“短缺数量”列如果出现非零说明流程里还有没闭环的组件。此时再去 MD04 里单看相关物料比盲查高效得多。5.2 MB51 查移动类型链条541、543、101、311 一张表看完MTO 委外做完后最直接的验证方式是用 MB51 拉一段期间内的物料凭证按“物料”和“移动类型”过滤。不要把移动类型设成 999 全查那样全是噪音。按 541、543、101、311 四个值过滤再看“批次”字段。很多顾问习惯把 MB51 的结果导到 Excel 里做匹配用物料凭证号做横向桥接把 541/311 的发料凭证和 101 的收货凭证一一对上。这里有个经验如果系统开放了 MSEG 表查询可以直接通过 SE16N 查物料凭证行项目我一般用下面这段逻辑做快速核对DATA: lt_mseg TYPE TABLE OF mseg. SELECT mblnr zeile bwart shkzg menge charg lifnr FROM mseg WHERE matnr D-100 AND bwart IN (101,311,541,543) INTO TABLE lt_mseg.这段逻辑的解释MATNR 是物料号BWART 是移动类型CHARG 是批次LIFNR 是供应商编码。查询的目的是把同一个物料下面所有委外相关的凭证行拉出来重点检查 CHARG 字段是否一致——批次一致才证明发料和收货的链条没断。注意 ABAP 语法里的 是 7.4 以上版本写法老版本的 ECC 上去掉 即可。5.3 MMBE 加批次库存核对销售订单库存、供应商库存、非限制库存三栏对齐MB51 查的是凭证流MMBE 查的是结果。做完整个流程后MMBE 里的库存视图应该符合下面这张表物料库存类型数量批次T非限制库存减少后的剩余无T供应商库存发料数量供应商批次W销单库存 E未交货数量供应商编码W供应商库存发料数量供应商编码D销单库存 E未交货数量供应商编码这里最容易忽略的是 W 和 D 的批次栏位。如果 D 的批次不是外协供应商编码或者 W 的供应商库存批次和 T 的供应商库存批次没有关联追溯报表一定会出问题。MMBE 里还有个批次页签叫“批次库存”输入物料和批次后能看到这个批号的完整库存视图。我习惯把“供应商编码”直接写在批次的文本描述里这样 MMBE 批量显示时肉眼就能认出哪个批次对应哪个供应商。5.4 CO03 看成本委外加工费有没有进生产订单数量对了不代表账对了。委外加工费在采购订单里是“加工费条件”收货时不自动产生会计分录里的成本必须等发票校验MIRO完成后才进账。所以做完流程后用 CO03 打开 D 或者 W 关联的生产订单查看“成本分析”页签。重点看“委托加工”相关的成本要素下有没有金额。常见的翻车是MIGO 已经收货物料凭证都 OK但 CO03 里委外加工费是 0。原因多半是采购订单行项目里没维护加工费条件或者 MIRO 还没做。这种情况下生产订单成本会被低估等到月底结算差异时所有问题集中爆发。这一步不是可选项。MTO 委外的成本链路是销售订单 → 生产订单/采购订单 → 委外加工费 → 物料成本。中间任何一环没开发票校验记录后面的 CO-PA 利润分析全是错的。6. 委外参数照抄清单后台检查与二次上系统前的验证习惯把前几章的操作浓缩成一张可照抄的检查表不踩版本差异的坑对象检查项正确值/建议采购申请项目类别L分包采购申请科目分配组EKD-CO 客户采购订单组件供应标记必须打开采购订单加工费条件填写并在 MIRO 完成发票校验共用料发料移动类型541 或 531半成品发料移动类型311 E批次管理批次编号外部给号发料时填外协供应商编码库存结果MMBE 核对非限制/销单/供应商三栏数量闭合成本验证CO03委外加工费金额非空这套清单不是给顾问背的而是上线前让关键用户对着走一遍的验收脚本。我每次做 MTO 委外配置都会先问客户三个问题委外组件是原料还是自制半成品共用料需不需要锁销售订单批次管理用外部编号还是内部编号答案一旦明确移动类型和项目类别基本就定死了后面不会再返工。从那以后我每次做完 MTO 委外都强制自己走一遍 MD07 → MB51 → MMBE → CO03 四条验证路径任何一条对不上就回头查绝不靠肉眼看库存蒙混过去。这套习惯帮我拦住了至少三次“流程通了但账不通”的翻车现场希望帮到你。本文还有配套的精品资源点击获取