☰
SAP SD销售订单如何变成应收账款:模块集成、主数据与流程避坑指南
2026/10/15 12:24:49 网站建设 项目流程

简介:SAP-SD中文培训资料是一份系统讲解SAP销售与分销模块的PPT,面向SAP初学者、实施顾问,以及制造或贸易企业中从事销售、物流、财务工作的业务人员,旨在帮助读者快速理解SD模块的流程框架与核心逻辑。压缩包内含1个PPT文件,文件大小约2.09MB,内容图文结合,便于直接打开学习与二次整理。课件从销售活动、报价、合同与订单处理切入,覆盖定价与可用性检查、客户和供应商主数据、业务合作伙伴定义、交运与发票流程、退货及借项/贷项凭证处理,并重点说明SD与FI/CO、MM、PP等模块的集成关系;同时配有销售组织、分销渠道、部门架构,以及销售流程总览、客户主数据、灵活单位处理、信用检查等关键视图。已有104人学习,适合作为SD模块入门培训、项目内部普及或备考SAP相关认证的参考资料,也可直接用于输出团队学习笔记。

1. 销售订单是怎样一路变成应收账款的:一份把链路讲透的SD中文培训资料

做过SD的人都有体会:最难讲清楚的不在某个事务代码,而在一张销售订单从客户询价开始,要经过报价、定价、可用性检查、交运、拣配、发货过账,最后变成财务一张应收凭证,这中间跨了销售、仓库、物流、财务四拨人。我拆的这份SAP SD中文培训资料,是一份典型的“模块全景图”式PPT:它不教你怎么点屏幕,而是把供应链上SD和MM/PP/FI/CO的交接面、销售组织架构、主数据分层、文档类型、交运开票流程一次性铺开。适合刚接手SD模块的人、准备上SAP项目但还没理清业务边界的内外部顾问,以及从MM或FICO转过来补SD视角的同行——属于先把地图烙进脑子里,再谈具体操作的学习顺序。

2. 先立地图:SD与MM/PP/FI/CO的接口、三层组织架构与文档类型

2.1 供应链上的SD:哪些流程由SD“踩油门”

资料里那张“SAP供应链总览”图把SD放在最前面是故意的。SD不只是录单,它更像是销售业务的触发器:客户要一批货,销售订单一创建,系统马上就问三个问题:库存够不够(可用性检查),缺货要不要采购或生产(需求传递),这笔单子谁付钱、什么时候付(信用与财务集成)。

SD与MM的接口经常被忽略。库存不足时,销售订单可以将需求传递给采购,自动生成采购申请,后续收货入库后,原销售订单的交货计划行才能被释放拣配。这与MRP(物料需求计划)结合,就形成“卖出去才买进来”的拉式链路。资料里的“自动产生供应商”和“自动产生生产定单”就是这一点:需求不满足库存,系统会向下游模块发出信号,而不是销售顾问自己手工去追料。

SD与PP的接口体现在主生产计划和物料需求计划。销售订单的确认数量和交货日期会变成PP的独立需求或客户需求,生产订单完工入库后,库存才能用来交货。我遇到过不少配置问题,销售那边催着发货,车间说没生产出来,查MRP元素看需求来源,往往就是销售订单没有按计划行转给PP。

SD与FI/CO的集成是链路的终点。发货过账生成物料凭证,库存价值流出,销售成本进入成本会计;开票生成应收凭证,收入进财务会计。资料里反复出现FI/CO的框架图,其中的“应收帐款/销售”“销售成本/存货”就是SD给财务送数据的两条主线。换句话说,SD给我们看的不是“销售”,而是“销售产生的价值流动”。理解了这条线,后面看任何一张流程图都能分出先后。

2.2 销售组织、分销渠道与部门:三层结构决定了数据边界

不看组织架构就去看流程,后面全是从单号到报表的各种对不上。资料里的组织元素图把集团公司、公司、工厂、库位、仓库、销售组织、分销渠道、部门、销售办公室、销售小组串成一张树。对SD来说,最小的工作单元是“销售区域”。

销售区域=销售组织+分销渠道+部门三件套。例如一家公司设一个销售组织负责某区域市场,分销渠道分直销、分销、电商三条,部门再按产品线切分。同一个客户可以在不同的销售区域拥有完全不同的价格、折扣、交货工厂和付款条件,这正是客户主数据“销售区域数据”存在的意义。

