简介货物外发是SAP物流与供应链管理中高频且易错的环节这份PDF操作指南专门针对SAP WM模块用户完整梳理了从销售订单创建到过账发货的九大核心流程节点包括销售订单创建、外发交付、装运建立、拣货波次与任务生成、库存监控、包装、装运关闭以及最终过账发货。指南为每一步都提供了清晰的事务代码如VA01、VL01n、VL02n等、操作前提、屏幕截图和注意事项让具备一定SAP基础的读者能够照猫画虎快速无误地复现完整业务动作资源包仅含一个PDF文件约2.87MB但内容密度很高既有宏观流程图也有微观字段级说明并额外补充了主数据分配参考和库存检查要点。目前已有93人学习关注适合企业物流业务人员、内部顾问及SAP课程学员使用该指南源自悉尼大学ITLS6010课程教学材料不仅适用于课堂练习也能帮助在实际工作中减少误操作、提升出库效率。它是一份兼顾教学与实战的外发操作速查手册步骤经过真实环境验证具备较高的可复现性无论用于个人提升还是团队培训都能有效缩短学习曲线减少试错成本推动供应链出库业务高效流转。1. SAP货物外发操作从VA01到VL02N的完整链路SAP里的货物外发Outbound是整个物流与供应链管理链条中最高频、也最容易翻车的一段操作。这次拆解的是一份悉尼大学ITLS6010课程的可复现讲义核心覆盖从销售订单创建VA01、外发交货单VL01N、拣货波次VL35_s、拣货任务VL37到过账发货VL02N的完整链路中间穿插装运创建与关闭VT01N/VT02N。和网上零散的Tcode清单不同这份材料把SD和WM两端的单据动作串在了一起每一步都给到可以直接照抄的字段值。适合正在学SAP WM、准备SAP认证或刚接手出库流程的顾问。动手完整走一遍比看十篇原理文章都更能建立手感。下文按我的实操顺序把每一步的动作、关键参数和坑位拆开讲。2. 出库流程全景先理清Tcode地图和业务顺序2.1 主链路从销售订单到过账发货SAP货物外发这一串操作横跨SDSales and Distribution与WMWarehouse Management两个模块。SD负责单据流和定价WM负责仓位和实物移动两边的衔接点是交货单号。整体链路通常写作销售订单VA01→ 外发交货单VL01N→ 拣货波次VL35_s→ 拣货单/TOVL37→ 拣货确认与包装VL02N→ 装运创建VT01N→ 装运关闭VT02N→ 过账发货VL02N这条链路里每个Tcode的职责边界很清晰。销售订单管的是“卖什么、卖多少、卖多少钱”交货单管的是“从哪个仓位出、出多少”波次管的是“怎么按批次集中拣”TO号管的是“谁去拣、拣完放哪”装运则管“走什么路线、谁来运”。最后一步过账发货会把物料凭证生成出来账实才算真正扣减完成。我一般建议新手准备一张草稿纸把这条链路竖着写在上面每做完一个Tcode就划掉一个。原因很简单SAP Outbound是强顺序的单据流前面没跑到指定状态后面的操作界面根本不会给你机会。说得直白点SAP本质上是一个状态机每一步动作都是在改变单据状态状态不到位链路就推不动。2.2 单据流关系销售订单不是仓库的执行依据有一个很容易被初学者忽略的认知仓库执行时并不直接看销售订单而是看交货单。VA01创建的销售订单是销售视角的合同信息VL01N生成的交货单才是仓储视角的执行依据。这个认知决定了后面很多操作习惯——修改发货数量优先改交货单而不是回头改销售订单。举例来说VA01建了一张10件的销售订单VL01N生成交货单后仓库只拣了9件。如果要补齐直接在VL01N行项目中把数量改成10件再补拣而不是回到VA01把订单数量改成9件。订单改少会影响开票和收入确认交货单改少只会影响本次发货两者的业务影响完全不一样。这也是SAP SD模块相关单据串联关系里最基础也最常考的一个点。提示在任何SD/WM项目里判断一笔出库能否回退修改先看物料凭证是否已生成。物料凭证一旦生成后续只能通过退货单或者冲销来处理而不是删单重做。2.3 关键Tcode速查表这次涉及的Tcode不算多难在顺序和参数匹配。我把核心Tcode整理成一张速查表练习时可以直接对照顺序Tcode功能关键点1VA01创建销售订单订单号范围5000000-59999992VA05销售订单列表确认订单已落库3LS24WM库存监控看Available Stock而非Total Stock4VL01N创建外发交货单仓储位置FG00、装运点San Diego5VL35_s拣货波次生成波次必须先Release才产生TO6VL37拣货单管理确认TO号并处理差异7VT01N创建装运路线选Northern Route8VT02N装运变更/关闭关闭后单据锁定9VL02N拣货确认、包装、过账发货物料凭证生成节点注意这张表的顺序并不是所有企业都一样。有些仓库不用波次管理直接对交货单拣货那么VL35_s就不是必选有些公司把装运创建放在过账发货之后运输业务后置。判断依据是仓库作业方式和财务过账要求不要死背Tcode顺序而是理解单据之间的依赖关系。2.4 主数据准备物料号、仓位与目标地课程讲义里有一句特别容易被跳过的提示每位学生被分配了独立的物料号、放置仓位和货物移动目标地具体数据看课程主页的Excel文件。这句话放在企业环境里对应的就是主数据准备环节。实操前我会固定检查三件事。第一用MM03查物料主数据确认物料号有效且WM视图已经激活。如果MM03的显示界面里看不到WM页签说明仓储数据缺失物料根本无法参与WM拣货流程。第二用LS24或者MMBE查目标仓位上的库存确认可用数量满足后续拣货总量。第三用OVL2查装运点与工厂的分配关系再在VT01N或OVL4里确认Northern Route这个路线主数据确实存在。这三件事加起来不超过十分钟却能把后续报错过滤掉一大半。很多人习惯一上来就敲VA01做到VL01N才发现装运点不存在再回头补配置整个节奏就被打乱了。我自己的习惯是在SAP客户端里把Tcode做成一个收藏夹从MM03开始按链路顺序一个一个往下放这样每次练习都是同一套顺序不容易漏。3. 销售订单与库存检查VA01和LS24怎么配合3.1 VA01创建销售订单的字段细节VA01是整条出库链路的起点。进入事务代码后第一屏要维护订单类型、销售组织、分销渠道、产品组。课程讲义里用的标准订单类型是OR销售组织1000分销渠道10产品组00。这几个值不是随便填的它们决定了销售范围也决定了系统读哪套定价过程、哪套装运规则。回车进入创建界面后报价单号这一段在5000000到5999999之间选一个未被占用的号码。讲义里特别提示过如果这个号码已经被其他订单占用SAP会直接弹错误信息。碰到这种情况不用慌换一个号码再试或者去VA03查一下这个号段里哪些号还是空的。教学环境里号码池是共享的经常出现抢号的情况所以这个检查不能省。接下来要维护的字段包括字段值备注Sold-to Party10000Silicon Valley BikesCustomer PO Reference按讲义填写日期企业里要跟客户PO匹配Material讲义分配的物料号必须与Excel主数据一致Quantity待出库数量要小于等于可用库存Billing Block留空非空会卡住后续开票Shipping Condition2000影响VL01N的装运点确定Billing Block这个字段是最容易埋雷的地方。SAP默认可能带出一个值如果你没有把它清掉后面做VF01开票时会直接报错发票根本生成不了。它不会在你保存订单时提醒你属于典型的静默错误。3.2 定价条件PR00的录入与校验销售订单的行项目录入完物料和数量后系统会提示需要录入价格。双击行项目进入明细切到条件页签新增一行条件类型填PR00金额填上回车确认。PR00是SAP最基础的价格条件类型代表销售价格本身。价格主数据维护在事务代码VK11里但订单层面可以直接手动录入金额覆盖。PR00带不出价格时最常见的原因是物料主数据里没有维护销售价格或者价格记录的有效期超出区间。还有一个容易被忽视的坑就是条件记录的“有效至”日期没覆盖当前日期。这种情况订单能保存也不会报错但等走到VF01开票时会发现金额是空的财务那边直接退单。价格这块我的做法是在VA01保存前先看一眼条件页签里的净价值跟你预想的销售金额做一次粗略比对。如果差异很大先别保存退回去检查VK11价格主数据。价格问题的根源永远在数据上不在单据上靠改订单金额去应付只会制造更多对账差异。3.3 Shipping标签页装运条件对后链路的影响在VA01创建订单界面里行项目有一个Shipping页签。讲义里让填2000这个2000是装运条件。装运条件在SAP后台配置里是独立的条目会影响装运点的确定、拆单规则、运输计划读取的表。生产环境里大多数项目会对装运条件做自动派生通过条件技术按客户、按地区自动带出。课程环境没有配自动派生所以讲义直接让手动输入2000。如果你以后在项目里碰到装运条件为空导致VL01N生成不了交货单第一反应应该是去OVL2检查装运点确定规则而不是在订单里硬填一个数字。3.4 LS24库存监控可用库存和总库存的差别LS24是WM模块的库存监控事务代码进入后系统会把仓库库存按存储类型、仓位分列展示。这里最核心的一条约定是看Available Stock不要看Total Stock。Total Stock是账面总库存包含了已经被预留、被运输任务锁定、被质检冻结的部分Available Stock才是真正可以继续分配拣货的库存。课程里给了一个例子STBN-1-145这个仓位有65件可用STMB-1-146有20件可用。如果交货单需要85件那么正确的分配策略是从这两个仓位各拣一部分凑齐85件。只看Total Stock的话你会觉得随便哪个仓位都够结果做VL37拣货确认时系统提示库存不足其实就是没有区分可用和总量。提示在LS24界面里把存储类型、批次、库存类型这几个筛选条件全部打开后再看数据。默认面板可能只显示了部分字段把筛选条件放宽才能看到真实的可用库存全貌。做库存检查时我还习惯顺手跑一次LS26按存储类型汇总所有仓位的库存看看有没有遗漏的可用仓位。仓库里经常出现同一物料散落在好几个仓位的场景只盯一个仓位很容易得出“库存不够”的错误结论。4. 交货单、拣货波次与拣货单VL01N、VL35_s和VL374.1 VL01N创建外发交货单销售订单保存成功后确认无误进入VL01N。系统会询问创建模式课程讲义用的是按销售订单创建外发交货单。交货类型是LF外发交货装运点选San Diego对应的配置值。填完销售订单号回车系统自动带出交货单草稿。接下来的操作有两个关键点。第一向右滚动行项目找到仓储位置字段填FG00。这个字段在默认列视图里不在第一屏很多人不知道要滚屏直接保存结果系统无法确定库位后面的波次和转储需求直接断掉。第二切到Shipment页签在路线字段按F4选择Northern Route。路线数据不存在的话及时回OVL4里查路线主数据配置不要硬填。VL01N 操作顺序供练习对照 -------------------------------------------------- 创建模式按销售订单 交货类型LF 装运点SD01 销售订单号上一环节VA01生成的单号 ---- 进入明细后 ---- 行项目仓储位置FG00 Shipment页签 - RouteNorthern Route 保存后记录交货单号去VL03N核对拣货状态 --------------------------------------------------这段操作虽然短但建议每一步都做一次“状态确认”因为我吃过亏有一次做完VL01N保存系统提示成功但回头VL03N一看拣货状态是“未分配”原因就是FG00没填。这种错完全可以在VL01N保存前发现只要你习惯性地把行项目横向滚动条拉一遍确认所有带星号的必填字段都不是空的。4.2 VL35_s波次生成的核心逻辑波次Wave这个概念很多初级顾问第一次接触会愣一下。简单说波次就是把同一时间窗内、同一装运点的多张交货单合并成一批统一生成拣货任务目的是减少仓库作业人员来回走动的距离提高拣货效率。VL35_s执行时系统会按你指定的条件显示候选交货单列表。课程讲义里按的是装运点San Diego和当天日期。勾选需要拣货的交货单点击生成波次。这里有个容易踩的坑波次生成不等于波次释放。有些项目的后台配置是生成后自动释放有些则要手动在波次维护界面里执行释放操作。波次不释放后面就不会产生转储需求Transfer Requirement简称TR没有TR就没有TO整条拣货链路会卡在这里。波次释放之后系统会自动或手动创建转储需求接着由转储需求生成具体的TO号。在SAP WM的日常语境里你说“这个波次释放了”意思就是转储需求已经创建、TO号已经分配仓库可以开始拣货了。4.3 VL37的TO确认与差异处理VL37是拣货单管理的主界面。进入后按波次号、TO号或仓位等条件筛选系统列出当前待确认的拣货任务。每个TO号对应一条具体的仓库移动指令从哪个源仓位、拣多少数量、放到哪个目标仓位。TO确认是拣货完成的标志。确认方式有三种单个确认、批量确认、差异确认。单个确认适合仓位分散、一笔一笔处理的情况批量确认适合波次拣完一次性提交的场景差异确认则用于实际拣货数量与TO数量不一致的情况。差异确认是仓库里最常见的业务动作。拣货时发现少货、破损、批次不对都需要在VL37里用差异码记录实际数量。差异确认后系统会生成差异凭证后续用来追责或调整库存。如果直接忽略差异用原始数量硬过账库存账和实物账就会慢慢偏离。课程讲义里从VL35_s生成波次后直接跳到VL37确认拣货单再到VL02N做包装和过账发货。这个顺序在WM教学环境里是完整的但实际企业流程可能会有额外步骤比如RF手持终端的扫码确认、质检放行、称重复核等。流程外壳可以变单据逻辑不变波次释放后才有TOTO确认后交货单状态才会从“未拣货”变成“已拣货”。5. SAP WM出库常见问题与避坑记录5.1 VL01N报错“装运点/工厂不存在”现象进入VL01N创建交货单系统直接提示装运点或工厂组合不存在下拉列表一片空白。原因装运点和工厂之间的分配关系没有在后台配置。常见于新部署的SAP环境或者系统被copy之后没有重新维护基础配置。解决用事务代码OVL2检查装运点与工厂的分配。找到对应工厂新增装运点San Diego保存后重进VL01N。如果是S/4 HANA环境还需要确认工厂的装运点有效日期有时系统copy会把日期一起拷过来导致配置看起来“存在”但实际上不可用。5.2 LS24显示库存充足但VL37拣不了货现象LS24查到的可用库存明明足够但VL37生成TO时提示库存不足拣货失败。原因细分下来有三种常见可能。第一种是你看的是Total Stock而不是Available Stock实际可用库存根本不够。第二种是仓位确定策略没有生效物料主数据里缺仓位类型或WM视图关键参数导致系统无法为这笔库存找到合法仓位。第三种是库存类型不匹配LS24里显示的是普通库存但订单要求的是销售订单库存。解决去LS24把库存类型、库存状态、批次筛选全部打开找到真实的Available Stock再核对VL01N交货单行项目里的库存类型字段。如果业务确实要用销售订单库存调整移动类型配置或在物料主数据里维护对应库存类型。不要试图在VL37里手工改数量硬过库存类型错了后面的账全是乱的。5.3 波次生成成功但VL37里看不到TO现象VL35_s波次生成显示成功波次状态看着正常但VL37里刷新多次都没有TO号。原因波次只是把交货单组合成了批次真正生成TO需要波次释放加转储需求创建两个前置动作。很多项目里波次释放是手动操作你没释放自然不会有TO。另一个常见原因是仓位确定失败转储需求无法创建整个链路在TR这一步断掉。解决先看波次维护界面里的释放状态没释放就手动Release。释放后进LB10查转储需求确认TR是否生成。如果TR为空去查仓位确定策略通常是用LS26或LS11查可用仓位找到有效仓位后重新执行波次释放。做完这三步再回VL37TO基本就出来了。5.4 VL02N过账发货后库存扣减异常现象VL02N过账发货执行成功系统提示发货已过账但去MMBE查看库存时发现数量没变化或者扣错了仓库的库存。原因过账发货这个动作在系统里包含多个子步骤创建物料凭证、更新WM库存、删除转储需求、更新SD单据状态。物料凭证可能已经生成但WM库存视图因为后台映射缺失没有同步更新。最常见的配置问题是移动类型在WM侧的映射关系没配好。解决先用MB03查看物料凭证确认移动类型外发发货一般是601或60B和过账日期。再用LS24查看仓库实物库存确认WM视图有没有扣减。如果物料凭证存在但WM库存不变去后台事务代码OWM1检查移动类型的WM映射配置补上对应关系再做一次测试过账。5.5 装运关闭形同虚设单据仍被随意修改现象VT02N执行了装运关闭显示成功但再次打开装运单发现字段仍然可以编辑关闭状态没有起到任何限制作用。原因VT02N的“关闭”并不等于真正的业务完成。在很多项目里用户只是把装运单状态切换成了“关闭”但没有执行后续的发货过账系统就不会真正限制编辑权限。装运关闭的有效性往往要依赖后续的物料凭证状态。解决确认VT02N执行关闭后VL02N过账发货已经完成MB03里能查到对应物料凭证。如果业务上严格要求装运关闭后不可编辑需要去后台把装运状态参数文件配上限制规则同时把对应权限对象从用户角色里收回。标准SAP的默认行为是宽松的收紧状态控制必须靠配置不能靠嘴说。6. 进阶验证从VT02N装运关闭到整链路确认6.1 VT02N的正确关闭方式VT02N在出库链路里负责装运的维护和关闭路径。很多人以为执行一下“关闭装运”就好实际上这个动作受前置状态影响很大。装运单要能被真正关闭通常要求对应的交货单已经完成拣货确认并过账发货。如果交货单还没过账VT02N会提示装运关闭被拒绝或者关闭后状态仍处于“进行中”。我验证装运是否真正关闭的标准动作是进VT03N看状态记录逐行检查最末一条状态码。状态码对应的是“已关闭”才说明装运闭环完成。如果状态还停在“已创建”或“进行中”回VT02N继续处理后补动作不把状态推到闭环就不放行。6.2 整链路验证四步法整条出库链路走完后我固定用四个查询事务代码做端到端验证缺一不可第一步VA03查销售订单看交货状态是否已经是“完全交货/已发货”。这一步确认订单已经完成交货义务。第二步VL03N查交货单看拣货数量是否等于交货数量发货过账状态是否为已完成。第三步VT03N查装运单确认装运状态码为已关闭。第四步MB03查物料凭证用交货单号反查确认移动类型和过账日期正确账实同步。这四个查询覆盖了订单、交货、装运、财务四个视角。只查其中一个视角都有可能在另一个环节漏掉问题。亲眼见过有人VL03N显示已发货但VT03N装运还是空的原因是VT01N根本没有创建成功。6.3 我的收尾习惯从做SAP WM项目测试到现在我保持了一个习惯每次跑出库链路都提前做一张Excel跟踪表一行一个Tcode列有进入时间、单据号、关键字段、状态、备注。任何一环报错我能第一时间定位是哪一步、哪个字段不用从头到尾重跑。有一次给客户做系统演示走到VL37时TO号一直不出来全场安静等屏幕。我扫了一眼跟踪表发现波次在VL35_s阶段没有释放一分钟定位原因手动释放后流程继续避免了一场演示事故。从那以后不管是教学练习还是生产环境测试我都会强制自己走完这条完整链路VA01创建订单LS24确认库存VL01N生成交货单VL35_s生成波次VL37确认TOVT01N和VT02N完成装运VL02N过账发货最后用四个查询事务代码验证状态全部到位再关掉Session。这套方法帮我从“只会敲Tcode”逐步进化到“能讲清楚整条单据流”。希望这份拆解对你有帮助。本文还有配套的精品资源点击获取