SAP MTO按单生产全流程解析:从销售订单到采购收货的配置与实战
2026/9/6 22:07:49 网站建设 项目流程

简介:面向SAP实施顾问、供应链及生产计划相关学习者,这份资源深入讲解按销售订单采购生产系统的核心实现逻辑,重点区分无差异与有差异两种业务模式,并完整梳理从销售订单、按单采购、生产订单到成本结算的操作链路。文档为docx格式,共1个文件,压缩包大小2.77MB,便携易用,便于直接查看和打印。已有148人学习,内容兼具理论配置与实操步骤,目录结构清晰,从业务场景到系统实现、业务流程操作步骤逐步展开。读者可从中获得生产订单结算、销售订单成本控制、结果分析等关键配置方法,以及创建物料、BOM、计划作业价格、工艺路线、发料报工、成本费用过账等明细流程;有差异模式下的多版本成本估算与分摊逻辑也作了展开,适合需要系统掌握SAP按单生产及成本结算场景的中高级学习者。 最近在一个MTO项目上做支持,我明显感觉到,很多同事对“按销售订单采购生产”的理解还停留在“销售订单能跑到MRP”这个层面,但真正要把这条链路端到端跑顺,配置点散落在SD、MM、PP、CO四个模块里,任何一个环节没咬上,链条就会断。这篇文章我想从顾问视角,把SAP按销售订单采购生产系统的配置和操作完整拆一遍,覆盖策略组、MRP类型、计划行类别、账户分配类别这些关键配置,以及从VA01创建销售订单到MIGO收货入库的完整操作链路,最后附上我在项目里真实踩过的坑和排查思路。适合正在做PP/MM/SD集成的顾问,也适合制造企业里负责计划、采购和IT支撑的同事。

1. MTO模式本质:采购和生产是被销售订单“拉”动的,不是被预测“推”动的

1.1 先分清按单生产、按单采购、按单装配的边界

MTO(Make-to-Order,按单生产)和MTS(Make-to-Stock,按库存生产)最本质的区别是需求来源。MTS模式下,MRP跑的是基于预测的计划独立需求,销售订单只是“消耗”掉已经生产出来的库存;而MTO模式下,销售订单本身就是MRP的驱动源头,采购申请、生产订单上都明确挂着某个销售订单号,一张销售订单就是一个“任务”。

但“按单采购”和“按单生产”不是一回事,项目上经常混着用。按单生产关注的是成品/半成品层,系统沿着BOM往下展开,产出生工单;按单采购关注的是外购件层,系统不展开BOM,直接产生采购申请和采购订单。两者可以在同一条BOM链路里共存,这取决于每个物料主数据怎么设。

这个边界如果不在蓝图阶段定清楚,后面主数据维护就是一团乱麻。我见过一个项目,业务说“我们全线按单”,结果连标准螺丝也设成了按单采购,供应商那边库存和交期完全不受控,最后被迫回改。比较务实的方案是:成品和关键非标件按单,通用件、标准件继续走按库存批次,MRP会自动把两部分需求合并到采购计划里,互不打架。

1.2 蓝图阶段必须拍板的三个问题

落地前,我建议业务和IT联合把这三件事定下来,否则配置配到一半很容易返工。

第一,哪些物料在哪个BOM层级按单。不要笼统说“成品按单”,要具体到物料主数据层级。BOM顶层按单,不代表底层自动按单,底层外购件需要单独决定用按单采购还是按库存采购。

第二,销售订单库存怎么管。按单物料收货时,系统默认可以收到“销售订单库存”,这种库存和普通工厂库存物理上可能在一个库位,但管理属性完全不同,它只属于某一个销售订单,别的订单不能用,哪怕是同一客户。这个机制做不做、做多深,直接影响库存盘点和月底对账。

第三,采购申请是自动转采购订单还是人工介入。按单采购的PR如果全部自动转PO,流程快但风险高,业务部门往往来不及审核;如果全部人工转,又会增加计划员工作量,而且链条一长容易漏单。实务上多数项目走“ME59N批量转换+关键物料人工复核”的混合模式。

这三个问题定了,后面的配置才有依据。别小看这一步,按单系统的配置难点从来不是某一个点,而是整条链路的联动逻辑。业务说不清楚,IT闭着眼配,最后一定出问题。

