SAP SD模块基础配置全攻略:组织架构、主数据与销售流程控制
1. 配置前的全局视野SD模块到底在配什么先别急着敲SPRO得先把SD模块的配置逻辑理顺。很多人一进SAP实施项目就扎进IMG节点里配了半天结果销售订单打不出来回头一查发现是组织架构分配漏了。这类问题我见了太多次根子不在操作而在没有先建立“配置地图”。SAP销售和分销SD模块的基础功能配置本质上是回答三个问题谁在卖组织架构、卖什么/卖给谁主数据、怎么卖销售凭证与流程控制。这三个问题对应三大核心板块彼此之间有严格的依赖顺序。组织架构是骨架。SAP里做一笔销售业务系统必须知道这笔业务属于哪个销售组织、走哪条分销渠道、归哪个产品组、货物从哪个工厂发出、开票归哪个公司代码。这一串关系如果没配好后面全是乱的。主数据是血肉。客户、物料、定价条件这些日常业务天天都在用的数据如果在后台没有定义好字段状态、编号范围、合作伙伴功能前台录入时要么字段缺失要么报错不断要么价格带不出来。销售凭证与流程控制是神经系统。销售订单怎么编号、订单行项目怎么确认、交货单怎么创建、发票怎么开、整个单据链怎么串联这些都由后台配置决定。所以你去看任何一份SD模块实施蓝图前三章基本跑不出这个框架。而这三块里组织架构是“地基中的地基”一旦配错返工成本极高。我曾经在一个项目里见过某公司把销售组织分配给公司代码的这一步漏了结果所有销售订单都无法过账交货业务停摆了两天最后查出来就是这个分配节点的问题。配置之前还有一件事要做确认配置环境。SD模块的配置大多在SPRO事务码SPRO项目视图定制里完成但SAP系统分开发、测试、生产环境配置必须走传输请求才能带着走。很多新手在一个环境里瞎改改完了不知道怎么传最后生产系统完全没生效。我建议所有配置工作从一开始就挂在请求号下每完成一个配置包就释放、传输养成习惯。另外SD模块和FI、MM、LE物流执行模块有大量耦合点比如开票要配财务的过账科目交货要配仓库管理的出货类型。这些跨模块的配置点在起步阶段最好拉一张清单明确每个配置点在哪个模块的IMG路径下避免到时候找不到。2. 组织架构配置业务脉络的骨架2.1 定义销售组织、分销渠道与产品组组织架构的配置起点是“定义销售组织”事务码或SPRO路径企业结构→定义→销售和分销→定义销售组织。销售组织是SD模块最顶层的组织单位代表一个独立的销售实体。在SAP标准配置里它需要分配一个4位数字编号并维护描述文本。这里有个常见的执行误区销售组织不是随便编个号就完了它的编号会出现在后续几乎所有SD单据的主数据里。所以在规划阶段就要想清楚编号规则。我经手的项目里一般建议销售组织编号与公司代码编号保持某种对应关系比如公司代码是1000销售组织可以定为1000、2000等便于业务识别。如果你有多个销售组织每个对应不同的业务线或区域编号规则要提前固化下来写在配置文档里。定义完销售组织后接着定义分销渠道SPRO路径企业结构→定义→销售和分销→定义分销渠道。分销渠道代表产品到达客户手里的方式比如批发、零售、经销、直销、电商等用2位数字编号。产品组SPRO路径同一菜单下的“定义产品组”则代表产品线的划分比如整车、配件、服务也是2位数字编号。这三项是SD组织架构的基础元素但在配置界面里它们之间还没有建立任何业务关系。真正让它们产生意义的是“分配”这一步。2.2 分配关系销售组织到公司代码、销售组织到工厂分配是整个组织架构配置里最容易出错的环节同时也是业务能否跑通的命门。核心分配有三组销售组织到公司代码SPRO路径企业结构→分配→销售和分销→分配销售组织-公司代码。这一步明确了销售组织产生的收入、应收款归哪个公司代码。如果这里没分配创建销售订单时系统直接报错提示“公司代码不存在”或类似信息。为什么要做这个分配因为销售订单最终要过账到财务而财务的凭证货币、科目表都是挂在公司代码下的。一个销售组织可以对应多个公司代码跨公司销售场景但更常见的是一个销售组织对应一个公司代码。销售组织到工厂同一路径下的“分配销售组织-工厂”。这一步决定了销售订单里的货物从哪个工厂发货。销售组织与工厂之间可以是一对多比如一个销售组织下挂多个工厂也可以多对一比如多个销售组织共用同一个工厂。需要特别注意的是这一步的分配直接影响后续的“可用性检查”和“交货”流程——如果订单里的工厂没被分配给当前销售组织系统会报“工厂不存在”或“未分配”的错误。分销渠道到销售组织和产品组到销售组织同一路径下继续找“分配分销渠道-销售组织”、“分配产品组-销售组织”。这两步确定了当前销售组织支持哪些分销渠道和产品组。有一个更复杂但常见的场景是“销售组织分销渠道产品组”组合的分配SPRO路径企业结构→分配→销售和分销→分配销售组织-分销渠道-产品组。你可以为某个销售组织指定“仅批发不零售”或“仅整车不配件”的策略。从系统的角度看这个组合还决定了“销售范围”的更细粒度但实际业务里用得比较谨慎因为一旦限制了组合主数据的维护范围也会跟着受限。配置这些分配时我强烈建议做一张“组织分配对照表”列清楚每个销售组织-工厂-分销渠道-产品组的对应关系。这不仅是自查的工具也是给后续顾问和运维人员的交接文档。2.3 装运点与销售办公室/销售组配置组织架构里还有一块容易被忽略但影响业务深度的内容装运点、销售办公室和销售组。装运点SPRO路径企业结构→定义→物流执行→定义、复制、删除、检查装运点实际上是物流执行LE模块的组织单位但在SD配置里通常一起做。装运点负责实际的货物发运决定了交货单中的“装运点”字段。一个工厂可以对应多个装运点比如“上海工厂-陆运装运点”“上海工厂-空运装运点”。SD交付流程里系统会根据工厂和装运条件自动确定装运点。销售办公室和销售组SPRO路径企业结构→定义→销售和分销→定义销售办公室、定义销售组用于销售团队的内部管理。简单理解销售办公室是一个区域销售分支机构销售组是办公室下面的团队。它们不是业务必须的但如果你的企业要按销售区域、销售团队做业绩统计那就得配。我见过一些项目直接跳过销售办公室和销售组结果后来BI报表要看“各销售团队的订单达成率”发现数据里根本没有这个维度只能回头补配置、补主数据费了很大劲。所以是否配置销售办公室/销售组要在项目蓝图阶段就明确别等上线后再说。组织架构配置最后一个重要步骤是检查配置完整性。SPRO里有个检查工具企业结构→分配→销售和分销→检查能快速检查组织分配是否遗漏。每次配完一个节点我都会先跑一遍检查再进前台用一个测试客户、测试物料创建一张销售订单验证全链路是否打通。这一步看起来简单但能省掉后面数不清的麻烦。3. 主数据配置让业务对象真正“活”起来3.1 客户主数据的账户组与字段状态组织架构配完了接下来面对的是主数据。客户主数据是SD模块里最复杂的主数据之一它的后台配置核心是账户组SPRO路径销售和分销→主数据→业务合作伙伴→销售→定义账户组、字段状态。账户组决定了客户主数据的编号范围、合作伙伴功能、字段状态哪些字段必填、可选、隐藏。举一个实际例子标准SAP里通常有“售达方”“送达方”“收票方”“付款方”这几种客户角色它们分别用不同的账户组区分。如果你不在后台配置好账户组前台创建客户时会发现很多字段压根不显示或者编号范围冲突造成客户主数据重复创建。配置账户组时有个重点字段状态。每个账户组都可以单独设置字段状态比如售达方客户要求“公司代码”必填、送达方客户要求“运输路线”必填。这些设置直接影响CUS客户主数据创建的录入口径。我在项目里一般会建议客户主数据的录入界面尽量精简——把用不到的字段全部隐藏不仅录入快还能减少错误。编号范围是另一个关键配置点。SAP支持内部给号系统自动流水和外部给号业务手动输入两种模式。SD项目里客户主数据通常用外部给号因为很多企业有自己固有的客户编码体系。如果你选外部给号记住把系统编号范围维护成“外部”否则前台手动输号时会报错。客户主数据还有一个隐藏的深坑是合作伙伴功能。SAP里一个客户主数据可以维护多个合作伙伴功能售达方、送达方、联系人、收票人等但这些功能的维护页面位置和逻辑受“合作伙伴确定”配置控制SPRO路径销售和分销→主数据→业务合作伙伴→客户→销售→合作伙伴确定。很多顾问配完了才发现订单里的“送达方”带不出来就是在这一块没配。3.2 物料主数据的销售视图设置物料主数据是SD流程里的第二个主角。它的SD相关配置主要在物料主数据的销售视图Sales Views和物料类型/行业领域的后台定义里。首先物料主数据不是所有字段都能在SD订单里用。比如“基础计量单位”“销售单位”“可用性检查策略”“运输组”等这些字段控制了订单数量、交货和可用性检查的实际行为。后台的物料类型MVKE层决定了物料在某个销售组织/分销渠道下的数据是否有效。这一步容易忽略的地方是物料的“销售状态”和“行业领域”。如果物料主数据没有定义销售视图或者行业领域选择不对订单创建时物料根本选不进来。我在实施中碰到的不少案例都是前台建订单时发现“物料没有为销售组织或分销渠道定义”查下去往往就是MVKE视图缺失。物料主数据配置里还有一个重要环节是物料编号范围。SAP的物料主数据编号有内部和外部之分而SD里的物料编号范围与MM模块共用同一个后台定义。如果物料编号范围在MM里没配好SD这边再折腾也没用。这里要特别注意跨模块协作的沟通问题——SD与MM的主数据配置必须拉通别各配各的。3.3 定价条件主数据与定价过程定价是SD主数据配置里最烧脑的一块但也是业务最关注的部分。定价相关的后台配置主要在SPRO路径销售和分销→基本功能→定价→定价控制。简明说一下完整机制。SAP定价不是把价格直接写死在订单里而是通过“条件记录”“定价过程”两层结构来算价的。条件记录是主数据层面维护的实际价格比如“某一物料对某一客户的价格是100元”定价过程则是后台规则配置它定义了算价时哪些条件类型参与运算、按什么顺序、哪些是计价基准、哪些是附加费用。后台配置的核心任务是定义条件类型比如价格PR00、折扣、运费、税→定义定价过程把条件类型排进计算顺序设置正负号、计算基准→定义定价过程确定把定价过程分配给“销售范围客户定价过程物料定价过程”的组合。这套机制说透了就是一件事告诉系统在什么场景下、按什么算法、算出来一个什么价格。很多项目出问题都出在“定价过程确定”环节。系统确定定价过程的依据里有“客户定价过程”和“物料定价过程”这两个字段它们分别维护在客户主数据销售视图和物料主数据销售视图里。如果在主数据维护时没有设置这两个字段系统会直接采用后台的默认定价过程但默认的那个过程里往往没有配好运费和折扣结果价格就算错了。所以别小看客户主数据和物料主数据里那两个不起眼的字段它们直接决定了采用哪套定价规则。定价配置的另一个容易踩的坑是条件记录与条件类型的有效性。条件记录有有效期过了有效期价格就失效了。很多企业业务问“为什么价格突然变了”查下来就是上一份价格协议的有效期到期了。除此之外条件记录的“适用范围”也容易让人困惑——是只对这个销售组织有效还是全公司有效这些在创建条件记录时要看清。3.4 其他常用主数据客户-物料信息记录除了客户、物料、定价条件SD主数据里还有一类值得一提客户-物料信息记录Customer-Material Info RecordCMIR。它不是必须的但在很多业务场景下非常有用。它解决的典型问题是同一物料不同客户的物料编码不同、交货规则不同、最小起订量不同。通过维护客户-物料信息记录系统能自动把客户的料号转换成内部料号还能记录针对特定客户的“最小订单数量”“交货前置时间”等。后台配置主要在SPRO路径销售和分销→主数据→客户物料信息→定义客户物料信息记录的屏幕布局里面有字段状态、屏幕顺序等内容。这个主数据配置对面向终端零售或渠道分销的企业非常实用。我曾在某制造企业项目里业务方要求在订单界面显示“客户指定品名”当时如果没有排客户-物料信息记录相关的字段就需要开发写增强有了这个配置直接就能落地。所以这块虽然叫“非必须”但在业务需要时能省掉大量开发成本。4. 销售凭证与流程控制单据如何驱动业务流转4.1 销售凭证类型从订单到发票的“身份”销售凭证类型Order Type是SD模块最核心的配置对象之一。每张销售订单都有一个凭证类型比如标准订单OR、退货单RE、免费订单等凭证类型决定了这个单据的编号范围、屏幕格式、项目类别确定、文本类型、合作伙伴功能等一系列属性。配置路径在SPRO路径销售和分销→销售→销售凭证→销售凭证头→定义销售凭证类型。创建凭证类型时你会遇到一个关键概念凭证类型与销售单据类型的区别。SAP里“销售单据类型”是底层的技术分类比如C表示订单、H表示交货、M表示发票而凭证类型是在这个技术分类上的业务自定义。你的“标准订单”可以是自定义的ZOR而不是直接用标准OR这完全取决于项目需求。配置时几个关键参数必须注意编号范围Number Range每个凭证类型都要指定编号范围。如果漏配前台创建订单时直接报“编号范围不存在”。编号范围建议按凭证类型分比如订单用10开头、退货用20开头、报价单用30开头一眼就能从单号分辨业务类型。内部给号还是外部给号也要在配置里明确。项目类别确定规则凭证类型配置里有一个“项目类别确定”按钮它决定了订单行项目采用什么项目类别标准、免费、服务等。这一块要特别小心通常系统会按“物料项目类别组凭证类型项目类别层”的组合来自动确定项目类别。如果配置不对行项目类别就会变成“空”或者“TAN”等奇怪的默认值导致后续交货出问题。文本类型和合作伙伴功能凭证类型上可以指定哪些文本类型有效比如头部文本、项目文本以及合作伙伴功能售达方、送达方等。文本类型配置影响订单打印和后续单据传值合作伙伴功能配置影响订单里“送达方是否显示”“收票方是否默认”等行为。4.2 项目类别与调度行类别订单行的“行为开关”项目类别和调度行类别是SD配置里理解门槛最高、最容易出岔子的地方。简单类比一下凭证类型定义了“这张单子是什么”项目类别定义了“这一行在干嘛”调度行类别定义了“这行怎么交付”。项目类别Item Category配置路径SPRO路径销售和分销→销售→销售凭证→项目→定义项目类别控制了订单行的行为是否参与可用性检查、是否需要交货、是否开票、是库存销售还是寄售等。后台配置里项目类别有一个“交付相关”字段设置为“A自动交货”意味着这个行项目必须生成交货单设置为空则表示无需交货。很多企业在做服务订单或非库存类业务时如果这里没配好系统会强行要求创建交货单业务根本走不通。项目类别确定Item Category Determination的机制是多层组合销售凭证类型 物料项目类别组 项目类别层 → 决定实际的项目类别。物料项目类别组在主数据里维护比如库存商品、非库存商品、服务、免费物品项目类别层在后台按用途定义。这三个维度缺一个项目类别就定不出来。调度行类别Schedule Line Category配置路径SPRO路径销售和分销→销售→销售凭证→调度行→定义调度行类别则控制交货相关的计划行为是否影响物料可用性检查、是否可以部分交货、动态可用性检查的日期类型等。正常标准销售订单的调度行类别是“CP”实际交货但如果你做的是“计划协议”或“长期协议”调度行类别的配置逻辑会有很大不同。实际操作中我最常遇到的报错是“项目类别未确定”或“调度行类别未定义”。这种报错基本都指向同一个原因某条前端路径上的配置组合没有被完整定义。排查时不要只盯着一个节点要在“项目类别确定”“调度行确定”两个配置视图里交叉检查看组合是否都被覆盖了。4.3 单据流与复制控制订单、交货、开票如何联动销售凭证不是孤立存在的它是一条从询价、报价、订单、交货、开票到过账的完整单据链。断开链路最常见的后果是交货单开票时发现“没有可开票的项目”或者开票金额带不出来。支撑单据链的后台配置就是复制控制。配置路径有两类一类是销售凭证之间的复制控制SPRO路径销售和分销→销售→销售凭证→销售凭证的复制控制另一类是交货单的复制控制SPRO路径销售和分销→装运→复制控制。复制控制的核心逻辑是定义“源单据类型 → 目标单据类型”的复制规则并指定在复制过程中哪些数据被带过去、哪些字段可改、哪些字段自动更新。比如从销售订单复制到交货单时交付相关的项目类别和调度行类别必须保持完整否则交货单无法创建。开票部分的复制控制尤其重要。从交货单复制到发票时系统会根据“开票类型确定”来决定使用哪种发票类型。如果复制到发票这一步没配或者发票类型确定规则不对交货完成后你会发现“开票”按钮是灰的。这块我建议在配置时就做端到端验证一张销售订单 → 发货过账 → 开票在测试环境里完整走一遍不要等到上线前才测。单据流的另一个重要配置是销售凭证的完整性与一致性分析事务码V_V2其实就是SPRO里的完整性与一致性检查。配置完成后运行检查系统会列出所有缺少必要配置的凭证类型组合一次性把隐患暴露出来。很多新手不知道这个检查工具我强烈建议所有顾问把“完整性检查”当成配置收尾的标准动作。5. 常见问题与排查技巧实录5.1 组织架构分配遗漏导致的经典报错SD配置完成后最典型的症状之一是前台创建一个销售订单输入客户、物料后回车就报“公司代码不存在”或“工厂XX没有被分配给销售组织XX”。这种报错90%都出在组织分配上。排查思路很简单进SPRO按事务码路径打开销售组织分配界面逐一检查“销售组织-公司代码”和“销售组织-工厂”两条分配记录是否存在。如果缺失补上之后重新创建订单验证。但要注意一点组织分配的修改是有生效范围的。如果只改了开发环境或测试环境生产环境没改那线上还是报错。所以改完分配后要把对应的传输请求按既定流程传到生产环境并且记得在目标环境跑一遍“检查”功能确认分配状态。5.2 客户主数据与字段状态异常的排查创建客户时会发现某些必填字段无法录入或者录入了不保存这类问题多数出现在“字段状态”配置上。字段状态有三层字段状态组Field Status Group、账户组的字段状态、以及客户主数据视图层的字段状态设置。这三层叠加后取交集决定最终可编辑性。如果某个字段在前台不可编辑先判断它属于哪一层被锁死了。常见的案例是“公司代码”在客户主数据里显示不出来——这是因为客户主数据会计视图的字段状态组里把公司代码设为了“隐藏”。反过来“统驭科目”如果没配好客户主数据公司代码视图根本过不了账。排查建议是用事务码VD03打开客户主数据逐个视图看字段状态同时打开后台字段状态的配置界面对照检查很快就能定位是哪个视图、哪个字段状态组出了问题。5.3 定价不生效的排查思路定价不生效的场景五花八门有的条件类型没出现、有计算出来的价格是0、有的折扣没算进去。排查定价问题我的习惯是先看“定价分析”在销售订单行项目上直接点“分析”按钮或者事务码V/06查看定价日志。定价分析会列出系统算价时用了哪些条件类型、它们各自的金额、顺序和金额来源。上面会显示每条条件是否有效、来源是条件记录还是手工输入。很多时候业务说“价格不对”打开定价分析一眼就能看到某个折扣条件类型被系统忽略了原因是它的“计算顺序”没有放在正确的位置或者单元格里公式配置错误。如果条件记录明明存在却没有被读取就检查主数据里的“客户定价过程”和“物料定价过程”字段。这两个字段定义了系统该用哪个定价过程。如果这俩字段是空的系统会用配置里的默认过程而默认过程可能正好没包含你想用的那条条件类型。5.4 凭证复制与单据流中断的排查单据流中断是SD上线后最影响业务的问题报错通常出现在“从交货单复制到开票”的阶段。常见的症状有两种一是开票按钮灰显二是开票时提示“没有可开票的项目”。针对开票按钮灰显最优先排查的地方是交货单的“开票状态”和“计费计划”。交货单如果没有完成发货过账PGI开票按钮确实是灰的。这是业务操作问题不是配置问题。如果发货过账完成但按钮还是灰的那就要查“开票类型确定”配置——交货单行项目有没有分配到正确的开票类型。对于“没有可开票的项目”多数是复制控制里的“项目类别排除”设置导致——交货单里的项目类别没有被设置为“允许开票”。排查时需要到复制控制的配置路径检查“源项目类别→目标项目类别”的映射是否存在且状态正确。我自己在项目中把这些问题整理成了一张速查表非常实用贴出来供参考常见问题优先排查方向常见根因创建订单报“公司代码不存在”组织分配界面销售组织-公司代码未分配创建订单报“工厂未分配”组织分配界面销售组织-工厂未分配客户主数据字段不可编辑字段状态组、账户组配置字段状态设为了隐藏/显示物料在订单中无法选择物料主数据MVKE视图销售视图未维护或行业领域不对价格算错或价格带不出来定价分析日志条件顺序、定价过程确定、主数据字段缺失开票按钮灰显交货单发货状态、开票类型确定未过账或开票类型未配订单无法生成交货单项目类别/调度行类别配置项目类别未设“交付相关”5.5 配置后自检的“五个一”实操心得配置收尾阶段我习惯执行一套“五个一”自检流程几乎每次都能在关键节点堵住问题一张测试订单用配置好的销售组织、分销渠道、产品组、工厂、客户、物料创建一个完整销售订单验证所有字段、价格、项目类别、调度行是否正常生成。一次可用性检查在订单行项目上检查物料可用性确认ATP逻辑和库存/计划收货数据能正确显示。一张交货单从订单创建交货单确认装运点被正确确定、项目类别被正确复制、库存扣减逻辑正常。一次发货过账做发货过账PGI确认物料凭证生成、库存更新、会计凭证正常。一张发票最后开一张发票确认金额、税、收入科目、应收账款科目全部正确过账。这套流程看似繁琐但做完一遍之后基本可以确定SD模块的核心配置链路是通的。项目里我要求所有SD顾问在配置完成后必须跑完这五步再写配置文档。别偷懒这一遍自检比自己翻配置文档复盘管用得多。6. 写在配置完成后的一些经验配置SD模块这件事说到底是把业务规则翻译成系统语言的过程。翻译得好不好取决于配置人员和业务方沟通得够不够细。我做了这么多年SAP实施最大的体会是技术配置的难度通常不是最高的真正的难度在于搞清楚业务到底想要什么。销售组织划分是按区域还是按产品线客户编码是内部给号还是外部给号折扣是订单级还是行项目级这些问题在配置之前没有答案配置过程中就会反复返工。另外一点想提醒的是配置文档一定要随着配置过程同步更新。很多项目到了上线阶段顾问已经开始写配置文档了但明明配置在测试环境改了好几轮文档还是初版内容。等项目上线后运维接手拿着过时的文档排查问题那真是灾难。我自己的习惯是每完成一个配置节点当场更新配置文档标注好SPRO路径、配置值、影响范围、验证方式不做“回忆录式”补写。SD模块的配置是SAP实施中最庞杂、最细碎但又最有成就感的工作之一。把组织架构、主数据、销售凭证与流程控制这三大板块吃透再配以端到端测试和问题排查整个销售业务的骨架就稳稳立住了。后面哪怕遇到复杂的需求比如跨公司销售、寄售、退货流程、计划协议也都是在这些基础配置之上做扩展。基础打得牢上层业务才跑得稳。