这条划分还影响权限和报表。用户主数据按销售组织授权,EDI输出按合作伙伴功能划分,销售报表的统计维度是销售区域。资料里“组织架构需求计划”那张图把采购、预测、工作计划、成本会计、质量管理、物料主文件都挂在组织下,说明组织架构不只是权限树,而是整个业务流的坐标系。

我一般会建议新手做一件事:把自己公司的组织架构画成表格。先列销售组织、分销渠道、部门,再写出各组合的价格工厂、交货工厂、开票工厂,最后对照客户主数据视图确认每个销售区域是否“激活”。这一张表能提前暴露80%的主数据错误,比翻后台配置快得多。

2.3 文档类型:从询价到退货,一套凭证体系支撑整个售前售后

资料列的文档类型表是SD入门必背的内容。每种类型是一套独立的凭证逻辑,例如退货订单走“退货→退货交货→退货开票”的反向链路,与标准订单的字段和状态流不一样。下面这张表可以对着资料里的原图反复看:

凭证类型业务用途典型后续凭证
询价(IN)客户问价报价
报价(QT)给客户正式报价销售订单
销售订单(OR)标准订单交货单
合同(CO)框架协议,定总价总量参考生成销售订单
交货协议(SA)带交货计划行的框架直接生成交货单
退货(RE)客户退货请求退货交货单、贷项发票
借项凭证请求(DR)价格补收借项发票
贷项凭证请求(CR)价格冲减或退货冲减贷项发票

我接触过的项目里,最容易被忽略的是合同(CO)和交货协议(SA)的区别。合同是框架,定了价格和数量总量,但不创建交货计划;交货协议则带“交货计划行”,会在指定日期自动生成交货单。如果顾问把框架协议当成交货协议配,实际执行时会发现系统根本不是按时间自动交货的。

文档类型还决定功能:可用性检查怎么执行、是否有信用检查、定价过程怎么选、输出的格式和时间(立即输出、定时输出、按事件输出)。资料里“输出类型和输出的时间”那张图讲的其实是“输出确定”的机制:对每种文档类型,系统会按输出类型(订单确认、交货单打印、发票传真等)自动匹配输出通道。配置EDI、传真、邮件和打印的通道时,要先把输出类型的主记录和条件记录配好,常见翻车点是配置了通道但忘记为销售订单类型分配输出确定过程。

3. 主数据是配置的第一步:客户、物料与定价条件的底层逻辑

3.1 客户主数据:通用数据、公司代码数据与销售区域数据

客户主数据是SD最容易被搞坏的地方,因为它和FI的客户主数据、BP(业务伙伴)主数据长在一起。资料里把客户主数据分成了三层,翻译成人话:客户不只是“谁买的”,而是“谁下单、谁收货、谁付款、谁收发票”。

数据层次主要内容影响范围
通用数据地址、联系人、电话、税号所有公司代码和销售组织共用
公司代码数据科目管理、支付交易、保险财务记账、付款条件
销售区域数据销售、交运、发票、合作伙伴功能订单定价、交货、开票

这一层的核心是合作伙伴功能。资料里列出了售达方、交运方、付款方、开票方、销售员工、转运代理、联系人等多个角色。比如一笔三方贸易的订单,售达方是贸易公司,交运方是最终收货的仓库,付款方是开户行出的信用证账户,开票方又是另一个主体——如果客户主数据里没有维护对应的合作伙伴,创建销售订单时系统会报“客户XX不存在”,或者单据流里找不到正确的开票方。

实操建议:在客户主数据维护事务代码(XD01/VD01,新版本走BP事务代码)里,先把销售区域视图的“销售范围数据”勾选激活,同时把合作伙伴功能指派完整。后台可以从合作伙伴确定过程查看哪些角色在该客户组是必输项,缺了就补。我一般把客户每个字段当成“会决定下游哪个凭证”来理解,而不是当成通信录来填。地址填错,发货单上的收货地址就错;合作伙伴配错,发票就可能开给一个跟本不该收票的人。

3.2 物料主数据的销售视图与计量单位游戏