2. 配置拆解:策略组、计划行类别、MRP类型是如何被串起来的

2.1 策略组和需求类型:销售订单需求“翻译”给MRP的第一个开关

策略组(Strategy Group)是SAP里一个高度聚合的配置对象,它把需求类型、消费参数、MRP相关标志打包在一起,挂在物料主数据的MRP3视图。MTO场景最常挂的是策略组20(按单生产)。策略20允许销售订单相关需求直接被MRP读取,并沿着BOM一级级展开。

这里必须讲清楚“需求类型”这个概念。销售订单保存后,系统会根据策略组自动确定一个需求类型,写到计划行里,表示“这个需求要参与MRP”。如果策略组没配好,或者物料主数据压根没挂策略组,计划行的需求类型就是空的,MRP根本看不到这张销售订单。

配置入口在SPRO > 生产 > 物料需求计划 > 需求管理 > 定义策略组 和 定义需求类型。我一般不建议直接用标准策略20跑到生产,而是复制一个Z策略,比如Z20,需求类型只保留销售订单驱动,禁用计划独立需求的预测消耗。为什么?因为一旦业务员在MD61里手工录一笔计划独立需求,按单物料的MRP结果就会混入预测单,账目一下就乱了。按单物料,就是要让它“眼里只有销售订单”。

2.2 计划行类别和项目类别:SD向PP/MM传递需求的“开关”

很多PP顾问排查MTO问题时,第一反应是去查MRP和策略组,方向没错,但容易漏掉SD侧的配置。销售订单行项目能不能向MRP传需求,决定性的一步在“项目类别 + 计划行类别”的配置上。

每一行销售订单项目都会有一个项目类别(Item Category),比如TAS标准项目、TAN免费项目等。项目类别下面挂着计划行类别(Schedule Line Category),计划行类别上有个关键标志叫“MRP相关”,同时指向一个需求类型。如果计划行类别的MRP相关标志没勾选,或者需求类型为空,那不管策略组挂没挂,MRP一律收不到这张单。

配置路径在SPRO > 销售与分销 > 基本功能 > 可用性检查与需求传递 > 需求传递 > 计划行。具体操作时,重点检查两个字段:计划行类别是否勾选了与MRP相关的复选框,需求类型是否从策略组成功确定。看配置的人多了去了,但真正常出问题的是需求类型确定,尤其当SD顾问新建过销售订单类型或项目类别时,很容易把标准计划行类别的关联弄丢。遇到“销售订单传不下去”的故障,别急着查两侧主数据,先把这张销售订单的项目类别和计划行类别查出来,再反查配置,80%的问题都出在这个链条上。

2.3 物料主数据组合:MRP类型、策略组、批量大小要匹配

配置归配置,真正跑起来靠的还是每颗物料主数据上的参数组合。按单物料的主数据,我建议在MRP视图里重点盯三列。

第一是MRP类型。按单系列的M型MRP类型会有特殊的按单处理逻辑,半成品/生产件一般用能展开BOM的M1类型,外购件用M0类型,MRP运行后直接出采购申请,不再往下展开。第二是策略组,挂Z20或标准20,保证需求类型能正常确定。第三是批量大小,按单物料强烈建议用按单批量或“EX”批量,而不是固定批量。如果设成固定批量,系统会把五张销售订单的需求合并成一张采购申请,数量是五个订单的总和,后面收货和结算会非常痛苦,销售订单号一对多,很难对账。

还有个小细节,MRP2视图的“计划交货时间”和“收货处理时间”一定要维护,不然MRP算出的采购日期会偏紧,销售订单承诺交期和实际到料日对不上,MD07里会天天飘异常。

2.4 账户分配类别:采购申请背后挂的“老板”是谁

按单采购和普通采购在MM侧最大的区别,是采购申请和采购订单行项目上的账户分配类别。普通采购的账户分配类别是空白的,收货进工厂普通库存;按单采购的采购申请会自动带出销售订单相关的账户分配类别,采购订单行项目页签上会显示销售订单号,收货目的地不再是普通库存,而是销售订单专用库存。

这就是SAP里“专用库存”概念的典型应用。销售订单库存的特殊库存标志是E,它挂在某个销售订单行项目上。也就是说,这颗物料从采购入库那一刻起,就已经“认主”了——它只属于那个销售订单,不能挪给别的订单。这种机制在财务上对应的是按单核算:成本从采购、生产到销售发货,全部归集到同一个销售订单内部订单上。

