
1. 先想清楚一件事内向交货单到底从哪里来做SAP EWM的同行应该都有过这种经历仓库主管火急火燎打电话过来说“ERP系统里明明已经做了交货单为什么EWM这边就是看不到库存”或者反过来“EWM里库存已经有了ERP那边收货过账却一直显示不出来”。两种情况的背后其实都指向同一个问题——没有搞清楚EWM内向交货流程的起点。我一直强调一个观点EWM不是仓库里的一个孤立系统它上面连着ERP外面连着供应商里面还牵着一堆自动化设备。内向交货流程Inbound Delivery Process是整个EWM仓储链路的第一环也是决定后面上架、拣配、发货能否顺畅的关键。如果这一步没捋清楚后面所有流程都会跟着出乱子。先看一张最基本的逻辑图这里就不画mermaid了直接用文字描述ERP侧采购订单 - 供应商发运 - ERP创建内向交货单 - 通过集成机制传送到EWM - EWM生成入库交货单 - 系统自动或人工创建仓库任务WT- 收货确认 - 库存上架到位。听起来很简单但很多人恰恰在最前面就卡住了——EWM的内向交货单不是你在EWM里手工敲出来的它应该是从ERP那边传过来的。这一点决定了整个流程的设计思路要不要做ASN、要不要做预约看板、仓库任务怎么自动触发全都和“交货单从哪来、怎么来”有关。实务中常见的两种集成方式CIFCore Interface经典集成SAP ECC/EWM时代最常用的方式通过qRFC队列把ERP的交货单同步到EWM。事务代码CFM1可以查看CIF集成状态队列卡住的时候ERP侧交货单就传不到EWM。DRFData Replication Framework集成S/4HANA时代逐步主推的方式比CIF更灵活可以按消息类型、按条件配置复制规则。事务代码DRFIMG做配置DRF做监控。无论哪种方式核心思路是ERP是业务单据的发起方EWM是执行方。比如ERP里做了VL31N创建内向交货单通过集成机制同步到EWM生成/SCWM/INB里的入库交货单之后EWM才真正接手仓库作业。提示如果你在做的项目是S/4HANA 2020之后版本新项目尽量直接用DRF别再用CIF了。CIF在S/4里虽然还能用但SAP已经在逐步收紧新项目用旧技术等于给自己埋坑。搞清楚这个边界再往下看主数据和流程设计你的整个思路会清楚很多。这也是为什么我决定先写这篇基础篇——很多问题根本不在配置而在对流程起点的理解。2. 主数据流程跑起来之前先铺好“路”流程是车主数据是路。车再好路没修好照样跑不起来。EWM内向交货流程涉及的主数据比传统WM要复杂得多这也是很多从WM转EWM的顾问最容易低估的部分。2.1 仓库结构收货的“第一落点”EWM不是直接把货收到“仓库”里而是收到一个非常具体的仓位Bin。从仓库号到存储类型到仓位是一层一层的归属关系仓库号Warehouse NumberEWM整个仓储逻辑的最高层级一个仓库号对应一个物理仓库或一个物流中心。存储类型Storage Type相当于仓库内部的功能分区比如收货暂存区、高位货架区、拣货区、发货暂存区。仓位Storage Bin货品实际存放的物理位置小到一个小格子大到一整个地堆区域。配置路径在SPRO - SCM Extended Warehouse Management - Master Data也可以直接用事务代码维护主数据对象事务代码作用仓库号/SCWM/WME维护仓库号主数据存储类型/SCWM/LS01定义存储类型、上架策略、库存类型规则仓位/SCWM/LS02定义仓位包括仓位类型、容量、坐标门/SCWM/DSP01定义收货/发货门工作中心/SCWM/LS03定义RF作业相关的资源存储类型上有几个字段对内向交货特别关键是否允许收货Posting to Stock Type、上架策略Putaway Strategy、是否启用仓位确定Storage Bin Determination、是否启用库存类型拆分。我见过很多项目配置存储类型的时候没勾“收货”相关的选项结果交货单传到EWM后系统提示“无法确定上架存储类型”收货直接进行不下去。2.2 产品主数据系统怎么“认识”你要收的货产品主数据在EWM里叫/SCWM/PRODUCT_MAINTAIN。和ERP的MM03不同EWM产品主数据里有专门的仓储视图比如重量和体积影响仓位容量校验、运输单元装载。批次管理Batch Management是否启用批次收货时是否必须录入批次。序列号管理Serial Number是否启用序列号启用后收货时可能要逐箱扫序列号。收货处理时间Putaway Time影响物流劳动力和排程。货物类型Handling Unit Type决定库存是散货还是托盘化存储。一个非常实用的经验产品主数据的重量和体积一定要尽量维护准确。很多项目忽略这个结果后面上架策略里按重量或体积做仓位分配的时候系统算出来的建议仓位完全不准仓库人员只能手工改仓位自动化全成了摆设。2.3 供应商主数据ASN和预约的前提EWM里供应商主数据是基于SAP BPBusiness Partner的。ERP里维护好了供应商的BP主数据通过集成机制同步到EWM然后你在EWM里还需要针对这个供应商做一些仓储层面的设定比如默认交货的门Door。是否允许ASNAdvanced Shipping Notice即供应商发货前是否预先通知。默认的包装规格。实务中如果供应商发了ASN但EWM主数据没勾“ASN允许”或者没维护包装规格交货单进来后会出现“ASN数据无法处理”的报错收货人员只能手工补录效率大打折扣。2.4 包装规格与包装指令HU管理的核心EWM和传统WM最大的区别之一就是EWM从收货环节就开始管理包装Handling UnitHU。HU可以简单理解成一个可追踪的物流单元比如一个托盘、一个箱子上面有个唯一的编号。要支持HU管理必须配置包装规格PackSpec事务代码 /SCWM/PACKSPEC。包装规格定义了一个托盘能放多少个内箱一个内箱能放多少件商品外箱是什么类型。这样ASN到了EWM之后系统才能自动生成HU结构上架、拣货、发货都按HU来走。这块我后面会单独写一篇展开。这里先记住一个结论没有包装规格EWM的HU管理就是空中楼阁。很多项目上线前测试ASN一直报错最后查下来就是PackSpec没配全。3. 标准内向交货流程动起来从VL31N到库存可用主数据准备好了接下来我们完整走一遍标准的入库流程。我用一个采购订单入库的例子把这个流程的每一步拆开讲清楚。3.1 ERP侧创建内向交货单场景你所在的公司向供应商采购了一批原材料采购订单做好了供应商发货了。现在需要把货物收进仓库。在ERP侧ECC或S/4仓库或采购人员用事务代码VL31N创建内向交货单Inbound Delivery。创建的时候可以参照采购订单、调度协议、或直接手工创建。交货单保存后系统里就有一个LE模块的内向交货单号。这里有个细节如果你只是创建了内向交货单并没有真正发货系统是不会自动传送到EWM的。交货单货物移动Goods Movement或发货过账Goods Issue之后才会触发集成把数据同步给EWM。在实操中你可以通过设置让交货单保存时就触发传输但默认行为一般是发货过账后传输或者通过CIF/DRF里配置的同步规则来控制。3.2 集成传输ERP交货单变成EWM入库交货单ERP的内向交货单通过CIF/DRF传输到EWM后在EWM里生成对应的入库交货单Inbound Delivery事务代码/SCWM/INB可以查看。你会在列表里看到交货单号、供应商、物料、数量、交货日期、门等字段。此刻货物的“虚拟位置”已经到了EWM的收货暂存区但库存还没有真正“落位”。注意CIF/DRF队列是运营中高频出问题的点。如果ERP侧交货单状态显示“已传输”但EWM里查不到大概率是队列积压或同步规则没配对。排查方法EWM侧事务代码 /SCWM/MON 的集成监控器里看通信状态。3.3 EWM侧创建并确认仓库任务入库交货单到了EWM后系统会尝试为它生成仓库任务Warehouse TaskWT。仓库任务简单说就是“从哪个仓位搬到哪个仓位”的作业指令。比如从收货暂存区搬到高位货架A-01-03。任务创建的触发方式有两种自动创建通过PPFPost Processing Framework动作交货单到达后系统自动生成上架WT。手工创建仓库人员用事务代码 /SCWM/TO_CREATE 创建上架WT或者通过RF扫描交货单号后由系统创建。WT创建出来后会有一个“建议仓位”这是系统根据上架策略、仓位占用、产品主数据算出来的。仓库人员拿着RF扫描交货单号按系统提示放到目标仓位然后确认WT。确认WT的事务代码是/SCWM/TO_CONF在RF上对应的是“确认上架”这个动作。确认之后库存数量才真正在目标仓位“落地”EWM库存可用。3.4 从“虚拟”到“物理”的过账回传EWM收货确认后需要通过集成机制把收货信息回传给ERP触发ERP侧的收货过账比如MIGO收货。这一步非常关键——如果回传失败ERP侧不会产生物料凭证财务也就不认这笔库存。回传的配置在ERP侧路径是SPRO - Logistics Execution - Shipping - 接收方的接口集成。常见回传方式有两种手工过账ERP侧用MIGO针对交货单做收货这适合小批量或异常场景。自动过账EWM确认WT后通过调用BAPI比如BAPI_INB_DELIVERY_CONFIRM_DEC自动过账实现“RF扫一下ERP库存就上去了”。实务里我强烈推荐自动过账加差异处理收货数量和交货数量不一致时RF上能直接输入差异码系统自动判断是全收、短收还是超收。这样财务和仓储的信息同步是最能体现EWM优势的地方。4. 几种常见场景的分叉质检、无ASN、HU管理现实世界的入库没有那么多“标准流程”。供应商发错货、货物有问题、没有提前发ASN等等都会让流程分叉。本章把这几种高频变体讲清楚。4.1 质检库存不是所有到货都能直接上架质量检验QI是内向交货流程里最常见的变体。比如来料抽检或者冷冻品、化工品必须全检。在EWM里你可以通过库存类型Stock Type来区分可用库存Available、质检库存QI、冻结库存Blocked。实现方式在EWM内向交货单的项目层面维护一个“质检标识”或者在存储类型配置里设置默认收货库存类型。收货时系统自动把货放到质检存储区QI Storage Type此时库存状态是“质检中”不可用于后续发货消耗。质检员做完检验后在系统里做使用决策Usage DecisionUD事务代码QA11ERP侧或EWM对应的质检处理。UD通过后库存从“质检库存”转到“可用库存”这时候才能被销售订单、生产订单等需求消耗。这个过程里最容易踩的坑是质检库存和可用库存跨存储类型转移后仓位建议不准确。解决方案是配置好Storage Type Search存储类型搜索序列确保UD释放后系统能按规则自动找仓位。4.2 没有ASN供应商没提前通知仓库怎么接ASNAdvanced Shipping Notice在EWM里就像是“电子到货预报”。供应商发货前把发货清单发什么货、发多少、什么时候到提前发给企业系统自动在EWM里预建入库交货单备好仓位和门。等车到了仓库人员只要扫描ASN号码系统就知道该从哪个门收货、货该放哪、要不要质检。但现实是——很多供应商没有这个能力。比如一些小的国内供应商发货前根本不发ASN货到了停车场才电话通知仓库。这种情况下你不能让收货停摆。EWM支持的方案是发货到达后仓库人员在EWM里手工创建入库交货单/SCWM/INB - 创建或者ERP侧VL31N手工创建内向交货单后传输到EWM。然后仓库人员录入物料、数量、批次系统再走后续的WT和上架。实务建议给这种无ASN供应商建立一套“迟到数据补录”流程。比如规定司机到门口必须报单号仓库人员先手工建一个“待收货交货单”车到了再确认。同时和采购部沟通尽量推动关键供应商上ASN不然仓库人员容易变成录入员。4.3 HU管理场景ASN来了包装规格对不对如果供应商发了ASN而且ASN里带了包装信息比如“托盘TRAY01上有20箱每箱50件”EWM收货时可以直接按这个结构生成HU不需要仓库人员重新绑托。但前提是——包装规格必须提前维护好而且ASN里的包装描述要和PackSpec能对上号。系统匹配不了的话就会提示“ASN的包装结构与PackSpec不一致”这时候你有两种选择在EWM里手工调整HU结构再收货。忽略ASN包装信息按实际到货重新打包。这两种操作在事务代码 /SCWM/INB 的“处理数量”和“HU”页签里都能做但相对繁琐。我的经验是ASN对接的质量七成取决于上线前对供应商的培训和验收测试。很多项目ASN功能上线后一直用不起来不是系统不行是供应商报的数据不规范。4.4 不同场景对比场景收货入口质检处理HU处理备注标准采购入库ERP VL31N / ASN传输可选建议启用最常见自动化程度最高无ASN紧急入库EWM手工建交货单可选手工打包依赖人工录入易出错质检入库同上必须通常强制需要配置质检存储类型供应商寄售/VMI入库ERP VLRM / ASN可选建议启用物权归属不同请注意后续消耗逻辑5. 收货差异账实不一致才是一线的常态所有做仓库管理的人都有一个共识流程再完美收货也总有对不上的时候。供应商多发了两箱、少发了一箱、包装破损、货损这些才是仓库日常。本章讲清楚EWM里差异怎么处理。5.1 差异的类型短收Under-delivery实际到货数量比交货单数量少。超收Over-delivery实际到货数量比交货单数量多。质量差异到货数量对但部分包装破损、产品外观有问题。品类差异送来的不是订单里的物料比如型号混了。EWM内向交货流程允许在确认仓库任务的时候针对交货单项目录入“实际收货数量”和“差异原因码”。比如短收10件差异原因码填“SHORT-SHIP”系统会把这个差异通过集成回传给ERPERP侧收货数量也会按实际数量过账不会和EWM对不上。5.2 超收的处理关键是“允差”设置超收不是简单的“多了就收下”。ERP和EWM里都有一套**允差Tolerance**逻辑。比如交货单100件供应商来了105件系统允许超收比例是5%那这105件都能正常收货入库。如果超收比例是3%系统会拒绝录入超出部分仓库人员要和采购确认是拒收这5件还是修改交货单后全收。允差在哪里配ERP侧SPRO - Materials Management - Inventory Management and Physical Inventory - Goods Receipt - 设置Over/Under Delivery Tolerance。EWM侧EWM交货单项目层面的“超收允差”字段也可以从ERP带过来。这块有个容易翻车的地方ERP允差和EWM允差不一致。比如EWM里允差5%但ERP只允3%EWM确认收了105件回传ERP时ERP报“超过允差过账失败”。查问题的时候两边标准不一非常耗时。我的建议是上线前把两边允差规则统一梳理一遍最好共用一个标准。5.3 差异的库存去留差异确认后库存怎么归类也是个常见的业务问题。短收ERP侧按实际数量过账缺的那部分等于自动从交货单里消失了后面供应商补发需要重新做交货单。超收超收部分要么算“暂收”挂在“到货暂估库存”等采购确认价格后再转成正式库存要么直接入可用库存ERP生成对应物料凭证。质量差异坏的、破的、需要退的通常收到“质检库存”或“冻结库存”质检员做UD后决定是退回供应商、报废还是转为可用。从财务视角看库存只有在变成“可用库存”的那一刻才算真正进了资产负债表的存货科目。质检库存和冻结库存虽然在系统里看得到数量但不参与可用库存的消耗和成本核算归集。注意冻结库存的货物在ERP侧不做自动过账或只做“收货到冻结库存”类型的过账后续供应商退货、补货、报废每一步都要做对应单据。财务对这个逻辑非常敏感操作的时候务必和财务提前确认。6. 踩过才会长记性的几个细节最后一章分享几个我在项目里真实踩过的坑有些是配置问题有些是流程设计问题有些纯粹是操作习惯问题。写出来帮大家少走点弯路。6.1 包装规格没维护导致“到货仓库任务”无法生成某项目上线后某个供应商一直反馈“EWM里入库交货单看得到但仓库任务建不出来”。排查下来发现这个供应商的ASN里带了托盘包装信息但EWM里没有维护对应的PackSpec系统找不到“包装结构到仓位”的转换逻辑WT就卡住了。最后是补配了包装规格再把ASN重新处理一遍才解决。经验凡是启用HU管理的仓库每种供应商常见的包装形式整托、整箱、散装都得上线前测一遍。不要到了上线后靠仓库人员手工在系统里临时组托来补救。6.2 RF确认时手滑把整托确认成了散件EWM里同一个交货单项目可以按“整托确认”也可以按“数量确认”。RF界面上扫描一个HU然后点确认和手工输入一个数量再点确认逻辑是完全不一样的。老员工还好新来的仓库人员很容易在界面上选错结果整托的数量被系统当成单件重复确认库存数量翻倍。经验RF界面的字段布局和操作流程一定要让最终用户反复测试再定稿。同时设置“数量确认权限”和“HU确认权限”分开不同用户组只开放对应功能减少误操作概率。6.3 集成队列卡住ERP和EWM两边各有各的话有一段时间某个客户连续出现“ERP侧交货单状态是已过账但EWM库存没增加”的工单。查到最后是CIF队列里有几条消息一直报错后面的交货单全被堵在队列里传不进EWM。更麻烦的是队列报错不会主动发邮件通知等发现的时候已经是业务高峰期。经验上线后一定要把CIF/DRF监控做起来。最简单的方案是每天定时检查队列深度和报错消息复杂一点的可以在EWM后台配置告警作业队列积压超过阈值就发邮件。这个环节别偷懒它对流程稳定性的影响远超你想象。6.4 没有用EWM交货单的“处理数量”功能很多传统WM转过来的顾问习惯在ERP侧用MIGO去处理超收、短收、退换货而忽略了EWM里“处理数量”Quantity to be Delivered和“差异确认”的功能。结果就是两套系统总是对不上账还要靠人工去核对。EWM内向交货单上有几个字段值得重点关注交货数量Delivered Quantity、实际收货数量Goods Receipt Quantity、差异数量Difference Quantity。收货确认后EWM会把这几个字段回传给ERPERP收货过账用“实际收货数量”。合理用好这个机制能省掉大量两边对账的时间。7. 最后聊两句实际的这篇主要把内内向交货流程的骨架讲清楚了从ERP交货单怎么来到EWM到主数据怎么铺垫再到标准流程、常见变体和差异处理。很多细节比如上架策略的配置、门管理、RF界面设计、PPF动作这里只能点到为止后面我会在系列文章里逐个展开。我自己做了这么多年EWM项目最大的感受就一句话这个模块的门槛不在“会不会配”而在“能不能把流程想清楚”。配置都有标准文档可查难的是你面对一个“供应商没发ASN但车已经到了门口”的紧急情况还能知道系统里该按哪个按钮、走哪条路径、会产生什么财务影响。如果你正在做EWM相关的项目或者准备转SAP仓储物流方向建议先把本篇讲的“主数据 — 交货单 — 仓库任务 — 差异处理”这条主线在系统里完整跑通一遍。做顺了后面再一步步加上质检、HU、上架策略这些进阶功能你的基础会非常扎实。下一篇我打算写“上架策略Putaway Strategy的配置逻辑和实战案例”。上架策略是EWM里“自动判断货放哪”的核心很多项目上线后上架合理性差、仓库人员天天手工改仓位八成是这里没调好。到时候会结合具体配置和策略选择逻辑来写欢迎持续关注。