物料主数据的销售视图负责回答“这个物料卖给客户时,用什么单位、最少卖多少”。资料里“灵活的单位处理”那张图里的几个单位是有讲究的:基本计量单位(库存管理用)、销售单位(发给客户的单位)、交货单位(每次交货的数量步长)。它举的例子很典型:物料M1的基本单位是“件”,卖给客户按“箱”,交货单位是4件。如果基本单位和销售单位的转换因子配错,创建订单时输入100箱,系统换算出来的“件”和仓库拣配单位对不上,发货过账就会出现数量差。

再看那些数量字段:最小订货量60件、最小交货量60件、交货单位4件。这三个字段共同决定订单行能输什么数量。常见场景是客户要求买58件,但最小订货量是60,系统会提示不足最小订货量;而交货单位是4,系统会提示数量必须是4的倍数。字段本身不难,难的是它们和其他主数据叠加,比如物料基础数据视图里没有维护“利润中心”,就会在销售订单的成本确定阶段引发报错。

对SD顾问,物料主数据的销售视图属于必查项。我习惯在项目准备阶段写一个Excel检查清单:物料号、物料类型、基本单位、销售单位、转换因子、最小订货量、交货单位、是否有批次、是否启用序列号管理。缺少任何一项,后面流程可能就要回头补主数据,而主数据补起来比配后台更耗时。

3.3 客户-物料信息记录:给同一个物料加上“客户视角”

客户-物料信息记录解决的是“同一个物料,在不同客户眼里有不同的编码、名称和交货方式”。资料里的例子是:我们是物料M1,客户C1把它当成“M234”,描述为“Computer 1”;另一客户则叫“M598/Computer 2”。这种维护方式对大型分销商和VMI项目非常有用。

它和客户主数据、物料主数据并存的原因在于,有些信息既不属于客户(如价格),也不属于物料(如客户自己的物料编码),而是属于“这个客户+这个物料”这个组合。实际业务上,客户-物料信息记录还存着最大/最小交货量、部分交货允许标识、交运优先顺序等。创建销售订单时按“客户/物料”组合调用,替代了通用物料主数据里的默认值。

这个表在后台看不到,但你可以通过事务代码VD51/VD52维护,或通过BAPI一键批量上传。项目初期如果不规划,后期数据量大了每笔单都要手工匹配客户物料,效率很低。优先把“哪些客户必须使用客户物料编号”的业务规则定出来再配,比全量客户都开这条功能更可控。

3.4 定价条件技术:条件记录、定价过程与价格确定的优先级

资料里那张“价格条件组”图信息量很大,它同时列出了客户(价格组)、物料(价格组/物料定价组)、价格清单等字段。定价在SAP里不只是一个价格字段,而是“条件技术”的体现:基础价格(PR00)、折扣(KA00)、附加费(运费KR00)、税(MWST)等。每个条件类型都要有对应的条件记录,条件记录的关键组合决定了匹配时的优先级。

定价顺序则来自定价过程,以下是一段用来演示定价计算顺序的简化代码,我在培训时常拿它解释为什么“条件记录的先后会改变净价”。它不是系统源码,但逻辑一致:

# 演示定价过程的运行顺序(非系统源码) def run_pricing(base_price, conditions, process_order): net_value = 0.0 # 净价 line_items = [] # 定价行 # process_order 来自 V/06 定价过程定义,决定先后 for step in process_order: cond_type = step["cond_type"] # 如 PR00, KA00, KR00 # 在条件记录表中按“客户/物料/价格清单”组合找记录 cond = find_condition_record( cond_type, customer=step.get("customer"), material=step.get("material"), price_list=step.get("price_list") ) if cond_type == "PR00": # 基础价格 amount = base_price elif cond["calc_type"] == "A": # 从量计 amount = cond["rate"] * base_price elif cond["calc_type"] == "B": # 百分比(折扣、附加费) amount = cond["rate"] * net_value else: amount = cond["rate"] # 固定金额 net_value += amount line_items.append((cond_type, amount)) return net_value, line_items

关键在step的顺序。同一张订单,把运费放在折扣前和折扣后,净价完全不同。一个常见案例:基础价100元,5%折扣,10元运费。如果折扣先算(PR00→KA01→FR01),净价是100-5+10=105;如果运费先算(PR00→FR01→KA01),净价是100+10-5.5=104.5。系统里定价过程决定一切,而不是条件记录本身。