账户分配类别的确定逻辑通常由需求类型和计划策略决定,一般不需要顾问手动去配,但如果项目里做过“采购申请增强”或者“项目类别定制”,要特别小心账户分配类别被后台上别的规则覆盖,导致PR上丢掉销售订单号。后面第4章我会专门讲这个坑。

3. 完整操作链路:从VA01到MIGO,一张销售订单怎么拉通采购和生产

3.1 动手前的主数据检查清单

配置做完,真正验证系统能不能跑通的时候到了。我建议在创建第一张测试销售订单之前,先花十分钟把主数据盘一遍,避免浪费两小时的排查时间。

逐项检查:物料主数据MRP3视图的策略组是否已挂Z20或标准20;MRP视图的MRP类型是否为M系列;MRP2视图的批量大小是否为按单批量;成品BOM是否已维护且状态为“已释放”;外购件的货源清单或信息记录是否已建立;如果是自制半成品,工艺路线是否已维护。这些条件缺任何一个,MRP要么不出结果,要么出的计划订单在转生产订单时报“物料未维护工艺路线”之类的错。

这个检查清单最好转成一张Excel模板,项目上线初期每新增一个按单物料都走一遍,能省掉大量低级问题。

3.2 创建销售订单:VA01里看什么

用VA01创建销售订单时,录入售达方、物料、数量、交货日期后,系统会做可用性检查,并根据主数据和配置自动确定计划行。这时候先别急着回车,点进“计划行”页签看三样东西:

第一,可用性检查结果是否显示确认日期,如果确认日期晚于客户要求的交货期,就得和计划员确认采购周期是否来得及;第二,计划行类别是否正确,按单物料通常会出现“CB”或项目里自定义的计划行类别,关键是看MRP相关标志有没有生效;第三,需求类型栏是否已经带出,如果这里是空的,回到第2章查策略组和计划行类别的配置。

要注意的是,销售订单保存后不会立刻产生采购申请,必须等MRP运行。很多业务员以为销售订单一保存,采购部门就能看到PR,这个预期要提前纠正。

3.3 运行MRP并用MD04/MD07检查缺口

跑MRP时,我习惯在按单场景下用MD02按物料跑,而不是整个工厂MD01一把梭。按单物料和按库存物料混在同一个工厂里时,MD01全厂跑一遍虽然也不至于出错,但跑出来的结果量很大,计划员很难聚焦在有异常的按单物料上,而且动不动就是几千条消息,性能也受影响。

MD02的输入界面里,建议把“处理代码”设为NETCH(净变化),创建采购申请勾上,计划订单也勾上。跑完以后,第一时间用MD04看单颗物料的库存/需求清单,重点确认里面出现了销售订单的需求记录,并且下游已经展开出采购申请或计划订单。如果物料下面有BOM,还要看看相关需求是否沿BOM传到了底层外购件,底层外购件的MD04里是否出现了带销售订单号的采购申请。

等计划员把一批按单物料都跑完,我建议用MD07看MRP工作清单,这里的价值是纵观全局:哪些物料的供给日期早于需求日期,哪些采购申请还没转采购订单,哪些计划订单存在异常情况。MD07相当于按单物料缺口的“仪表盘”,项目运行阶段靠它做日常监控非常高效。

3.4 采购申请转采购订单和生产订单下达

采购申请在MD04里出现后,可以手工在ME21N里参考PR创建采购订单,也可以批量用ME59N把一批PR转成PO。按单物料的采购订单会在行项目账户分配页签里带出销售订单号,收货时系统自动明确该笔收货进入销售订单库存,这是判断PO是否成功按单的关键特征。如果你在采购订单上找不到销售订单号,说明PR的账户分配类别丢了,这时候绝对不能收货,先回去查原因。

生产计划员那边,MRP跑出来的计划订单可以通过CO01直接转生产订单,也可以在MD04里选中计划订单点“转换”。按单生产物料的生产订单默认会带出销售订单号,订单类型建议使用按单生产对应的订单类型,比如PP03之类,这样后续结算规则才能自动带出“按销售订单结算”。

生产订单创建后别急着发料,先检查工艺路线、组件、排程日期,确认无误后下达。如果生产订单上有组件缺料,系统会在MRP里继续为这些组件产生采购/生产需求,形成二级拉动的闭环。

