简介:这是一份聚焦SAP系统按单生产(MTO)委外加工流程的实操总结,面向SAP顾问、生产计划与供应链岗位从业者,可帮助解决外包生产场景中物料移动与库存跟踪难题。资源围绕两种典型场景展开:两层BOM外包自身销售成品、三层BOM外包并销售父阶成品,完整梳理了从销售订单创建、MRP运行、计划订单转采购申请,到项目类别L与科目分配组E设置、非限制库存转供应商库存、101 E生产入库、543 O消耗供应商库存、311 E内部转移等关键操作环节。内容特别强调自供材料的批次管理、外协供应商编码对应及库存状态监控方法,对实施MTO外包项目具有直接参考价值。资源为单份doc文档,共1个文件,压缩包大小约442KB,适合在电脑端查阅或打印对照操作。已有2384人学习下载,是SAP物料管理模块进阶学习与项目实践时实用、凝练的参考资料。
1. 按单生产一到委外,八成的差异都出在两个小字段上
很多团队默认按单生产(MTO)和委外加工是两条独立流程,一个管自制、一个管外购,中间用采购订单交接就完事了。实际跑过一轮就会明白:只要 MTO 生产订单的 BOM 里出现一个委外料,需求计划、物料发运、供应商库存、发票校验和成本核算会被整条拴在一起,任一环掉链子,月底对账就全是差异。回看我们梳理过的几套流程,账实差异绝大部分不是出在委外加工本身,而是出在采购订单的「组件页签」和「供应商库存」这两个不起眼的地方——组件数量没跟上 BOM、发料批次选错、供应商库存被收货冲得不干净,最后全变成财务和计划之间的扯皮。这篇把按单生产委外加工的完整链路拆开讲清楚:什么场景适合做、主数据怎么设、采购订单怎么下、发料收货怎么跑、坑在哪,以及月末怎么快速把账对平。适合正在做或准备做 MTO + 委外的生产计划、物流和 SAP 支持人员,也适合刚接手这类流程的顾问。
2. 拆业务场景:按单生产下的委外,为什么不能照搬常规流程
2.1 按单生产的数据特征:物料从"库存思维"切到"订单思维"
按单生产的第一特征是物料不按「仓库有多少」来管,而是按「这张订单需要多少」来管。常见的 MTO 物料会启用批次管理,部分特殊行业还要管序列号,成本对象也不是物料本身,而是那张生产订单。这个区别直接决定了委外流程的走法:常规委外面向的是「常备库存」,BOM 展开后组件数量相对稳定,供应商库存有富裕量可以缓冲;MTO 委外面向的是「单笔需求」,组件数量精确到订单,批次要按订单追溯,多发了、发错了都很难靠库存调整找补。
这里我给一个常用的判断表,帮助区分哪些物料真的适合走 MTO 委外:
| 判断维度 | 库存型物料 | 按单型物料 |
|---|---|---|
| MRP 类型 | 默认 MPS/MRP,跑出计划订单或采购申请 | 按销售订单跑,跑出的是订单相关需求 |
| 采购类型 | 外部采购或自制均可 | 一般是外部采购 F,委外料不能设为自制 |
| 批次管理 | 可选,按批次追库存即可 | 强烈建议启用,否则订单追溯困难 |
| 成本对象 | 物料标准成本 | 生产订单(订单结算) |
| 委外组件库存 | 允许供应商库存有结余 | 要求按订单清,月末差异重点查这里 |
实际项目里最常见的翻车原因,就是物料主数据还是沿用库存型的设置,MRP 类型没改成按单相关,导致委外采购申请和销售订单对不上号,生产订单下达后组件需求根本落不到采购订单上。所以后续所有配置和操作,第一条原则都是:先确认这颗料是「按单」的。
2.2 委外加工的三种形态,哪个才是 MTO 场景的主线
委外加工在 SAP 里并不是一个单一功能,而是分成三类:纯委外(也叫无料委外,供应商自购材料加工,我方只付加工费)、带料委外(我方提供部分或全部材料,供应商加工后送回半成品或成品)、工序外协(生产订单的某道工序委托外部完成)。MTO 场景下最复杂、也最常被问到的,是第二种中的「组件级委外」——把半成品发给供应商,供应商用我发给他的料加工,再送回半成品继续走生产订单。
三者在系统中的落地路径完全不同:
| 形态 | 系统实现方式 | 核心单据 |
|---|---|---|
| 纯委外 | 采购订单直接收成品,无组件 | 标准采购订单 |
| 组件级委外 | 采购订单带组件页签,组件从自有库存发到供应商库存 | 委外采购订单 + 543 发料 + 101 收货 |
| 工序外协 | 生产订单工序外部处理,走工序外协采购 | 生产订单 + 工序外协信息记录 |
这篇只深挖组件级委外。工序外协虽然也出现在 MTO 流程里,但它的采购对象是「工序」而不是「物料」,主数据、移动类型和结算逻辑都不同,硬放在一起讲会把两套流程都搞乱。所以下面所有步骤都默认是:半成品物料、带组件发料的委外采购订单。
2.3 为什么"按单 + 委外"组合特别容易翻车
单独看 MTO 和单独看委外,都不算难。MTO 是一套需求传递逻辑,委外是一套采购 + 收发料逻辑。两者一旦叠加,系统里就会出现一条跨 PP、MM、CO 的链路:销售订单 → MRP → 计划订单 → 生产订单 → BOM 展开 → 委外采购申请 → 委外采购订单 → 543 发料 → 供应商库存 → 101 收货 → 生产订单入库/后续工序 → 结算。
这条链有四个天然的「松耦合」点:第一,委外采购订单的组件页签是下单时从 BOM 展开的,BOM 后来改了,组件不会自动跟着变;第二,供应商库存挂在采购订单行项目下,而不是挂在物料维度,用常规库存报表经常看不见它;第三,MTO 的批次确定策略在发料环节有额外限制,批次错了整张订单的追溯就断了;第四,发票校验时加工费和材料消耗是两笔凭证,科目配置不对,差异就漏到期间费用里。后面所有章节,都在围绕这四个松耦合点做弥补。
3. 落地前的主数据与基础配置:先把能省的返工省掉
3.1 物料主数据上必须盯住的四个字段
委外流程能不能跑起来,一半在物料主数据。维护错了,后面采购订单、发料、收货全是连锁反应。项目里最常见的是采购类型设错或者特殊采购类没留空,导致委外需求根本落不到采购环节。
| 字段 | 建议值 | 作用与常见误设 |
|---|---|---|
| 采购类型 | F(外部采购) | 设成 E 会导致 MRP 跑出计划订单而非采购申请,委外链路直接断 |
| 特殊采购类 | 留空 | 委外不靠特殊采购类驱动,靠采购订单类型与组件页签;误设 30/40 会变成库存转储逻辑 |
| MRP 类型 | 按单相关(如 MTO 专用类型) | 误用 MPS 会导致需求被合并,订单批次追溯失效 |
| 批次管理 | 启用(按单生产建议) | 不启用也能跑,但后续追溯和差异分析非常被动 |
这几个字段维护好后,用事务代码 MM02 逐颗改即可。如果委外料很多,不要手工一颗颗点,让关键用户按物料清单批量导,效率和准确率都好得多。
3.2 BOM 与信息记录:委外加工的"原料清单"怎么维护
组件级委外的起点是 BOM。采购订单创建时,系统会根据物料号找到对应的 BOM,把组件带出来放到订单的「组件」页签里。所以 BOM 必须准确,尤其是组件数量、基本数量、工厂归属这三个部分。BOM 里不需要给组件标特殊标记,委外逻辑是在采购订单行项目里触发的,不是靠 BOM 里的字段。
信息记录主要用来确认三个信息:供应商是否有效、采购价格是多少、税码和工厂是否匹配。事务代码 ME11 创建,ME12 修改。委外加工费通常在信息记录里维护含税价,建议把「工厂 + 供应商 + 物料 + 采购组织」都维护全,缺一个组合,采购订单创建时就会弹出「无有效信息来源」的报错。这里有个实践经验:加工费的计价单位经常是「按件」,但供应商偶尔按「按公斤」报价,信息记录里计价单位一旦写错,后面发票校验对不上,所以维护完最好打印出来让供应商书面确认一次。
3.3 配置检查清单:科目、移动类型与容差
委外加工涉及两类成本:一是发出去的材料成本,二是加工费。材料发料时用的是 543 移动类型,自动科目确定规则在后台 OBYC 里配置;加工费在收货时进入存货科目并在发票校验时做差异调整。如果 OBYC 里对应的科目没配全,系统不仅在收货时可能报错,更有可能会把差异记到一个聚合科目里,月末财务完全看不出是哪张订单的差异。
移动类型这块,记住一个惯例组合即可:543 发料给供应商、101 收货回厂(系统自动冲减供应商库存)、后续生产订单报工入库按 101 或 103 正常处理。容差方面,采购订单行项目的「过量交货容差」建议保留默认或稍放宽,因为 MTO 委外经常因为供应商加工损耗导致交货数量略超,逐单改容差太费劲。还有一个后台点容易漏:工厂层的「数量/金额容差」如果不允许小范围超收,供应商多送几个都会被拒绝收货,月底又要补做一张退货单。
提示:以上配置建议以「标准 + 按单」为基线,具体科目编码以你所在项目的财务科目表为准,不要照抄同行的科目编号。
3.4 批量核对主数据的一个快速办法
主数据量大时,靠 MM03 一个个看太慢。我一般让顾问或关键用户用 SE16N 直接查表核对,比反复点界面效率高很多。核心就是核对物料主数据的工厂视图和 MRP 视图。下面是以 MARA / MARC / MARD 三个表交叉检查的方式:
事务代码: SE16N 表名: MARC 条件: WERKS = '1000' " 工厂,替换为自己的工厂号 MATNR IN ('', ...) " 委外料清单,建议粘贴整列物料号 查询后关注字段: SOBSL = 留空 " 特殊采购类,委外料不应有值 PSTAT = 活动状态 " 物料状态是否为“已发布” DISPR = 与 MRP 类型关联再切到 MARA 表核对 MTART(物料类型)和 BWMTH(批次管理),如果发现批次管理没启用,要评估是否值得返工加批次。这个检查脚本只能用来核对,不能用来改数据,真正改字段还是走 MM02,避免绕过权限和日志留下后续审计问题。
4. 按单生产委外的执行链路:从销售订单到发票校验的分步跑法
4.1 销售订单与 MRP:让委外需求自己冒出来
委外流程真正启动的信号,不是手工建采购申请,而是 MRP 跑出的采购申请。前提是物料主数据已经按 MTO 需求类型设置好,销售订单录入后运行 MRP,系统会根据 BOM 逐层展开,对委外半成品生成「采购申请」而不是「计划订单」,同时生产订单里的自制件生成计划订单。
这个环节常见的检查点是 MRP 清单里的异常信息。跑完 MRP 后用 MD04 查看单颗物料的库存/需求清单,重点看两件事:采购申请是否已生成;采购申请的需求数量是否等于销售订单剩余未交量。如果采购申请没生成,多半是物料主数据采购类型设错或 MRP 类型不允许外部采购;如果数量等于的是总需求而不是未清量,多半是销售订单没有正确传递需求,要在销售订单行项目查看「计划行」有没有被确认。
4.2 创建委外采购订单:组件页签是命门
采购申请转采购订单,正常是 ME21N 根据采购申请创建,但这个环节不能无脑照搬数据,必须逐行确认组件页签。具体步骤和关键检查项如下:
| 步骤 | 事务代码 | 关键操作 |
|---|---|---|
| 创建采购订单 | ME21N | 选择采购申请,转成订单 |
| 维护供应商与价格 | ME21N 抬头/行项目 | 确认信息记录带出的加工费单价正确 |
| 勾选委外加工 | ME21N 行项目「附加数据」 | 勾选「委外加工」,系统自动带出 BOM 组件 |
| 检查组件页签 | ME21N 行项目「组件」 | 核对组件物料、数量、需求日期、是否为批次料 |
| 重新展开 BOM | ME22N 组件页签 | BOM 变更后点击「重新展开」按钮,拉取最新组件 |
组件页签里的「数量」字段经常被误解。它不是可以随便改的一个数字,而是 BOM 按订单数量展开得出的组件需求,受 BOM 基本数量比例控制。如果订单数量变了而组件数量没变,问题通常出在创建采购订单时没有重新展开 BOM,而不是手工维护数量。反之,如果你发现组件数量带出来是 0,多半是 BOM 组件视图里的「相关数量」没维护,或者该组件在 BOM 中被标记为「不展开」。
注意:委外采购订单一旦保存,组件页签就和 BOM 解耦了,后续 BOM 怎么改都不会自动同步。要同步只有两条路:ME22N 手工重新展开,或者删除采购订单行重新建。哪个都不省事,所以下单前一定要确认 BOM 是最新版。
4.3 发料、收货与发票校验:三个移动类型串起来
采购订单下达后,紧接着是发料。发料使用移动类型 543,事务代码 MB1B 或 MIGO 都可以。发料时系统要求输入采购订单号和组件行项目,批次管理的料还要指定批次。这一步做完,组件从自己的可用库存转入「供应商库存」,挂在采购订单行项目下面。
供应商加工完成送回半成品,用 MIGO 收货,移动类型 101。这个动作同时产生两个效果:半成品入库,以及供应商库存按收货数量自动扣减。也就是说,系统里不需要「先收料再冲减供应商库存」的额外操作,101 收货本身就完成冲减。前提是收货数量不能超出组件供应数量,超了系统会先收货成功,然后供应商库存变成一个负数挂账。
发票校验走 MIRO,这里要特别强调一点:发票校验金额通常只包括加工费,材料费已经在 543 发料时消耗掉了。如果供应商发票把材料费和加工费开在一起,校验时要把金额拆开,否则系统会把材料费当额外加工费记进去,生产成本虚高。实际项目里,这个环节是财务和计划最容易扯皮的源头,建议流程上线时就定好发票格式约定。
4.4 按单生产下批次如何一路传递
MTO 委外里批次传递是件麻烦事。生产订单要求材料批次可追溯,那么委外发料时选的批次,必须能关联回销售订单;收货时半成品的批次,也要能关联回生产订单。一个稳妥做法是:半成品物料使用「收货时自动生成批次」,组件材料使用「按生产订单自动确定批次」。这样一来,即使供应商没有回传实际用料批次,系统里也能从销售订单追到生产订单,再追到发料批次和收货批次。
很多项目上线后才想起做追溯,结果供应商发货单和系统批次对不上。我的建议是在采购订单的「文本」页签写清楚批次传递要求,同时给供应商打印一份包含物料、数量和期望批次的发料单,让他按单生产、按单送回,少了许多事后解释。
4.5 当销售订单变更时,执行的先后顺序不能乱
按单生产最躲不开的就是销售订单变更,数量减少或交期调整,都会向下游传导。委外的正确处理顺序是先看生产订单状态,再看采购订单组件,最后处理供应商库存:
- 销售订单数量减少,先改销售订单,再重跑 MRP;
- 检查相关生产订单是否已下达,若已下达,修改生产订单数量并重新展开 BOM;
- 检查委外采购订单组件页签,重新展开或手工调减组件需求;
- 如果组件已经发到供应商库存且超过新需求,要和供应商确认是否退回多余材料、在途加工品如何处理;
- 最后做发货或退货,不能让负数供应商库存留在系统里过月。
这个顺序反了会怎样?我们见过最典型的情况是:销售订单先被删了,生产订单没人管,采购订单照样按旧数量收料,结果物料变成无主库存,供应商库存还挂着负数的组件,月底对账时无论如何也对不平。所以销售订单变更不是一个「改单」动作,而是一条必须按顺序走完的流程。
5. 按单生产委外的五个高频坑:现象、原因和后悔药
5.1 坑一:采购订单组件页签是空的,发料发不出去
现象:ME21N 建好委外采购订单,保存后打开「组件」页签,里面什么组件都没有。MB1B 发料时系统提示「采购订单中不包含组件」。 原因:最常见的是创建订单时没有勾选「委外加工」,或者勾选了但系统没有找到有效 BOM。还有一种情况是 BOM 组件没有被展开到当前工厂。 解决:ME22N 打开采购订单,确认行项目「附加数据」里委外加工是勾上的;然后在组件页签手工点「重新展开」,系统会从 BOM 里重新读取组件。如果重新展开后还是空,就去 CS03 检查 BOM 是否已发布、组件工厂是否对。这个坑几乎每个项目都会遇到一次两次,不是配置问题,是操作顺序问题。
5.2 坑二:库存明明够,发料却报批次不足
现象:MB52 里看组件库存充足,543 发料时系统报「物料 xxx 在批次 yyy 中没有足够库存」。 原因:MTO 物料启用了批次管理,而采购订单组件里的批次字段是空的,系统需要根据批次确定策略自动找批次,但策略没有覆盖「委外发料」这个移动类型,或者策略找到了一个已经预留给其他订单的批次。 解决:在两处排查:一是后台 OMJJ 里检查 543 移动类型是否允许自动批次确定;二是检查批次确定策略里是否包含「移动类型 543 + 特殊采购类」的组合条件。如果策略都没问题,就用 MIGO 发料时手工输入批次号,选中实际要发的那个批次。批次的坑属于「不跑不知道」的类型,建议在测试环境先把 MTO + 批次 + 委外三种组合完整走一遍。
5.3 坑三:收货后供应商库存数量对不上
现象:同一颗委外料,用 MIGO 收货后,ME2O 里看到的供应商库存和采购订单组件的剩余数量不一致,甚至出现负数。 原因:存在几种典型操作:101 收货数量超过了组件供应数量;组件发料后做了退货(544),但退货凭证没关联到原采购订单;或者 BOM 组件被修改过,但采购订单没有重新展开。 解决:用 ME2O 打开该采购订单,查看每个组件的「已发货数量」和「已收货数量」两个字段。已发货数量来自 543 凭证,已收货数量来自 101 凭证。如果已收货大于已发货,就说明超收了,先做一张退货凭证把多收的部分退回供应商库存,再调整组件数量。如果出现负数,反查组件页签的「未清数量」,确认是发料还是收货环节造成的。这个坑的排查不复杂,但很费时间,最好每月关账前固定走一遍。
5.4 坑四:发票校验后差异被记进期间费用
现象:MIRO 校验委外加工费后,财务发现生产成本里没有体现材料差异,而是多了一笔莫名其妙的期间费用,或者反过来材料差异堆积在存货科目里没结转。 原因:OBYC 里科目配置不完整。委外加工的材料发料、加工费收货、差异结转分别对应不同的交易码和科目,少配了差异科目,系统就会把差异丢到默认的损益类科目里去。 解决:后台 OBYC 里检查委外相关交易码的科目分配,尤其是材料消耗差异、加工费差异对应的科目组,确保差异归集到可以按订单或按物料追踪的成本科目中,而不是一个通用的费用科目。做这个检查时要带着财务一起,由财务确认差异应该进生产成本还是期间费用,不能 IT 单方面拍板。配置类的返工逻辑不复杂,但涉及 FI/CO 和 MM 两边,改起来流程长,所以上线前就应该拿一张真实的差异凭证做验证。
5.5 坑五:生产订单结算差异特别大,成本归错
现象:MTO 生产订单月结后,差异金额异常大,财务一眼就看出本不该有这么高的成本。 原因:常见原因是收发料顺序问题。委外半成品先做了 101 收货、报工,再补做 543 发料,系统在月结时取实际成本找不到对应的材料成本,只能按标准成本估算,差异全部挂到生产订单上。另外一个原因就是坑三里的供应商库存数量对不上,导致的材料成本少结转或多结转。 解决:立一个硬规矩:先发料、后收货。委外加工流程的执行顺序不能颠倒,至少在系统层面必须保证同一张采购订单下 543 凭证时间早于 101 凭证时间。这个规矩听起来简单,但实际执行中因为供应商先送货、后补单据的情况非常普遍,所以通常要靠月底检查来兜底:用 ME2O 拉出所有已收货但发料数量不足的采购订单,逐个确认到底有没有补发料。这个检查建议写入月结清单,而不是依赖操作员自觉。
6. 月度对账与进阶检查技巧:把委外账面管到差异收敛
6.1 用三张报表交叉验证供应商库存
月底对账不要只盯 MB52 的总库存,委外料要分开看。一套实用的核对方式是三张报表对着查:
| 报表 | 事务代码 | 看什么 |
|---|---|---|
| 按物料库存总览 | MB52 | 看该物料物料级总库存,重点是有没有负数或异常仓位 |
| 供应商分包库存 | ME2O | 看供应商库存明细,重点是未清组件、已发未收数量 |
| 物料凭证流水 | MBBS | 看 543 和 101 的凭证流,确认收发顺序和数量逻辑 |
核对套路:先跑 ME2O 拿到挂在该供应商下的委外组件数量,再和 MB52 里对应物料的供应商库存视图对上;如果不一致,用 MBBS 拉出这张采购订单所有物料凭证,按时间排序,检查有没有跨月补单或者退货。这套动作做熟之后,十来分钟就能过完一个工厂的委外账。
6.2 让批次追溯不再靠翻纸质单据
按单生产的委外,批次追溯做到系统里闭环,比事后找供应商要单据可靠得多。常见做法是收料时半成品用「自动批次生成」,发料时组件用手工确定或策略确定批次,并把生产订单号写到采购订单文本里。对于必须精确到单件序列号追查的物料,还可以在收货时强制要求供应商回传批次清单,然后由仓管在 MIGO 里按清单逐批收货,不要把一批货拆到不同批次再合并记账。
给一个我在实际项目里用过的检查小技巧:月结前用 MB51 按移动类型 543 和 101 各导出一张报表,用采购订单号做关联,凡是 543 数量大于对应 101 数量的采购订单行,都说明供应商还有材料在手上没送回,要逐条和供应商确认状态。这个动作把常见的「供应商说送回来了、系统里没收到」类纠纷消灭在月结之前。
6.3 坚持一个每周的小检查,比月底突击高效得多
最后一个建议,是养成每周用 ME2O 导出未清委外采购订单的习惯,然后和 MMBE 的库存结果交叉比对。只要发现某颗料的组件剩余数量大于采购订单未收数量,立刻顺着凭证查一遍,多半能当场把问题解决。这个习惯坚持下来以后,月结时的差异处理会从「抓大放小、靠猜」变成「逐单核对、有据可查」,财务、计划、仓库之间的沟通成本能降一大截。
回想自己做项目的经历,委外流程本身不难,难的是让每个环节的人理解那些字段之间的依赖关系。以前我也觉得组件页签、供应商库存、批次策略这些东西属于「系统细节」,后来被一张总对不上的月末对账单教育过一次,才明白这些细节才是流程的地基。希望这篇把能踩的坑和能用的招都讲清楚,希望帮到你。
本文还有配套的精品资源,点击获取