价格的匹配优先级取决于“条件记录的关键组合”长度。比如,客户/物料组合的条件记录永远比单纯物料级别的记录优先命中;价格清单(Price List Type,如“标准价格清单”“假日促销价格清单”)则决定从哪个价格清单取价。想定位定价不对,先看定价日志或VA03里的定价分析,它会逐行显示命中的条件记录与顺序。

那组“价格组、物料定价组、客户/物料定价组”字段还决定“组”级别取价:同组客户共享价格,不必逐客户维护。在新项目里,把价格组和价格清单的维护责任划到业务部门,顾问负责定价过程,否则条件记录天天变,没人跟得上。

4. 让订单动起来:从销售订单到交运发货再到开票的完整链路

4.1 创建销售订单:定价、可用性检查与需求传递

销售订单创建时,系统同步做了四件事,资料里重点画了“销售文档的功能”和“定价/可用性检查/传递需求”。顺序上,通常先定价,再检查可用性,然后把需求传给生产和仓库(MRP或按库存生产),最后做信用检查。这四个动作各自依赖前面几章讲的主数据和后台配置。

可用性检查(ATP Check)本质上回答一个问题:这张销售订单能在客户要求的交货期前保证供货吗?检查的范围可以设在工厂层,也可以精确到存储地点。配置没做好最常见的是该物料明明显示有库存,系统却提示“没有可用数量”。先查ATP规则(事务代码OVZ9),看检查范围是否把“收货”纳入了可用的库存(如采购订单收货计划、生产订单入库计划),再看是否开启了“补货提前期”。

需求传递影响的是后续的交货计划行。在按订单生产(MTO)场景下,销售订单还要触发生产订单(PP);按库存生产(MTS)场景下,需求进入MRP算出的净需求里。资料里的“自动产生供应商/生产定单”指的就是这条链路:销售单据→需求→采购申请/计划订单→生产/采购订单。

信用检查在SD项目里容易被业务忽略,但它对财务的风控价值很大。信用控制范围里需要明确:是按客户总额、按未清订单额度还是按风险类别控制;检查级别是“订单创建时预警”“交货时再查一次”还是“开票前查”。这些在资料里虽没有细讲,但销售订单状态里“信用冻结”的标识会直接影响交货单能不能创建。

4.2 交运处理:到期交货清单、拣配、包装和发货过账

资料里的交运流程画得清晰:从销售订单出发,生成交货单,再做拣配、包装,最后发货过账。创建交货单有两条路:一是从销售订单单向复制(VL01N),二是在批量创建“到期交货清单”里处理(VL10)。到期交货清单收集所有满足交货条件的订单行,按交货工厂、装运点、承运人分组,适合每天大批量发运的仓库。

交货单创建后,仓库端有三个动作:拣配(把物料从库存位置拿到发货暂存区)、包装(外包装、箱唛、体积重量)、装运。如果启用了WM(仓库管理),交货单会生成转储需求(Transfer Requirement),库位拣配、下架、上架都走WM的仓内流程,SD的“拣配/包装”就只是指令头。资料里那张从“提货”到“运输”再到“仓库管理”的图,对齐的就是这条链路。

发货过账是整个流程里最值得盯的一步,因为它改变了库存和账。发货过账(VL02N里的“过账发货”按钮)的效果资料列举得很精确:减少仓库库存、按金额更新库存科目、减少交运需求、更新文档流、为发票创建工作清单。我遇到的“库存明明发货了,物料账却不对”的案例,十有八九是这里的移动类型搞错了。SD的标准发货移动类型是601,退货移动类型是653/654,系统会按移动类型去找科目确定规则,科目确定没配好,过账就会卡在报错里。

4.3 开票与财务集成:应收账款、退货与贷项凭证

开票环节对应的输入是“到期发票清单”(事务代码VF04)。销售订单和交货单过账后,发票需求就挂在发票清单上了,开票员在这里勾选、合并、拆分后创建发票。发票类型与业务场景一一对应,资料里列了一整排:标准发票(F2)、退货发票(RE)、贷项凭证(G2)、借项凭证(L2)、取消发票、现金销售、公司间发票等。