3.5 收货、领料、完工入库和发货过账

外购件到货后,在MIGO里做101收货。这里最关键的一步是,在“库存类型”里选择“销售订单库存”,并输入销售订单号。如果漏选,收货会进普通库存,按单物料的库存归属就被破坏了。收货完成可以用MB52或MMBE查库存,顺便看一下销售订单库存的数量是否已经挂到对应订单上。

生产订单领料一般用MIGO做261发货,按单生产的组件需求会自动对应到具体生产订单上,不会串单。生产完工后,用MIGO做101收货入库,同样要选择销售订单库存。到这里,这个销售订单需要的物料已经以专用库存的形式存在了。

最后是发货环节,用VL01N根据销售订单创建交货单,VL02N做发货过账。因为生产入库已经进了销售订单库存,交货过账时系统会自动从这个订单的专用库存里扣减,会计凭证和库存凭证都是联动的。整条链路到此完成闭环,从销售订单到采购、生产、入库、发货,每一笔业务都能追溯到同一个订单号。

4. 踩坑实录:MTO项目里四条典型问题的排查链路

4.1 销售订单保存了,MD04里却一片空白

这个问题出现频率最高。有一次客户反馈:VA01明明保存成功,但MD04里看不到任何需求,销售订单也没有任何报错。

我的排查链路是这样的:第一步,先看销售订单行项目用的是哪个项目类别和计划行类别,这个从VA03的“项目”页签就能看到;第二步,查计划行类别的配置,确认MRP相关标志是否勾选、需求类型是否为空;第三步,查物料主数据策略组是否存在、策略组里分配的需求类型是否有效。实际查下来,那家客户的SD顾问在复制新销售订单类型时,新建了一个项目类别,计划行类别沿用了标准项,但需求类型字段没被正确带出来,导致计划行上需求类型空白,MRP根本识别不到。修复方式很简单,调整项目类别和计划行类别的关联配置,刷新销售订单后需求就出来了。

这个案例给我的启发是:MTO链条上的配置点有一个“串联”关系,需求传不传递,不是某一个开关决定的,而是项目类别、计划行类别、策略组、物料主数据四个环节一环比一环咬合的结果。排查顺序务必自顶向下:从销售订单实际使用的项目类别和计划行类别入手,往上查配置,再往下查主数据。

4.2 采购申请上识别不出销售订单

另一个常见问题是,MRP跑了,采购申请也出来了,但采购申请行项目上没有销售订单号,账户分配类别也不对。这种情况我通常会先检查物料主数据的MRP类型,看看是否真的设置成了按单系列。曾经有个项目,顾问把MRP类型设成了“PD”这种按库存类型,策略组却挂的是按单策略组,结果MRP运行的时候,策略组试图走按单逻辑,MRP类型却把它当普通物料,两个参数打架,最后生成了一批没有账户分配类别的PR。

另外还要检查物料主数据“MRP3”视图里的“计划策略组”是不是在按单物料对应的策略组,以及该策略组是否分配了正确的需求类型。如果确认了这些都正确,再看后台是否存在针对采购申请的增强或自定义校验,比如某些项目会把账户分配类别在BAdI里改成别的值。这是最隐蔽的一类坑,建议项目组在测试时就专门设计一个“PR转PO后销售订单号保留”的用例,上线前覆盖一次。

4.3 可用性检查与承诺日期打架

MTO项目里,销售承诺交期和采购周期经常打架,这个矛盾不是系统bug,而是可用性检查规则的配置和业务现实之间没对齐。

SAP的可用性检查基于ATP规则,系统会综合库存、计划收货、计划订单、采购申请等要素,计算出一个“可确认日期”。有些项目把按单物料的可用性检查规则设得过于保守,未把已运行的MRP计划行纳入检查范围,导致系统提示的交期比实际可行交期晚很多,业务员被迫手工改确认日期。

我的处理办法是:在配置里检查规则时,确保“MRP要素”范围覆盖计划订单和采购申请;同时在销售订单类型里把“交货日期建议”设为按可用性检查结果自动带出。这样VA01里业务员看到的交期是真实可承诺的,而不是拍脑袋写的。还有一个细节:按单物料的可用性检查应该放到“销售订单库存”维度做检查,按单库存和普通库存是隔离的,如果ATP规则检查的是普通库存,逻辑上就错了,因为普通库存本来就不允许被按单物料占用。

