简介面向SAP SD模块顾问与后勤运维人员这份PDF系统讲解了销售寄售业务的配置与操作。内容涵盖寄售补货、寄售结算、寄售退回、寄售退货四类核心单据并结合自定义订单类型ZKB1、ZKE1、ZKR1、ZKA1详细说明了销售区域分配、默认交货类型、编号范围、行项目类别和计划行类别的后台配置方法。同时整理寄售发货、开票、库存查询等前端操作步骤针对VF01/VF02开票报错、发票冻结、获利能力分析值字段分配等常见问题给出排错思路并分析了寄售模式的优势与资金风险。资源为1个PDF文件大小1.72MB内容结构清晰既可作入门教程也可作配置参考手册。已有1907人学习下载适合正在实施或优化SAP寄售流程的顾问参考。1. 表面上是把货放到客户仓库实际上连收入确认的时点都换了销售寄售到底解决什么问题做销售业务的顾问迟早会遇到这类需求客户说“货你先放到我仓库我什么时候用、用了多少你月底跟我对账再开票”。听上去只是把发货地址改一下但真在SAP里落地时你会发现普通销售订单的整套流程在这里是跑不通的——发货过账就会确认收入可客户还没消耗货权还在你手里。SAP应对这个场景给出的方案就是销售寄售业务客户寄售的补货、消耗、结算在系统里有独立的订单类型、项目类别、库存类型和移动类型。这篇笔记就把销售寄售涉及的配置和操作完整串一遍适合正在做SD模块实施、被寄售需求缠住的顾问也适合财务同事想搞明白为什么寄售库存挂在特殊库存里。2. 寄售库存为什么挂在特殊库存里补货单不记收入、消耗开票才记收入2.1 客户寄售和供应商寄售是两回事别把采购侧经验搬到销售侧SAP里“寄售”这个词覆盖两个方向。一个是你作为买方供应商把货放在你的仓库你用了才结算这叫供应商寄售挂在MM模块玩的是采购订单里的寄售信息记录和物料移动类型另一个是你作为卖方把货放到客户仓库客户消耗后你才开票这叫客户寄售挂在SD模块玩的是销售订单、项目类别和特殊库存。很多项目翻车就是因为团队把两个方向混在一起拿着采购侧的经验去做销售侧的配置结果补货订单进得了系统账务上却完全对不上。客户寄售和供应商寄售最核心的差别在于物权和结算时点。供应商寄售下货在你的仓库物权在供应商那里你消耗后生成采购凭证去结算客户寄售下货在客户的仓库物权还在你这里客户消耗后才触发销售结算。前者是“欠别人的货”后者是“别人帮你存货”方向相反账务逻辑也相反配置入口更是完全不同。2.2 一次补货、一次消耗、一次开票寄售业务的完整链路客户寄售的业务链路拆开看其实是三步和普通销售订单“订单-交货-开票”的三步长得像但每一步的业务含义都不同。第一步是补货。你根据客户的消耗预测或安全库存创建一个寄售补货销售订单然后做外向交货、发货过账。注意这一步不是“卖货”只是把货物从你的自有库存移到客户寄售库存。物理上货到了客户仓库但物权还是你的。第二步是消耗。客户实际用了货把消耗数据告诉你你在系统里创建一个寄售消耗销售订单并创建交货单、做发货过账这时候库存才真正减少成本也在这时结转。第三步是开票。对消耗的货物向客户开具发票确认应收账款和销售收入完成结算闭环。这套链路对业务最直接的价值是库存存放在客户仓库但不占用客户的资金客户按消耗付款能显著降低客户备货的资金压力也绑定了供货关系对你来说虽然不是发货即确认收入但能换来稳定的客户库存份额减少竞争对手插进来的机会。2.3 物权与记账补货、消耗、退回时的库存科目和收入确认寄售流程里财务最关心的是“什么时候记账、记什么科目”。普通销售业务发货过账时结转销售成本、确认应收账款和收入寄售业务完全不同步。补货发货过账时库存从自有库存转移到客户寄售库存SAP本质上把它当作物料移动来处理。库存金额没有增减只是换了库存类型仓库保管科目会变成寄售相关的库存科目。这一步绝对不确认收入也不产生应收否则月底客户没消耗你账面却已经卖出去了整个账就乱了。常见做法是补货时借方挂“发出商品”或寄售库存科目贷方冲减自有库存。客户消耗并发货过账时库存正式减少系统结转销售成本。这里要特别留意消耗过账这步结不结转收入取决于你后台移动类型的科目配置。多数项目会在发货过账时只结转成本在后续VF01开票时再确认收入和应收账款也有项目把收入一并放到发货过账时确认减少月底开票压力。两种做法税务处理差异很大。我一般建议优先采用“消耗过账结转成本、开票确认收入”的方式和寄售业务“用了才结算”的业务语义保持一致。退回则反向操作把客户寄售库存退回自有库存标准移动类型一般用632库存金额原路返回。这里不需要开票也不需要冲销收入因为补货时压根没有记账收入。理解了这三个动作的账务方向后面配置里那些订单类型和项目类别参数就有了解释。3. 寄售订单类型与项目类别配置从销售订单到交货单的关键参数3.1 复制标准类型还是从零定义订单类型ZOR与ZKB的选型寄售业务的配置入口在SPRO后台核心思路是先定订单类型再定订单类型和项目类别的对应关系。SAP标准里其实有演示用的订单类型和项目类别比如OR、KB这类但生产项目里我基本不会直接用标准类型原因很简单一是标准类型带着一堆你可能不需要的控制参数改起来容易误伤二是每个客户的寄售流程细节不同有的补货要审批有的消耗单要自动开票复制一份改成Z开头升级和传输时更安全、更好追溯。常见做法是复制OR生成补货订单类型ZOR复制普通订单类型生成消耗订单类型ZKB。两个类型在VA01新建订单时直接决定用户进入的是补货流程还是消耗流程。补货单由你的仓库或计划员创建消耗单由销售内勤按客户消耗数据创建角色清晰后面配PFCG权限也方便。定义订单类型时字段“销售凭证类型”决定了单据编号范围和屏幕格式。补货单和消耗单最好用不同的编号范围月底对账时一眼就能判断单据类型不用点进去看明细。这个细节在项目上线后对数阶段特别有用。SPRO → 销售和分销 → 销售 → 销售凭证 → 销售凭证类型 复制 OR → ZOR寄售补货订单 销售凭证类型ZOR 销售凭证编号范围01自定义范围 复制 OR → ZKB寄售消耗订单 销售凭证类型ZKB 销售凭证编号范围02自定义范围两个订单类型复制完成后下一步不是马上定义项目类别而是先把项目类别和订单类型的分配关系配好。SAP里订单类型和项目类别的组合决定了销售订单行项目的行为同一种物料在补货单里和消耗单里系统拿到的项目类别不一样后续的交货、开票、移动类型全都不一样。3.2 项目类别KON的六个关键参数特殊库存、交货类型、开票类型客户寄售的标准项目类别是KON这是SD模块里做寄售最核心的一张配置表。复制KON为自定义项目类别还是直接沿用KON取决于你们要实现多少控制。如果只做标准补货、标准消耗、标准退回直接沿KON反而省事SAP预置的参数经过多年验证比你自己猜的靠谱。项目类别里需要重点确认的参数有六个特殊库存标识、一般项目类别、计划行类别、交货相关、开票相关、自动创建交货单。特殊库存标识决定这个项目类别走的是客户寄售库存这是寄售和普通销售最根本的区别计划行类别决定交货计划是排程还是按单直接交货开票相关决定这个行项目能不能开票、开什么发票类型自动创建交货单则控制补货单保存后是否直接生成外向交货单。寄售补货的项目类别和寄售消耗的项目类别在配置上有个关键差异补货单不允许开票因为补货只是移动货物不是销售消耗单必须允许开票客户消耗的货物要在开票时确认收入和应收。体现在项目类别配置里就是开票相关字段的取值的不同。SPRO → 销售和分销 → 销售 → 销售凭证 → 销售凭证的项目类别 复制 KON → ZKON客户寄售消耗 特殊库存客户寄售 一般项目类别空 计划行类别CP按单计划行 交货相关B按单交货 开票相关F立即开票 科目设置相关G不自动生成会计凭证 复制 ZKON → ZKONR客户寄售补货 开票相关空禁止开票这个配置看懂后寄售的骨架就搭起来了。特别提醒一下项目类别是SD顾问最容易漏配的地方。订单类型和项目类别的关系配置在单独一张分配表里如果只在订单类型里改了参数忘了把项目类别分配到订单类型或者分配时把项目类别填成了TAN标准项目类别补货单就会变成普通销售订单发出货去直接记收入财务月底对账必炸。检查方法是VA03打开测试订单查看行项目里的项目类别如果不是KON或你的自定义ZKON说明分配有问题。3.3 操纵计划行与装运点让补货单自动进VL10C、消耗单不进交货计划行类别决定交货物流程的自动化程度这里有一个经常被误解的点很多人以为消耗单也必须走完整的交货、发货、开票三步。实际上消耗单确实也创建交货单但和补货单的逻辑方向不同——补货单的发货过账是把库存放进寄售库消耗单的发货过账是把寄售库存转出并产生销售成本。所以两张单子都要能创建交货单但开票行为要区分开。装运点配置上寄售补货单的装运点最好和普通订单一致不要单独设一套装运点否则VL10C的交货单列表里会出现重复选择界面用户不知道该挑哪个。装运点在后台“装运点确定”里维护按发货工厂、装运条件、装载组组合确定。寄售补货单在客户主数据的装运视图里通常要维护“装运条件”确保系统能自动带出装运点如果客户主数据没维护订单保存时系统会要求手工输装运条件操作员不懂就会乱填后面交货单创建时找不到装运点又变成IT工单。计划行类别在项目类别里定义后补货单保存时系统自动带出计划行。寄售补货我一般建议把计划行里的“交货时间”和“补货提前期”算进去让系统能根据客户消耗情况做MRP运算MD07这个库存监控报表才有意义。很多项目只做配置不做MRP集成寄售库存补货全靠人工看结果就是客户那里断货了都不知道库存监控报表形同虚设。3.4 定价与科目确定VKOA里寄售开票的收入和税金科目寄售的定价过程和普通销售一样挂在定价过程确定里客户主数据、物料主数据、价格主数据都复用现有逻辑。但有一个差别必须在定价里处理补货单不产生收入所以补货单的定价过程里不应该有收入条件类型否则订单保存时系统会尝试记收入。常见做法是给寄售补货订单类型指定一个简化的定价过程只保留成本或净价不带销项税消耗订单则走完整的定价过程包含价格、折扣、税。后台配置在“定价过程确定”里按销售组织、分销渠道、产品组和单据类型来分配定价过程。这里我不建议过度设计直接把补货单和消耗单分别挂两个定价过程最直观。科目确定则集中在VKOA里配置也就是常说的“科目确定”事务码。寄售消耗开票时的收入科目、销项税科目、应收科目都在这里按“科目确定过程客户科目分配组物料科目分配组”的组合去分配。寄售和普通销售可以共用一套科目确定配置税务上如果希望寄售消耗的收入单独挂一个科目做统计就需要在VKOA里给寄售项目类别单独配一组科目分配组。SPRO → 销售和分销 → 基本功能 → 科目分配 → 收入账户确定 → 科目确定 事务码 VKOA 科目确定过程KOFI标准财务 客户科目分配组01 国内客户 物料科目分配组寄售物料专用组 科目表1000 收入科目60010101销售收入-寄售 销项税科目22210100应交税费-销项税 应收科目11220100应收账款科目确定这步逃不掉尤其是你公司用了多科目表或者附加科目设置时VKOA里漏配一项开票过账就会报“没有找到科目”或者更隐晦的问题——凭证能过账但科目是空的月底财务对账时才发现收入挂错了科目。上线前一定要做一次全流程测试用真实的物料和客户主数据跑一遍补货、消耗、开票然后去FB03里逐个检查会计凭证的科目是否和财务确认过的一致。4. 寄售业务日常操作全流程补货、消耗、退货与库存核对4.1 用VA01VL10C完成第一次寄售补货配置做完操作就顺理成章了。补货是寄售业务里最频繁的操作我按一天的实际动作给你拆一遍。在VA01里创建寄售补货订单订单类型选ZOR售达方、送达方都填客户编码物料、数量、请求交货日期填好。关键点在于行项目保存后一定要回到订单概览确认行项目类别是ZKONR。如果你复制配置时没把ZKONR分配进ZOR这里系统会默认成TAN普通项目类别补货单就成了普通销售订单后面发货过账记收入问题就大了。事务码 VA01 订单类型ZOR 售达方C001 物料M-1000 数量1000 工厂/库存地点1000 / 0001 保存后检查行项目类别ZKONR订单保存后用VL10C批量生成交货单。VL10C按销售订单、交货到期日筛选出待交货的订单批量勾选后点“后台执行”系统自动创建外向交货单。这里有个习惯我建议项目上线前就定下来补货单不要一张张用VL01N创建交货单而是让仓库每天定时跑一次VL10C把当天到期的补货单统一生成交货单再交给仓库拣配。一个是效率差另一个是VL01N手动创建时容易选错交货工厂。交货单生成后到VL02N里做发货过账。此处的发货过账在SAP里产生物料移动补货场景标准移动类型是631库存从自有库存转到客户寄售库存。过账前可以在行项目里核对一下移动类型如果显示的移动类型不是631检查一下后台“自动移动类型确定”的配置或者看看交货单的类型是否被用户改了。4.2 用消耗订单把寄售库存卖出去VA01、VL01N与VF01的顺序客户月底发来一份消耗清单说“这1000个用了”这时候做消耗流程。先到VA01创建消耗订单订单类型选ZKB只填客户、物料、数量项目类别自动带出ZKON。商品消耗单据不需要再关联到补货单系统会从客户寄售库存里自动扣减。保存消耗订单后到VL01N创建外向交货单再到VL02N发货过账。消耗过账时移动类型标准值是633系统从客户寄售库存中减去对应数量同时按项目配置结转成本。事务码 VA01 → 订单类型 ZKB → 输入消耗物料和数量 事务码 VL01N → 按销售订单创建交货单 → 保存 事务码 VL02N → 对交货单做发货过账 事务码 VF01 → 对消耗订单开票 → 保存生成财务凭证这时候去VF01对消耗订单开票。开票完成后财务侧就把应收账款和收入确认掉了。开票前建议先检查一下条件记录确保给这个客户的寄售价格不是零。寄售业务里价格维护漏掉是常见事故补货单不记收入当时看不出问题等消耗单开票时发现没价格系统要么报错要么开出一张零金额发票月底财务要手工调账非常痛苦。整个消耗流程最好在一个工作日内连续做完尽量不要“先创建订单、明天再交货”。寄售库存是客户的资产吗不是是你的但物理上放在客户那里长期不处理消耗单库存账实差异越来越大月底和客户对账时你连谁对谁错都说不清楚。4.3 寄售退货与回收移动类型632怎么用寄售场景下退换货有两类。一类是客户用不完要退回那就在SD里做反向操作创建退货销售订单或者直接用VL01N创建退货交货单过账时移动类型取632把客户寄售库存退回自有库存。另一类是客户退回有质量问题的货、要求换货这就要先做632退回再走一遍补货流程不能在原消耗单上直接冲销原因很简单消耗单已经结了成本开了票冲销会牵扯到开票冲销和税务红字麻烦得多。在MIGO里如果直接用移动类型632做退回要注意凭证里要指定客户寄售库存对应的特殊库存和客户代码否则系统不知道该从哪个客户的寄售库扣减。这个特殊库存字段在移动凭证里不显眼用户很容易忽略一忽略系统就报“库存不足”或者退回到自己的非限制库存里去了。我在项目里习惯是给仓库单独做个操作说明明确告诉他们退货用VL01N做退货交货单不要直接跑到MIGO里去输移动类型。4.4 用MMBE和MD07核对寄售库存与补货信号寄售库存的实时核对靠MMBE。进入MMBE输入物料和工厂展开库存概览你会看到一行客户寄售库存数量就是当前寄存在客户那里的货物总量。这个数字要和客户每个月发来的消耗清单对上。如果对不上优先查补货单的交货过账记录和消耗单的发货过账记录看看有没有过账了但没创建销售订单的情况。补货计划上我一般会在SAP里把寄售库存纳入MRP运算这地方有个亮点MD07这个库存监控报表可以直接看到客户寄售库存的覆盖天数。MRP计算净需求时系统会把寄售库存当作可用库存的一部份来考虑如果寄售存量低于安全库存MRP会给出补货建议。这比人工看消耗数据判断要靠谱得多。事务码 MMBE 输入物料M-1000 输入工厂1000 双击【客户寄售】行查看详细信息 事务码 MD07 选择物料和工厂 查看库存覆盖天数与短缺数量MD07在ECC和S/4HANA里都有Fiori用户也可以在相关库存分析App里看到同样数据。如果你是S/4HANA项目客户主数据在BP里维护销售视图里别忘了把“装运条件”维护好否则寄售补货的自动交货和装运点确定都会出问题。5. 寄售实施避坑与排查三个高发问题、一个验证技巧5.1 补货过账后库存进了非限制库存而不是客户寄售库存现象补货单在VL02N里发货过账成功但MMBE查看时库存挂在“非限制库存”客户寄售库存行没有增加。原因这是项目类别没有生效交货单行项目的项目类别被替换成了普通项目类别TAN或者订单创建时项目类别压根不是ZKONR。常见于从标准订单复制订单类型时漏掉了项目类别分配导入订单的批处理程序里没有显式传项目类别。解决先看VA03的销售订单行项目确认项目类别再去SPRO检查订单类型和项目类别的分配表。LSMW或BDC批量导入补货单时录屏脚本里一定要把行项目类别字段显式填成ZKONR不能依赖系统带出。5.2 消耗单过账报“没有足够的寄售库存”现象客户消耗了1000件VL02N发货过账时系统提示寄售库存不足无法过账。原因MMBE里明明有库存但消耗订单交货单里的特殊库存没有指向客户寄售库存系统去普通库存里找货找不到当然报错。也可能是补货过账时客户代码录错寄售库存挂在另一个客户代码下。解决VL02N交货单行项目里检查特殊库存和客户代码和补货单订货时的客户一致再去MMBE双击寄售库存行核对客户代码和库存地点。这个报错出现时不要急着改交货单先对库存归属经常能查出两张单子客户主数据不一致。5.3 消耗单开票时VF01找不到待开票凭证现象消耗订单交货过账都完成了VF01里没有待开票清单或者开票时提示“无开票凭证”。原因项目类别ZKON里开票相关字段为空或订单类型的开票参数禁止开票。补货单和消耗单的复制起点选错导致消耗单继承了补货单“禁止开票”的设置。解决检查项目类别ZKON的开票相关字段取的是F还是空再检查订单类型ZKB的“开票”控制。验证技巧是输入事务码VA03打开一张消耗订单到“凭证流”Tab页看是否生成了开票凭证节点没有说明开票配置有问题。现在每上一个寄售项目我都会按照这个顺序做一轮自检先跑通补货和消耗再看MMBE库存归属最后开票查凭证流。流程虽短但这三个坑基本覆盖了寄售实施里八成的高频问题。希望帮到你。本文还有配套的精品资源点击获取
