ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

SAP货物外发全流程解析:从外向交货单到PGI过账的实战指南

SAP货物外发全流程解析:从外向交货单到PGI过账的实战指南 简介面向SAP WM与物流供应链管理从业者资源围绕货物外发Outbound场景系统梳理了从销售订单创建到过账发货的完整操作链路。文档逐一讲解VA01创建销售订单、VL01n建立外发交付、VT01n装运、VL35_s拣货波次、VL37拣货任务生成、LS24库存监控、VL02n包装与过账发货等关键节点并在每步附上交易代码、界面截图和可复现的操作指引内容直接对应实际项目场景。资源仅含1个PDF文件压缩包大小2.87MB但把外发业务的主流程、库存检查与后续发货闭环都覆盖在内适合已有一定SAP WM基础、希望提升实操效率的读者。目前已有93人学习参考借助其中的流程图和示例数据读者可快速搭建自己的练习环境理解各环节之间的数据流转和操作顺序。1. 货物外发操作为什么一张外向交货单能卡住整条供应链在SAP物流与供应链管理里货物外发操作看起来不过是创建外向交货单、拣配、过账三步但真正跑过项目的人知道它是SD、MM、WM、FICO的交汇点一张交货单过不去仓库拣不了货财务记不了账整条供应链在物理和账务两个世界同时卡住。下面把可复现的完整路径摊开讲——从销售订单、交货单与PGI的串联关系到VL01N/VL02N手工流程再到VL35N、LSMW、BDC批量选型最后落在外发操作避坑和验证方法上。适合SAP后勤顾问、MM/SD模块用户、供应链计划和仓库管理人员带着实际问题照着做。2. 拆解外发操作的单据链路销售订单、交货单与PGI的串联关系2.1 从销售订单到交货单SD模块相关单据串联关系先说串联关系因为这是外发操作的第一层认知。在SAP里一笔标准的销售发货走的是销售订单Sales Order→ 外向交货单Outbound Delivery→ 发货过账PGI→ 开票Billing这条链。销售订单处理用VA01创建、VA02修改、VA03查看外向交货单用VL01N单独创建也可以用VL10B/VL10C按销售订单批量创建发货过账发生在VL02N里也可以直接用移动类型601在MIGO里过账。SD模块相关单据串联关系本质上就是单据类型加状态更新销售订单确认后产生需求交货单创建后扣减可用量PGI过账后才真正减少库存并生成物料凭证和会计凭证。这里有几个关键点容易被新手忽略。第一销售订单本身不是仓库操作的依据交货单才是仓库根本不看销售订单只看交货单第二一张销售订单可以拆成多张交货单部分交货也可以多张销售订单合并成一张交货单这由项目类别和“部分交货/完整交货”的设置决定第三PGI是库存账和财务账的分水岭过账前物料还在工厂库存里过账后所有权转移给客户后续的寄售库存、在途库存处理逻辑又不一样。所以排查外发问题时第一步永远是定位上下游状态销售订单交没交付完、交货单过账没有、物料凭证号是多少、会计凭证生成没有。单据/动作事务代码在外发链路中的作用销售订单VA01 / VA02 / VA03创建需求确认价格、交期、送达方创建外向交货单VL01N / VL10B / VL10C把销售订单转化为可执行的仓库发货单拣配与发货过账VL02N执行拣配过账PGI更新库存与财务账查看单据流VL03N核查整条链路的凭证串联与状态取消发货过账VL09冲销已过账的PGI恢复库存和账面从ECC到S/4HANA单据串联的主干没有变但主数据的底层变了。ECC里客户主数据是KNA1/KNB1那一套S/4HANA里统一用BPBusiness Partner管理事务代码BP配置客户角色、装运方和收货方。如果BP配置里缺了装运方或收货方编号VL01N创建外向交货单时就会报“未给客户X确定装运方”这不是权限问题是主数据不完整。常见做法是在BP维护界面把“售达方、送达方、付款方、开票方”四个角色都补全再做一次地址确定。另外要理解可用量检查ATP在这条链里的位置。销售订单创建时SAP已经按ATP规则锁定了部分需求创建交货单时系统会再次检查可用量并把订单的需求转移到交货单上。所以外发操作的库存视角不是“工厂总库存”而是“非限制库存减去已确认需求”。这也是后面避坑章节里“库存明明够却过不了”的根源。2.2 三个必查配置点装运点、交货类型与BP客户主数据装运点Shipping Point决定了交货单从哪个地点发出也决定了运输路线和装运成本。系统确定装运点用的是装运条件、装载组和工厂地点三个维度配置路径在IMG里是“后勤执行 → 装运 → 基本发运功能 → 装运点确定”维护表是TVSZ/TVST。VL01N创建交货单时系统按销售订单里的装运条件、装载组和工厂自动匹配装运点。如果匹配不到最常见的原因是工厂没分配到装运点或装载组为空。这里我一般会先用事务代码OVL2看装运点确定规则而不是急着改销售订单。交货类型Delivery Type决定交货单的号码段、项目类别确定和状态更新逻辑。标准配置里销售订单发货用LF交货类型退货用LRSTO转储用NL。每个交货类型都挂在装运点下装运点加交货类型的组合才能确定号码范围。项目类别确定Item Category Determination是另一个黑匣子销售订单行项目类别是TAN对应到交货单的项目类别也是TAN规则存在配置表TVEP/TVEPZ里。我踩过的坑是销售订单行项目类别是对的但交货项目类别被改成了TAQ免费交货导致过账时科目确定走了免费发货的逻辑成本全部进销售费用财务月底对账翻车。所以查配置时销售订单项目类别配置界面要打开看两层订单层和交货层。BP客户主数据在S/4HANA里的地位比ECC更重。货物外发涉及的不只是“卖给谁”还有“从哪个地点发出、送到哪里、跟谁结算”。同一个业务伙伴可以有不同的售达方、送达方、开票方、付款方角色每个角色维护的地址、联系人、送达条件都不一样。创建外向交货单时收货方和送达方如果维护不全后续POD交货证明和运输执行都会出问题。另外记住一点BP主数据的改动在ECC里叫客户主数据扩展在S/4HANA里叫BP角色分配两者切换容易引起字段不一致跨系统传输时务必带着传输请求SAP请求一起走否则生产机经常出现“字段不存在”的怪错。公司里如果习惯用SAP Fiori操作SM30对应的Fiori应用“Maintain Table Views”也能查这些配置表但改配置还是老老实实回SAP GUI避免前台应用把表锁住。2.3 部分交货与拆单为什么一张销售订单会产生多张交货单外发操作里最容易被业务挑战的是“我明明只下了一个销售订单为什么系统拆出来三张交货单”。这不是系统抽风而是配置在起作用。当销售订单行项目允许部分交货Partial Delivery配置项在项目类别的“部分交货”里并且每个计划行的可交货日期不同那么每个计划行或每个可交货日期都可能生成独立的交货单。反过来多个销售订单如果工厂、装运点和交货日期一致可以通过VL10B合并创建一张交货单但合并的前提是项目类别允许合并。拆单还有一个常见场景同一张销售订单里有多个行项目有的行项目走正常销售发货移动类型601有的行项目是委外加工或第三方销售它们在交货单创建时会被分配到不同的交货项目类别。我处理过一个案例一张订单10个物料系统生成了两张交货单业务以为是重复交货后来查下来是一行物料的项目类别被改成了“免费项目”。交货类型和装运点虽然一样但因为项目类别的交货拆分标志不同就拆出去了。所以拆单不是问题不知道为什么会拆单才是问题。排查时用VL03N打开两张交货单对比抬头和行项目类别再回销售订单VA03看行项目类别差异基本一目了然。3. 手工执行货物外发VL01N创建、VL02N过账、VL03N核对的完整流程3.1 用VL01N创建外向交货装运点、可用量检查与保存手工创建外向交货单是最基本的操作所有自动化和批量手段最后都逃不开这一套界面逻辑。在SAP GUI 8.10里登录系统后输入事务代码VL01N回车进入“外向交货的创建”界面。第一屏需要填三个东西销售订单号、装运点/接收方、交货类型可选系统默认按订单确定。填完直接回车系统会根据销售订单的装运点和装载信息带出交货单抬头并把订单行项目复制为交货项目。关键在第二屏。项目页签里可以看到每个物料的数量、批次、库存地点和可用量状态。系统默认会做可用量检查如果物料启用了批次管理和序列号库存地点又是非限制库存这里就会显示可用量充足如果项目行显示“可用量检查未通过”先不要硬给它过账而是去看工厂和库存地点到底够不够。我这里说的够不够不是账面库存够不够而是“非限制库存加可转库存”够不够质检库存和冻结库存是不能直接发货的。保存前把抬头和项目页签过一遍重点看装运点、库存地点、项目类别三个字段这三个字段决定后面过账的移动类型和科目。保存时系统会分配交货单号并提示“外向交货单已保存”。此时整张单处于“已创建、未拣配、未过账”的状态库存还没有任何实际变化。很多人到这里以为货已经发出去了其实没有——对仓库来说这张交货单只是一张待拣货的指令真正动库存要到VL02N过账。3.2 用VL02N完成拣配与发货过账批次、序列号与库存类型VL02N是外发操作的真正主战场。交货单创建之后仓库去拣货然后做发货过账Post Goods Issue简称PGI。操作路径是VL02N输入交货单号回车在项目页签确定实发数量点击“拣配”Picking或直接点击“发货过账”按钮。系统过账时会写物料凭证MB03可见、更新库存、产生财务凭证FB03可见同时把交货单的状态推到“已完成过账”。批次管理物料在过账前要做批次确定。如果客户要求批次可追溯这步不能省交货单项目页签里双击批次字段系统弹出批次确定窗口按批次确定策略匹配批次。手动策略下仓库可以在批次窗口里看到批次状态非限制/冻结和批次库存。序列号物料更麻烦一点过账时系统要求输入序列号列表序列号必须处于可发货的库存状态否则报错。序列号参数文件在物料主数据里配置如果物料既管批次又管序列号外发过账的步骤顺序是先确定批次再录入序列号最后过账。顺序反了会报“序列号不在批次中”。库存类型的选择是另一个容易搞混的点。交货过账默认是从非限制库存发出但如果销售订单行项目允许特殊库存比如客户寄售库存、在途库存、项目库存过账时要明确库存类型和特殊库存标识。客户寄售发货用的移动类型是633/634而不是601在途库存用特殊库存标志“W”项目库存带WBS要素库存地点可能是项目专属的。我习惯在过账前先在VL03N或MB03看一眼物料凭证的历史移动类型确认这条货以前是怎么走的再决定当前过账的库存类型避免同一种物料两种移动类型混用导致库存账混乱。若交付需要收货方签字确认可启用PODProof of Delivery过账后在交货单的POD页签里维护交货证明这一步对后面的开票有直接影响。3.3 用VL03N核对单据流状态字段表与常见异常VL03N不只是看数据它是外发操作的“仪表盘”。进入VL03N输入交货单号菜单路径“转到 → 抬头 → 状态”能看到整张交货单的状态组合装运状态、过账状态、开票状态、POD状态。状态字段在不同版本里用不同编号表示但常见字段基本一致状态字段典型值含义整体交付状态A / B / CA表示未开始B表示部分交付C表示已完成装运状态A / B / C是否已做装运/运输计划C表示装运完成过账状态PGIA / B / CC表示已发货过账物料凭证已生成开票状态A / B / C外发后是否已开票C表示发票已出具POD状态A / B / C收货方是否已确认交货完成状态组合能快速定位问题过账状态是C但库存没扣多半是物料凭证被冲销了或过账后来被取消整体交付状态是B但过账状态是A说明拣配没做完或拣配数量不完整开票状态是A且POD状态也是A可能就是卡在等待交货证明或者信用冻结导致无法开票。此时再配合VL03N的“单据流”菜单环境 → 单据流能看到销售订单 → 交货单 → 物料凭证 → 会计凭证的完整链路哪一个环节缺失问题就在哪一环。SAP Workflow如果参与了交货审批单据流里还会出现审批任务节点冻结也是常见原因之一。4. 批量外发怎么落地VL35N、LSMW、BDC的选型与最小可运行代码4.1 三种批量方式怎么选数据量、规则变化与日志要求外发操作一旦量上来手工VL01N/VL02N就不够了这时要选批量方案。常见的有三类VL35N批量处理、LSMW批导、BDC录屏回放。VL35N是SAP标准的“外向交货批处理”事务代码界面跟VL02N类似可以批量输入多个交货单号再统一执行拣配或过账。它的优点是标准功能字段校验和状态更新都在缺点是只能处理已经创建好的交货单做不了“从销售订单批量创建交货单”这一步。创建交货单的批量操作通常用VL10B/VL10C选销售订单后批量创建。LSMW是项目里备受欢迎的批导工具适合处理有变化的数据比如批量导入交货单抬头字段、批量维护客户主数据。LSMW的录屏步骤本质上是BDC的图形化封装它能把一组屏幕操作固化成批导流程每次换数据跑一遍。优点是业务人员能自己维护映射关系缺点是录屏对屏幕变化极度敏感升级或打补丁后屏幕字段变了就要重新录很容易出现玄学问题昨天还能跑今天报“找不到屏幕元素”。BDC则是直接从ABAP层面用代码控制事务回放适合把外发过账嵌进报表或接口程序里。选型时给一个实用标准数据量大且规则固定优先VL35N或者直接用BAPI主数据或单据头批量维护用LSMW要把外发动作嵌到自己的程序或接口里用BDC。三者不是互斥的很多项目是VL35N处理日常BDC处理异常单。批量方式适用场景依赖条件日志可追溯性VL35N已创建交货单的批量拣配/过账交货单已存在无复杂弹窗中等靠交货单状态LSMW主数据、单据头的批量维护屏幕稳定映射关系清晰较好有批导会话日志BDC嵌进报表、接口的自动化过账ABAP开发与屏幕录屏好SHDB可回放4.2 BDC批量过账代码VL02N的录屏回放与参数说明BDC的原理是模拟用户对事务的屏幕操作。先用SHDB录一遍手工过程系统把每次回车、每个字段输入都记录成BDC表再用ABAP调用CALL TRANSACTION回放。下面以VL02N批量发货过账为例给出一个最小可运行框架。注意不同ECC和S/4版本的屏幕号略有差异上生产前一定用SHDB重新录一遍核对屏幕程序名和字段名。REPORT zbdcl_vl02n_pgi. DATA: gt_bdc TYPE TABLE OF bdcdata, gs_bdc LIKE LINE OF gt_bdc, gt_msg TYPE TABLE OF bdcmsgcoll, gs_msg LIKE LINE OF gt_msg, gv_mode TYPE c VALUE E. E出错进调试, N后台安静跑批 PARAMETERS: p_vbeln TYPE vbeln_vl OBLIGATORY. 交货单号 * 第1屏VL02N初始界面输入外向交货单号 gs_bdc-program SAPMV50A. gs_bdc-dynpro 1000. gs_bdc-dynbegin X. APPEND gs_bdc TO gt_bdc. CLEAR gs_bdc. gs_bdc-fnam LIKP-VBELN. gs_bdc-fval p_vbeln. APPEND gs_bdc TO gt_bdc. CLEAR gs_bdc. gs_bdc-fnam BDC_OKCODE. gs_bdc-fval /00. Enter键 APPEND gs_bdc TO gt_bdc. CLEAR gs_bdc. * 第2屏交货单总览触发发货过账动作 gs_bdc-program SAPMV50A. gs_bdc-dynpro 1001. gs_bdc-dynbegin X. APPEND gs_bdc TO gt_bdc. CLEAR gs_bdc. gs_bdc-fnam BDC_OKCODE. gs_bdc-fval WABU. WABU是VL02N发货过账的OK_CODE APPEND gs_bdc TO gt_bdc. CLEAR gs_bdc. * 调用事务收集返回消息 CALL TRANSACTION VL02N USING gt_bdc MODE gv_mode UPDATE S MESSAGES INTO gt_msg. IF sy-subrc 0. WRITE: / 事务返回异常SY-SUBRC , sy-subrc. ENDIF. LOOP AT gt_msg INTO gs_msg. WRITE: / gs_msg-msgtyp, gs_msg-msgv1, gs_msg-msgv2, gs_msg-msgv3, gs_msg-msgv4. ENDLOOP.逻辑说明这个报表先往BDC表里塞两个屏幕的操作第一屏填交货单号后回车第二屏触发过账按钮。CALL TRANSACTION把操作回放给VL02N并把系统返回的消息收集到gt_msg里输出在屏幕上。它等价于手工打开VL02N、输单号、点“发货过账”。参数说明MODE E表示遇到错误进入调试模式适合开发测试上线跑批时我建议改成N让它安静地把错误收进消息表不然一单报错弹一次调试框整夜都别想跑完。UPDATE S是同步更新数据库保证过账结果立即生效UPDATE A是异步性能好一点但有延迟不适合这种需要及时反馈的过账。p_vbeln用OBLIGATORY强制输入防止没人给单号就乱跑。这里要提醒纯代码录屏过账只是最朴素的实现方式。如果交货单启用了WM/EWM或者有大批次确定逻辑录屏往往会卡在弹窗上因为弹窗里的字段名和屏幕号在不同系统里不稳定。这种场景下我更推荐用BAPI_OUTB_DELIVERY_CONFIRM_DEC这类标准BAPI过账代码更稳但可复现性和透明度不如BDC。做项目时我的血泪经验是先把BDC跑通当底座再在坑位上追加BAPI处理。4.3 批量操作后的日志检查SHDB回放、SLG1与PFCG权限批量跑完不代表结束日志检查才是生产操作的安全网。BDC方式最直接的回放工具是SHDB进入后能看到每条录屏和批量执行的记录双击任意一条可以看到整个屏幕操作过程过账失败时SHDB能看到卡在第几个屏幕、哪个字段报错。LSMW则在批导会话里直接记录成功和失败条目数双击失败的条目能跳转到屏幕错误位置比BDC更直观。VL35N批量处理的结果体现在交货单状态上跑完用VL35N的日志清单或VL03N逐个抽查即可。应用日志方面很多项目会在过账程序里写SLG1日志事务代码SLG1查看把外发过账的关键参数、数量和返回消息写进应用日志对象。这样即使BDC的消息没来得及看事后还能按时间、按用户、按对象把当时的数据捞回来。另一个容易被忽视的是权限BDC回放的是用户权限而不是程序权限也就是说跑批的这个SAP账号必须要有VL02N的执行权限以及对应工厂和移动类型的权限。批量账号的权限通常通过PFCG角色来配我见过太多“程序报错”最后查出来是账号缺权限的案例。遇到过账报权限不足时用SU53看最近一次权限检查错误而不是翻系统日志这是SAP Basis老手和新手的分水岭。如果你所在的系统是S/4HANA且团队在用RAP做扩展也可以考虑把外发过账封装成业务对象行为底层逻辑还是这套BDC或BAPI只是把触发放到Fiori应用层。5. 货物外发操作避坑指南五类高频问题的现象、原因与解决5.1 可用量检查不过库存确定后为什么200.000 EA一直未清现象VL01N创建外发交货单时系统提示可用量检查未通过明明MB52看工厂库存有货就是不能创建或者交货单已创建但过账时报“库存确定之后200.000 EA数保持未清状态”。这是外发操作里被问得最多的一类。原因可用量检查看的是“非限制库存加上收货在途再减去已确认需求”不是账面总库存。同一个工厂下库存被细分到质检库存、冻结库存、销售订单库存和项目库存非限制不足就过不了。状态未清的常见原因还包括批次没有确认、库存地点没有维护到交货单项目、或者这张交货单的需求被其它交货单占用了也就是常说的重复需求分配。解决先用MB5B按物料、工厂、库存地点查期间库存和已分配量再看SAP库存细分里非限制部分到底有多少。确认非限制库存足够后回到VL02N检查项目页签的库存地点是否被自动带错必要时手动改成正确的库存地点。如果是批次物料用MSC2N查批次状态是否为受限然后用MSC1N做批次状态更改把“仅用于质检”改成“非限制”。最后如果仍提示未清检查可用量检查规则的配置事务代码OVZ9检查ATP检查控制。常见做法是把检查规则从按批次改到按工厂或按库存地点但这一改动影响面大必须走传输请求不能在生产机上直接改。5.2 批次/序列号异常自动确定策略与批次状态现象VL02N做过账时系统自动弹出的批次里找不到想要的批次或者手工录入批次后报“批次状态不允许该移动类型”序列号物料则报“序列号不存在”或“序列号已被使用”。原因批次找不到通常是批次确定策略事务代码OMB2的条件里限制了批次库存地点、有效期或客户要求策略匹配不到可选批次。批次状态不允许过账是批次状态和移动类型不匹配。序列号报错多为序列号参数文件配置错误物料主数据里序列号参数文件没挂或序列号已经用于其它交货单也就是常说的序列号串号。解决批次问题先确认手工是否可选在VL02N的项目行双击批次字段弹窗里把“仅限合格批”勾掉看是否显示如果手工也没有就要改OMB2里的策略选择和排序字段。序列号问题用IQS3/IQS4查序列号当前状态确认它是否已经过账到别的单如果确实串号用VL09冲销发货后重新过账并重新录入序列号。这里给一个习惯批次加序列号双管理的物料外发过账时先检查交货单行项目的批次候选列表再跑序列号分配免得中间报错拆两步走很痛苦。5.3 过账报科目或成本要素错误OBYC/OKTZ与移动类型现象VL02N点发货过账系统报“科目确定错误”或“成本要素 5001010200 没有分配给成本构成”甚至SAP FICO那边对账时发现销售收入借贷凭证金额不对。原因外发过账要确定两个层面的账物料消耗和库存减少的价值科目以及销售成本科目。前者在OBYC评估控制里按评估类、移动类型和事务码配置总账科目后者在销售订单的成本对象里关联成本要素。移动类型不同走的科目确定规则不同601走销售成本633/634走寄售641/642走关联方。成本要素报错往往是成本要素没有分配到成本构成里或者评估类没有挂到总账科目。解决先看移动类型确认这条交货该走哪个科目再用事务代码OBYC按“事务码加评估类加评估修改”查科目配置重点核对BSX库存记账和GBB消耗记账两个事务码。成本要素用OKTZ打开成本要素主数据确认类型是初级成本要素且已分配给成本构成没分配就在OKTZ里补或用KANK把成本要素分配到成本构成。出问题后还要考虑是否做了SAP MIGO过账增强很多工厂会在MIGO/VL02N过账时挂增强把金额按内部订单或成本对象重分类如果增强点条件有问题会出现手工过账正常、批量过账金额不对的情况。此时把增强检查一遍重点看移动类型和过账参数是否被覆盖。5.4 交货单冻结过账按钮是灰的通常是这四类锁现象VL02N打开交货单拣配按钮和过账按钮全是灰的双击项目可行但就是不能过账。用户第一反应是“系统卡了”实际上是被冻结了。原因交货单冻结的来源主要有四类。一是抬头或行项目级的手工冻结在项目页签的“交货冻结”字段里打了勾二是信用冻结客户超信用额度SD信用管理事务代码VKM3把交货单按信用冻结三是WM/EWM未确认仓库任务没有完成交货单在WM层被锁住四是SAP Workflow审批未结束装载或发运需要审批的单据会挂在待办里。解决先看冻结字段VL02N转到项目页签看“交货冻结”字段是否有值有值就手工解冻菜单路径“编辑 → 冻结/解冻”。信用冻结去FD33查客户信用额度或VKM3释放。WM未确认去LX03/LT03查仓库任务状态EWM则看ERP和EWM的队列一致性。Workflow审批去SBWP收件箱查待办任务。我处理过一个最隐蔽的案例抬头冻结字段是空的但行项目冻结字段有值而且值显示为空白字符串界面看不出差异最后用SE16N查表LIKP-LIFSK和LIPS-LIFSK对比才发现是行级冻结。所以排查冻结时抬头和行项目两个层面的字段都要看不能只看抬头。5.5 过账成功但后续开票失败POD、定价与会计凭证现象发货过账成功物料凭证和会计凭证都生成了但VF04做开票的时候找不到这张交货单或者开票金额和销售订单不一致。原因开票基于交货单但开票有两个前置条件交货单过账已完成并且如果启用了PODPOD必须是已完成状态。基于POD的开票在寄售或按签收结算的业务里很常见收货方没有POD确认发票就挂不起来。金额不一致则多半是定价条件没复制到交货单或者交货单里改了数量导致条件金额重算。解决先回VF04用“按交货单开票”的视图查没有就说明开票状态或POD状态不对打开VL03N看单据流和状态页签POD状态未完成就去VL02N的POD页签手工确认交货证明。金额问题回到VA03看销售订单定价再到VL03N的“条件”页签对比定价条件丢失时用VA02重新执行定价或检查定价过程配置OVKK。如果发票已经开错走VF11冲销后再开发票而不是直接改发票金额改发票不冲销凭证会让后续清账乱掉。6. 验证与善后用单据流、报表和VL09确认外发操作是否干净6.1 单据流核验三步走VL03N → MB03 → FB03一张外发单做干净了要经得起这三步追问交货单状态是不是C物料凭证是不是正数会计凭证借贷平不平我的核验习惯是VL03N查交货单状态和单据流点开物料凭证号跳MB03确认移动类型和数量MB03里点“会计凭证”再跳FB03看借贷科目和金额。三步走通这张单在业务和账务两个层面都落地了。6.2 用MB51、MD07、MB5B核对外发后的库存与需求过账后第二天最怕库存对不上。我用三个事务代码交叉验证MB51按工厂、移动类型、物料查物料凭证清单确认没有异常重复过账MD07打开库存/需求清单看这张交货单产生的需求是否已清MD07在外发场景里特别有用能直接看到销售订单需求、已分配量和库存覆盖情况MB5B查物料在期间的期初期末库存和收货/发货量。如果销售订单还有未清量MD07会显示需求依然挂着配合VL03N看剩余数量就知道是部分交货还是漏过账。6.3 VL09取消发货过账后悔药怎么吃才不苦最后说“后悔药”VL09取消发货过账。它适用于交货单已过账、但还没开票的场景。操作时输入交货单号系统列出已过账的物料凭证勾选后执行取消物料凭证被冲销库存回到过账前状态。这里有几个硬约束已经开票的不能直接取消过账后库存已被后续凭证消耗的也取消不了WM/EWM环境下要先撤回仓库任务。我自己的教训是取消前一定先查单据流确认没有后续凭证再操作取消后回到VL03N确认过账状态回到A否则这张单在业务上其实是“半取消”状态后面会踩大坑。希望帮到你。本文还有配套的精品资源点击获取
返回列表