4.4 生产订单无法下达:BOM里挂着不按单的“漏网之鱼”

生产订单创建不出来,常见报错是“工艺路线不存在”或“物料没有在工厂XX维护”。但还有一种情况,报错发生在下达阶段:系统提示“组件物料在工厂中未维护MRP数据”或“组件无法计划”。

这种情况多半是BOM里某个组件没有维护MRP视图,或者MRP类型/策略组两个字段异常,导致MRP展开到这一层时直接中断。按单生产场景特别容易出这个问题:项目组把顶层成品和底层外购件都设置了M类型,但BOM中间层某个半成品用的是普通MRP类型,MRP顺不下去,整个计划订单状态就卡住了。

这种问题排查不难,用CS15从成品往下展开BOM,逐个节点核对MRP类型、策略组、货源数据,很快就能揪出来。但更有效的还是预防:把按单物料的MRP参数做成“物料主数据初始化模板”,所有按单料必须走模板创建,从源头上避免漏配。

5. 月末结算与运维视角:把MD07和常用对账工具用起来

5.1 按单库存与CO结算:别让库存和成本“悬空”

按单采购+按单生产跑一个月后,关注点会转移到财务结算。按单物料的库存价值挂在销售订单库存上,月底要对账,不能只盯MB52里的工厂库存数,还得按销售订单维度看。用MB5L按物料查询库存价值时,如果物料是销售订单库存,报表里会带出订单号,财务核对时要特别注意这部分。

CO结算方面,按单生产订单在KO88做结算时,结算规则必须指向销售订单。生产订单创建时如果挂的订单类型是按单订单,系统会自动生成按销售订单结算的规则;如果发现结算规则缺失,结算就会报错,需要手动在KO02里维护结算规则为“销售订单”并录入订单号。月末在制品计算用KKAO,把未完工订单的WIP也归集到销售订单上,这样才能完整反映每个订单的实际成本。

5.2 MD07:计划员每天早上的第一屏

运行完MRP后,MD07是计划员快速掌握全局缺口的工具。它按MRP控制参数和异常类型把有问题的物料汇总显示,比如“需求日期早于今天”“可用数量小于零”“计划订单没有确认”等。按单物料多的工厂,我建议给计划员专门建一个MD07变式,筛选条件只保留按单相关的MRP组和异常类型,减少噪音。

MD07里的异常需要在MD04里逐项核实,该转采购订单的转采购订单,该调整计划订单日期的调整,确认不了的要放行到下一次MRP运行。按单采购生产最怕的就是“跑完MRP当没事发生”,MRP只是计算引擎,真正解决交付靠的还是计划员在MD04/MD07里的日常动作。

5.3 F.19:采购差异的常规清算

按单采购物料和普通采购一样,月底要对GR/IR差异做清算。收货和发票校验之间的金额差异会挂在GR/IR科目上,SAP标准做法是用F.19进行月末集中清算,把差异结转到存货科目或消耗科目。按单物料的GR/IR清算原理和普通物料一致,但因为每笔收货都带销售订单号,对账时要格外留意差异是否还能追溯到订单,建议财务在F.19执行后,用采购订单行项目报表做一次抽查。

如果项目里启用了按单核算,还建议在销售订单上挂一个统计型内部订单或在物料账里启用单层差异吸收,把采购价差、生产订单差异最终归集到销售订单维度,这样一单挣没挣钱、哪里挣哪里亏,月底报表能直接看出来。这一步很多企业不做,导致按单成本信息一直是断的,挺可惜。

我个人做完这个项目最大的体会是:按单采购生产系统在SAP里并不是一个“总开关”,它靠的是策略组、需求类型、MRP类型、计划行类别、账户分配类别这些配置点环环相扣地组合在一起。配置阶段耐下心把链条上的每个环节过一遍,操作阶段从VA01到MIGO完整跑几个场景,再配合MD07的日常监控和F.19、KO88这些财务清算工具,这个系统才能真正让业务省心,而不是给计划员和财务添乱。最后一个小建议:上线初期哪怕业务催得再急,也务必留出半天时间,让计划员、采购员、仓库员各自把一张销售订单从下单到发货走一遍,一个人卡住,早暴露一天就能少加一周的班。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询