开票后与财务的集成是硬连接。一张标准销售发票过账,系统会在FI里生成一笔分录:借应收账款,贷销售收入(含税时贷税金)。销售成本则发生在发货过账那一刻,而不是开发票时,这是“收入在开票、成本在发货”两条腿走路。很多新手只盯收入那张发票,没盯发货过账时成本结转正确与否,最后利润报表看起来像玄学。

退货的业务流是三段的:退货订单(RE)→退货交货→退货发票(贷项凭证)。借项凭证和贷项凭证还有另一种用法:价格差异调整。比如订单价格100,客户发票开成120,如果客户已经付款,不应该改动原发票,而应该另开一张借项凭证补20、或者贷项凭证冲减。资料里相关字段和“退货、借项/贷项凭证处理”指的就这层关系。

4.4 发票处理方式和输出的时间

发票输出可以按文档类型设定“立即”“定时”“在要求时”三种模式。资料里那张“输出类型和输出的时间”图举例很形象:建立订单时立即打印,要求时发货单打印,定时跑批量输出比如月底汇总对账单。输出通道(打印、传真、Mail、EDI、屏幕)是按输出类型设置好的。

这里容易踩坑的是EDI:EDI发票的IDoc类型和输出条件要匹配,常用的是INVOIC02,映射不对会变成业务方收到一堆无法处理的电子单据。新上项目时我一般建议先跑纸面流程,再切EDI,别一步到位。另一个坑是“输出确定”里的条件记录没配,比如某个客户没维护“订单确认”的输出条件,系统就默认不发确认件,业务会以为没接到单。

5. 避坑手记:主数据、定价与交货记账的五类常见问题

5.1 问题一:可用性检查“明明有库存却说缺货”

现象:销售订单里创建交运计划行,系统提示物料缺货,但用MMBE查看库存明明有货。原因:可用性检查的检查范围没把“非限制库存”之外的库存类型纳入,或者检查范围设置成了单独检查存储地点层,而销售订单的交货工厂或存储地点没有维护对应的可用量。解决:先看后台“分配检查范围”(事务代码OVZ9),确认ATP检查规则里的检查模式包含了收货;再在物料主数据销售视图里检查交货工厂是否正确,必要时把检查范围调整为“工厂层+考虑在途收货”。处理量级大时,可用性检查还可以配“期间合计”模式,把多个期间的需求合起来判断,但代价是响应变慢。

5.2 问题二:定价结果不符合预期

现象:同一客户不同订单的净价不同,有的订单出现“零价格”,有的订单莫名打了折。原因:第一步不是骂系统,而是看定价日志或VA03里的定价分析。定价问题多数来自三类:条件记录没匹配(客户/物料组合不对)、定价过程顺序错(条件在错误步骤被追加)、价格清单或价格组在客户主数据里没维护。解决:按“客户主数据→条件记录→定价过程”三个层面排查。先看客户的销售区域数据里价格组有没有填对,再看物料定价组的条件记录是否覆盖了该组合,最后核对定价过程步骤的计算类型。把定价日志截图发给业务,通常比口头解释更快。

5.3 问题三:客户主数据视图不全或合作伙伴角色绕错

现象:创建销售订单时,客户可以输进去,但单据保存不了,提示“业务伙伴或客户主数据缺失销售视图”;或者是发货单上的收货地址不是最终收货方,开票方永远都是售达方。原因:客户主数据的销售区域视图没激活,或合作伙伴确定过程中某个角色未被定义(例如“售达方”与“付款方”没区分)。解决:按客户组检查合作伙伴确定过程(事务代码OBD2/OVP2),确认“售达方”“交货方”“付款方”“开票方”各自的对象类型和必输项;在客户主数据的销售区域“合作伙伴功能”页签里补齐角色。第三方采购开票的那种场景,特别要在订单级覆写合作伙伴,让“开票方”指向第三方供应商。这里没有玄学,只有谁配了谁没配。

5.4 问题四:发货过账后库存没扣或者COGS没带出

