简介针对SAP销售寄售业务配置和操作的PDF资料面向SD顾问及实施运维人员覆盖寄售补货、销售结算、寄售退回及寄售退货的完整业务链路。文档详细拆解KB、KE、KR、KAN四种单据类型对应的行项目类别、计划行类别、移动类型及交货单配置并以ZKB1、ZKE1等自定义订单类型为例演示销售区域分配、编号范围与默认交货类型等后台设置。同时结合实操说明寄售退回与已销售退货在会计凭证和发票处理上的差异指出未销售退回无财务影响退货则需恢复特殊库存并生成退货发票针对开票过程中的发票冻结、获利能力分析字段分配报错也给出处理方向。资源包含1个PDF文件大小1.72MB已有1907人学习下载可帮助读者快速理解SAP寄售业务逻辑并完成系统配置。1. SAP销售寄售业务先发运后销售的特殊模式配置错了库存和凭证全乱SAP里的销售寄售业务简单说就是先把货放到客户仓库但货权还在自己手里客户真正卖出去那一刻才跟你结算。这个模式在快消、汽配、医药流通行业特别常见也是SD顾问和FICO顾问绕不开的一块。很多新手一上来就把它当成普通销售订单处理结果补货单开了发票、结算单没开票库存和会计凭证全乱套。这篇文章按订单类型、操作路径、配置避坑三层拆解销售寄售业务从补货到结算再到退回的完整闭环适合正在做寄售实施项目的SD顾问、需要配后台的FICO顾问以及负责寄售业务的关键用户照着落地。2. 寄售单据类型与移动类型先搞懂四个订单都是干什么的2.1 KB寄售补货货从自有仓到客户仓不产生会计凭证寄售补货订单KB是整个寄售业务的起点。它做的事是把货物从自有仓库转移到客户寄售仓库在SAP里体现为客户特殊库存增加。注意这步没有会计凭证因为所有权没有转移只是物理存放位置变了。很多新手在这里犯的第一个错就是把补货单当成正常的销售订单去开票这是不对的。在SAP中补货订单一般是ZKB1行项目类别ZKBN计划行类别E1移动类型631。交货单类型是LF交货行项目类别TAN。移动类型631在SAP标准里是“用于寄售的货物发出”产生的物料凭证只更新库存数量不产生财务凭证。配置时真正要盯的是订单类型、行项目类别、计划行类别三层是否都指向了631任何一层被覆盖成601标准销售发货补货就会变成带会计凭证的正常销售。业务上的意义在于货到了客户仓库客户可以先陈列、先试用但还没形成债权债务关系。对销售方来说这是抢占市场的一种方式代价是资金被占用库存风险自己扛。如果你的客户是大型商超或总经销商他们对寄售的需求往往很强因为不占用他们资金。2.2 KE寄售结算客户卖出去那一刻才是真正的销售当客户把寄售产品卖给了最终消费者才触发我们和客户之间的结算。这时要创建寄售结算订单KE系统会减少客户寄售库存同时增加应收账款产生会计凭证。这步不需要拣配但要开发票。KE订单类型是ZKE1行项目类别ZKEN计划行类别C1移动类型633。移动类型633对应“寄售发出的货物”它和631的区别在于633会产生会计凭证把寄售发出的货物成本转出同时确认收入。从业务角度看633才是真正的销售确认点之前的补货只是货物的空间转移。这里有个容易混淆的点寄售结算订单不需要做拣配Picking因为货物已经在客户仓库了不需要物理移动。但必须开具发票因为结算的核心动作就是开票形成应收。如果在结算时系统要求你做拣配那说明交货单类型或者行项目类别里的“拣配”标志没配对可以回查配置。2.3 寄售退回与寄售退货两条逆向链路的本质区别寄售业务有两类逆向流程很多人分不清。寄售退回KA指的是客户把寄售库里的尚未销售的货退回来。货物直接返回我方自有仓库不发生财务关系。退回订单ZKA1行项目类别ZKAN计划行类别F1移动类型632。这个移动类型和补货的631正好是一对逆向操作632过账后客户寄售库存减少自有库存增加。寄售退货KR则是针对已经结算过、开过发票的货物。客户已经确认购买了现在要退。这时需要先把货物退回寄售仓库再参照未销售退回的方式退回自有仓库。流程上要先创建寄售退货订单把已结算库存转化为寄售库存再走退回流程。在退回寄售仓库时会产生退货发票贷项凭证。KR订单类型是ZKR1行项目类别ZKRN计划行类别D0移动类型634。注意对于KR订单的行项目设置里设置了“对订单出具发票”所以开票对象是订单本身而不是交货单这一点在操作时要格外留意。如果改动了订单类型配置不开票环节的报错会让你绕很大一圈。2.4 移动类型和单据类型对照表把四个订单类型的核心配置参数汇总成一张表做配置和测试的时候直接对照业务动作订单类型行项目类别计划行类别移动类型交货单类型会计凭证寄售补货ZKB1ZKBNE1631LF无寄售结算ZKE1ZKENC1633LF有寄售退回ZKA1ZKANF1632LR无寄售退货ZKR1ZKRND0634LR有这里要提醒一下移动类型631/632是一对补货和退回633/634是一对结算和退货。理解了这个成对关系配置的时候就不容易搞混。631是自有库存减少、客户特殊库存增加632是客户特殊库存减少、自有库存增加633是客户寄售库存减少、应收账款增加634是应收账款减少、客户寄售库存恢复。四个移动类型两对方向本质都是在回答同一个问题货权什么时候变了。3. 寄售操作全流程从订单创建到发票开具的每一步3.1 寄售补货ZKB1订单、外向交货与发货过账第一步创建寄售补货订单使用事务码VA01订单类型选择ZKB1。系统确认的装运点是4004装运点配置如果不对后续创建外向交货单时会提示“没有找到交货单类型”那通常是销售区域或装运点没分配好。建单时行项目类别会自动带出ZKBN计划行类别E1不需要手工去改。创建完订单后用VL01N创建外向交货单再做VL02N发货过账。完成以后用MMBE或MB52查看库存你会看到客户特殊库存里多了一笔寄售库存。注意MMBE查看时要在初始画面就勾选“特殊库存”相关的选项或者在库存列表里展开“客户寄售”节点否则会误以为发货没成功。整个过程用餐巾纸画一遍就是这样# 补货流程事务码顺序 VA01 创建寄售补货订单ZKB1 VL01N 创建外向交货单 VL02N 发货过账 MMBE 查看库存切换到客户寄售视图这里的核心判断标准是发货过账后只有物料凭证没有会计凭证。如果发现产生了会计凭证说明移动类型配置错了很可能用了标准的601而不是631需要回查订单类型里行项目类别对应的移动类型。我在项目里遇到过复制订单类型时把标准订单KB复制过来但没改移动类型的情况最后查了半小时才发现是计划行类别E1下面的移动类型字段被带成了601。3.2 寄售结算ZKE1订单、交货过账与发票开具当客户报告说“这批货我卖掉了”才做寄售结算。同样用VA01创建订单订单类型选ZKE1。此时系统带出移动类型633交货过账后库存减少的同时产生会计凭证。这时候和补货最大的区别就是有财务凭证了借方应收账款贷方收入同时结转成本。# 结算流程事务码顺序 VA01 创建寄售结算订单ZKE1 VL01N 创建外向交货单不需要拣配 VL02N 发货过账 VF01 开具销售发票寄售结算的发票环节最容易出问题。我在实施项目中遇到的典型报错是VF01开票时报“分配值字段”相关错误原因是获利能力分析CO-PA的值字段没有配置完整。解决路径是# SPRO配置路径 IMG - 控制 - 获利能力分析 - 实际值流水 - 开票凭证的传送 - 分配值字段把KE30/KE24分析里需要看到的字段比如客户、物料、销售组织这类特征分配到值字段保存后重新VF01就能正常开票。这个报错本质上是CO-PA的字段目录和开票凭证的字段映射不一致不是寄售本身的问题但在寄售结算开票时特别常见。另外寄售结算虽然是外向交货但不需要拣配和发货很多公司为了效率会把交货单类型单独配置成不要求拣配的而只看发货过账这个动作。3.3 寄售退回与寄售退货两条逆向流程的操作差异寄售退回未结算的操作路径相对简单和补货是镜像关系# 未结算寄售退回流程 VA01 创建寄售退回订单ZKA1 VL01N 创建退货交货单 VL02N 发货过账移动类型632无会计凭证这里注意632过账后客户寄售库存减少自有库存增加。整个过程不涉及发票。如果客户要求退的是已经结算过的货那就不是寄售退回而是寄售退货。它需要分两步先创建寄售退货订单ZKR1把已结算的库存转回客户寄售库存同时做退货交货过账产生一张针对已出售货物的退货发票贷项凭证然后再走寄售退回流程把货收回到自有仓库。# 已结算寄售退货流程 VA01 创建寄售退货订单ZKR1 VL01N 创建退货交货单 VL02N 退货发货过账移动类型634 VF01 开具退货发票或贷项凭证我实际测试中遇到的坑是ZKR1的订单类型如果设置了“发票冻结”在VF01/VF02开票时会被系统拦截提示订单被冻结无法开票。这个冻结不是错误而是配置策略取消它的方式是修改订单类型的“发票冻结”字段或者由应收会计在VF02里手动解除。另外KR订单的行项目设置里可能设置了“对订单出具发票”所以开票时要在VF01里按订单出具发票而不是按交货单。这两个点叠加在一起很容易让人产生“这系统是不是坏了”的错觉。3.4 库存查询MMBE、MB52、MB58各有各的用处寄售库存是特殊库存普通库存报表不一定能完整显示。三个事务码要配合用事务码用途特点MMBE单个物料库存总览可以展开查看客户寄售特殊库存MB52库存清单报表按工厂/库存地点汇总特殊库存需要勾选显示MB58客户寄售库存专门按客户维度展示寄售库存最适合日常对账MB58在寄售业务里是使用频率最高的一个事务码。它按客户维度列出每个客户的寄售库存数量和金额方便你和客户对账确认“哪些货已经卖了还没结算”。我一般建议关键用户每周跑一次MB58对照客户的销售报表做差异分析能尽早发现漏结算的货物。这里有个常见的误用用MB52看寄售库存。MB52默认显示的是工厂和库存地点的普通库存如果不勾选“特殊库存”寄售库存是看不到的很多新手在这里翻车后误以为寄售发货没成功实际上只是报表没选对视图。4. 寄售配置与常见问题避坑我在实施中踩过的五个坑4.1 补货单开了发票正向流程直接走歪现象寄售补货订单ZKB1在VL02N发货过账后系统生成了会计凭证库存直接变成了“普通库存”而不是“客户寄售库存”。原因订单类型、行项目类别、计划行类别复制的时候没一起处理。标准订单类型KB对应的移动类型被覆盖或者行项目类别里配置的移动类型是601标准销售发货而不是631寄售补货发货。另一个常见原因是计划行类别配置的“移动类型”字段为空系统回退到默认的销售发货移动类型。解决回到SPRO检查销售凭证类型ZKB1 → 分配的行项目类别ZKBN → 对应的计划行类别E1 → 移动类型字段确认是631。改完以后用VA01重新测试旧单据如果是脏数据需要冲销后重做。从那以后我每配置完一个订单类型第一步先做一次完整的发货过账确认物料凭证的移动类型和会计凭证行为符合预期再继续往下配。4.2 结算开票报“分配值字段”错误现象寄售结算订单做完发货过账进入VF01开票系统报错“未将值字段分配给会计”或类似提示开票无法继续。原因CO-PA获利能力分析的值字段没有包含寄售结算开票时需要的某些字段或者开票凭证的传送配置不完整。这个配置在IMG路径“控制 → 获利能力分析 → 实际值流水 → 开票凭证的传送 → 分配值字段”下属于CO模块和SD模块的集成点。解决进入上述配置路径把需要从开票凭证传到CO-PA的特征字段和值字段逐一维护好保存退出之后重新VF01。要注意的是这个配置是按“开票类型”和“销售组织”维度维护的如果某些销售组织漏配同样会报错。这个报错的玄学之处在于它可能在测试环境不出现、生产环境出现因为测试环境的CO-PA配置和生产不一致做传输之前最好把两边的字段目录对比一下。4.3 寄售退货订单开不了票提示发票冻结现象寄售退货订单ZKR1创建后在VF02里尝试开票系统提示“订单被冻结无法开票”。原因订单类型ZKR1的配置里勾选了“发票冻结”。这个字段在销售凭证类型的“一般控制”或“开票”页签里一旦勾选所有该类型的订单在开票时都需要人工解除冻结。解决两种方案。如果业务上不需要冻结直接在配置里把发票冻结标志去掉如果只是个别单据的临时冻结由开票人员在VF02里进入“开票”页签手动解冻后继续开票。这里容易让新手迷惑的是VF01和VF02都能开票但VF01创建开票凭证时如果遇到冻结会直接报错退出VF02则可以带出冻结信息并提供解除入口所以遇到冻结报错时建议改用VF02处理。我一开始也在这上面栽过以为是权限问题折腾了半天最后发现就是订单类型配置里的一个勾。4.4 寄售退回后没有会计凭证财务不认账现象寄售退回订单ZKA1做完退货交货过账财务说没看到凭证对不上账。原因不是故障而是配置如此。移动类型632寄售退回本身就是不产生会计凭证的移动类型它的设计逻辑是货物从客户寄售库退回自有库货权没有变化只是存放地点变了。这和补货631不产生会计凭证是同一个原因。解决确认这是预期行为而不是系统问题。如果业务上需要在退回时做财务记录比如有运输费用或损失需要额外做财务手工凭证或者在移动类型上做增强。在实施时我通常会提前给财务团队讲清楚631/632不产生会计凭证633/634才产生避免每个月对账时来回拉扯。这个“讲清楚”的动作很重要因为财务人员习惯性认为每一次货物移动都要有账不理解寄售特殊库存的逻辑时就会反复提问题单。4.5 MMBE看不到寄售库存以为发货失败了现象VL02N已经做了发货过账但MMBE里看不到客户寄售库存。原因MMBE默认显示的是普通库存客户寄售属于特殊库存范畴需要展开“特殊库存”节点才能看到或者在初始画面勾选对应的特殊库存标志。解决MMBE初始画面勾选“客户寄售”这个特殊库存选项或者直接改用MB58按客户维度查询寄售库存。我自己的习惯是把MB58加到Favorites里因为寄售业务日常查询用MB58比MMBE直观得多也方便按客户汇总。这个坑让很多新手业务用户卡在“是不是没发货成功”上实际上只要看物料凭证里移动类型是631就说明已经过账了只是显示视图的问题。5. 进阶用MB58做寄售库存周监控把对账从月结拉回日常寄售业务最大的风险是回款滞后和库存失控。货物到了客户仓库如果不去盯很容易出现客户卖了但不结算、或者货在仓库里慢慢过期的情况。我自己的习惯是养一个寄售库存周监控的流程核心就是MB58加一张Excel对账表。每周固定时间跑一次MB58按客户维度导出寄售库存数据包括物料号、描述、库存数量、库存价值。然后把这份数据发给对应的大客户销售或客户经理让他们去跟客户确认哪些货已经动销了、哪些还是滞销状态。确认已经卖掉的立刻补做KE寄售结算订单把库存转化为应收。这个动作看起来简单但实际效果很好。大多数寄售业务的坏账和库存差异不是系统配置问题而是没有按周对账等到月底发现时已经晚了。如果项目里有ABAP开发资源可以写一个简单的报表把MB58的逻辑固化下来按销售区域和客户分组输出再带一个“最近30天无结算记录”的标记字段用来识别那些货发了很久但一直没结算的客户* 寄售库存滞留检查 - 基于KONB表的查询逻辑示意 SELECT kunnr, matnr, SUM( kbstk ) AS consignment_stock FROM konb WHERE kunnr IN s_kunnr AND matnr IN s_matnr GROUP BY kunnr, matnr HAVING SUM( kbstk ) 0.这个查询用到了标准表KONB客户寄售库存表实际项目中还可以关联KNA1取客户名称关联MAKT取物料描述加上ABAP报表的内表处理就能生成一张可用的寄售库存预警清单。注意KONB的字段在不同ECC版本和S/4 HANA里有所差异S/4里要留意字段更名的问题上线前最好用SE11确认一下结构别拿ECC时代的字段名直接写到S/4里。从那以后我每次做寄售业务相关的项目不管客户有没有要求都会把“MB58周报”这个动作写进上线支持手册里并且要求关键用户在前四周必须按周提交一次库存核对结果。这个习惯帮我提前发现过好几次客户漏结算的情况也让财务月结时少了很多突发问题。寄售业务真正考验顾问能力的不是配置本身而是对“货权转移时点”的理解以及有没有把监控动作落地到日常运营里。希望帮到你。本文还有配套的精品资源点击获取