现象:交货单过账显示绿灯,但MMBE查询库存数量没有减少;或者财务那边结不了账,发现发货过账凭证缺少成本科目。原因:多半是移动类型对应的科目确定记录缺失,或物料评估类没有在工厂或库存地点视图匹配。移动类型601由系统默认过账,但“发货”的记账是“库存科目减少、销售成本科目增加”,如果科目确定里没配“销售成本”的默认科目,凭证就会停下来。解决:用事务代码OBYC查看移动类型601对应的事件(如“库存”“消耗”等科目分配)是否正确;然后核对物料主数据会计视图的评估类别是否匹配科目确定配置。记住,发货过账永远是两条腿:一边物料凭证、一边会计凭证;成功一条不代表两条都成功。

5.5 问题五:凭证链断了,订单找不到交货单也找不到发票

现象:VA03看销售订单,看不到“后续凭证”,但业务说货已经发出去了。原因:多数是用户没有遵守“从销售订单创建后续凭证”的操作习惯,直接在VL01N里手工按物料、数量新做了交货单,销售订单没有关联文档流;或者做了“参考”但复制控制设置里“后续功能”未激活。解决:在销售订单类型(事务代码VOV8)里检查“复制控制”的后续凭证设置,确认标准订单→交货单的复制范围启用了“复制需求”和“复制价格”;同时在VA03里查看“文档流”选项卡是否为空。如果只是个别单据串了,可以用事务代码SB08按物料加交货单找销售订单,再手工补关联,但批量发生就要回头查“交货单创建时是否强制从销售订单复制”的后台参数。很多系统不强制参考创建,这就是为什么会丢链条。宁可多一道检查,也不要事后救命。

6. 进阶用法:用文档流与SIS做全链路排错

6.1 一张“文档流图”胜过半小时口头沟通

资料里反复强调“销售全过程的文档链接支持”,但真正好用的其实是VA03里的文档流视图。它能按时间顺序列出询价→报价→销售订单→交货单→发票→清账凭证,每一笔都带状态。当业务方说“这笔单子卡住了”,我最先做的就是打开文档流,看它卡在哪个状态:是交货单“未过账”、还是发票“未过账”、抑或是应收账款“未清账”。带这张截图去财务或仓库沟通,半分钟就能对齐问题。

排查技巧有一条很实用:点击文档流里的交货单号往下钻,再点凭证里“物料凭证”的箭号,能跳到FI会计凭证;再从会计凭证点“行项目”,能直接看到收入或成本的科目。这条路径在月结期间排“账实不符”特别管用。我从那以后每次接到“销售单发不出来”的反馈,都让同事先截文档流,再谈其它。

6.2 用SIS做月度销售回顾,而不是只盯着Excel

资料里销售概览图右下角的“SIS/EIS”指的就是销售信息系统。它不等同于报表,而是一套信息结构:后台需要定义信息结构(如按销售区域/客户/物料的销售统计),前台用分析报表事务代码查询。想让SIS出数,前提是把“更新规则”开起来——不是建了信息结构就有数据,系统是按单据过账时通过更新规则自动累加统计的。

落地时建议从S501(销售统计)这类标准结构起步,先在后台定义信息结构,再在“更新控制”里勾选该结构要接收的字段(数量、金额、折扣等)。上生产前一定要用一张已过账的销售订单测试累加逻辑,不然数据缺失你会以为是系统没更新,其实是后台上传没激活。

6.3 学习路径:把每一张图变成一条可走的单

学这份PPT的正确姿势不是翻一遍,而是把它当“流程脚本”用:先自己画一遍销售全流程的箭头,从组织架构→客户主数据→物料主数据→订单→交货单→发货过账→发票→应收,标出每一步的后台配置点;再对照SPRO里“销售与分销”的销售支持、销售、装运、开票四个配置菜单,把订单类型、交货类型、开票类型分配好。最狠的一招是建一个测试物料、一个测试客户,从头走一遍端到端:哪怕只是空白数据,也要把那张“文档流”走满为止。

我给带过的新人定的规矩是:先看懂每一张PPT里的每个箭头,再在系统里还原一遍。箭头能画对,后台配置找起来就有方向。从那以后我每次对“业务流程怎么落地”有疑问,都强制自己先画线再配置,只要线和状态对上,配置基本不会跑偏。希望这份拆解能帮你在SD这条路上少绕几个弯路,也希望你拿到资料后先跑一趟单、再看一遍箭头——顺序反了,学习体验会打折。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询