3. 销售凭证类型与项目类别确定

在S/4HANA销售与订单履约体系中,销售凭证类型(Sales Document Type)是销售流程的“入口开关”。它决定了凭证编号范围、字段选择、项目类别确定规则、计划行类别确定规则、定价过程确定规则、输出控制以及后续交货、开票的联动方式。很多项目上线后出现的“字段不可编辑”“定价条件带不出来”“交货类型不对”等问题,根源往往不在后续模块,而在销售凭证类型与项目类别的确定逻辑没有配置正确。

一、四类销售凭证类型的定位与配置差异

SAP标准交付中,询价(IN)、报价(QT)、订单(OR)、合同(CT)是最常用的四类销售凭证。它们不是简单的“名称不同”,而是在业务控制上存在明确分工:

  • 询价(IN):用于向客户询问需求,通常不参与定价和库存承诺,项目类别多为AFN或类似“无定价、无交货”的类别,计划行类别为空或仅用于信息记录。
  • 报价(QT):基于询价或直接创建,需要定价过程计算报价金额,但不产生交货和开票,项目类别通常为AGN,计划行类别为CP或类似“仅报价”类别。
  • 订单(OR):标准销售订单,需要完整定价、可用性检查、交货计划、开票计划,项目类别为TAN,计划行类别为CP,定价过程为RVAA01。
  • 合同(CT):用于长期协议,通常不直接交货,而是通过“合同释放订单”产生实际发货。项目类别为TANN或类似“合同项目”,计划行类别为空,定价过程仍可带出但更多用于合同金额管理。

配置路径为:SPRO → 销售和分销 → 销售 → 销售凭证 → 销售凭证抬头 → 定义销售凭证类型。在定义界面中,关键字段包括:编号范围、凭证类别、项目类别确定过程、计划行类别确定过程、定价过程确定过程、交货类型、开票类型、字段选择组、屏幕序列等。其中“项目类别确定过程”和“计划行类别确定过程”是本节的核心。

二、项目类别确定规则:四层优先级

项目类别(Item Category)不是直接手工指定的,而是由系统按“销售凭证类型 + 项目类别确定过程 + 物料主数据 + 项目类别组 + 使用”自动推导。其确定顺序如下:

  1. 第一层:销售凭证类型。每个销售凭证类型在抬头配置中分配一个“项目类别确定过程”,例如OR分配过程A,QT分配过程A,CT分配过程A,IN分配过程A。过程本身可以相同,但后续组合不同。
  2. 第二层:物料主数据中的项目类别组。物料主数据销售视图中的“项目类别组”字段(如NORM、DIEN、ERLA)是决定项目类别的关键输入。例如NORM通常对应TAN,DIEN对应TAD,ERLA对应TAB。
  3. 第三层:使用(Usage)。使用字段区分“销售”“采购”“借出”等场景,标准销售订单使用为“销售”,对应项目类别TAN。
  4. 第四层:项目类别确定表。在SPRO → 销售和分销 → 销售 → 销售凭证 → 销售凭证项目 → 定义项目类别确定中,按“凭证类型 + 项目类别组 + 使用”组合分配项目类别。例如:OR + NORM + 销售 → TAN;OR + DIEN + 销售 → TAD;QT + NORM + 销售 → AGN。

实战中常见的错误是:物料主数据项目类别组为空,导致系统无法确定项目类别,订单创建时报“项目类别无法确定”。解决方法是检查物料主数据销售视图是否维护了项目类别组,或为空白组配置默认项目类别。

三、计划行类别确定规则

计划行类别(Schedule Line Category)决定是否进行可用性检查、是否传递需求、是否产生采购申请、是否允许交货。其确定逻辑为:项目类别 + 物料主数据中的计划行类别组 + 使用。配置路径为:SPRO → 销售和分销 → 销售 → 销售凭证 → 销售凭证项目 → 计划行 → 定义计划行类别。

以标准订单项目类别TAN为例,物料主数据中“计划行类别组”通常为NORM,使用为“销售”,系统在“计划行类别确定”表中查找组合:TAN + NORM + 销售 → CP。CP计划行类别表示:进行可用性检查、传递需求、允许交货、不产生采购申请。若物料为按单采购,则计划行类别组为“按单”,对应计划行类别为CB或类似“传递需求并产生采购申请”的类别。

四、定价过程确定规则

定价过程(Pricing Procedure)决定订单中能带出哪些条件类型、计算顺序和计算规则。其确定逻辑为:销售凭证类型 + 客户定价过程 + 物料定价组 + 定价过程确定表。配置路径为:SPRO → 销售和分销 → 基本功能 → 定价 → 定价控制 → 定义并分配定价过程。

标准订单OR通常分配定价过程RVAA01。在“定价过程确定”表中,按“销售凭证类型 + 客户定价过程 + 物料定价组”组合查找。例如:OR + 1(标准客户)+ 01(标准物料)→ RVAA01。若客户主数据中定价过程为空,则使用销售凭证类型中的默认定价过程。实战中若发现订单没有带出PR00条件,应依次检查:客户定价过程、物料定价组、定价过程确定表、条件记录是否维护。

销售凭证类型 → 项目类别 → 计划行类别 → 定价过程 确定链 第一层:销售凭证类型(抬头配置) 询价 IN 项目类别过程 A 报价 QT 项目类别过程 A 订单 OR 项目类别过程 A 合同 CT 项目类别过程 A 第二层:项目类别确定(凭证类型 + 项目类别组 + 使用) OR + NORM + 销售 → 项目类别 TAN 标准订单项目 QT + NORM + 销售 → 项目类别 AGN 报价项目 CT + NORM + 销售 → 项目类别 TANN 合同项目 第三层:计划行类别确定(项目类别 + 计划行类别组 + 使用) TAN + NORM + 销售 → 计划行类别 CP TAN + 按单 + 销售 → 计划行类别 CB AGN + NORM + 销售 → 计划行类别 CP 第四层:定价过程确定(凭证类型 + 客户定价过程 + 物料定价组) OR + 1 + 01 → 定价过程 RVAA01 QT + 1 + 01 → 定价过程 RVAA01 CT + 1 + 01 → 定价过程 RVAA01 确定层级

五、实战配置示例:从零搭建一个“标准订单+按单采购”场景

假设某企业需要配置一个销售订单类型ZOR,用于标准销售,物料A为按单采购。配置步骤如下:

  1. 复制OR为ZOR,编号范围分配18,项目类别确定过程设为A,计划行类别确定过程设为A,定价过程确定过程设为A。
  2. 物料A主数据销售视图中,项目类别组设为NORM,计划行类别组设为“按单”。
  3. 在项目类别确定表中,新增条目:ZOR + NORM + 销售 → TAN。
  4. 在计划行类别确定表中,新增条目:TAN + 按单 + 销售 → CB。CB计划行类别需勾选“传递需求”和“采购申请”,不勾选“交货”。
  5. 在定价过程确定表中,新增条目:ZOR + 1 + 01 → RVAA01。
  6. 创建销售订单ZOR,输入客户和物料A,系统自动带出项目类别TAN、计划行类别CB、定价过程RVAA01。保存后,计划行CB触发采购申请,可在MD04中查看需求。
检查要点:若项目类别未带出,优先检查物料主数据项目类别组;若计划行类别未带出,检查物料主数据计划行类别组和计划行类别确定表;若定价过程未带出,检查客户定价过程、物料定价组和定价过程确定表。三者确定逻辑相互独立,但都依赖销售凭证类型作为第一层输入。

六、常见排障对照

现象可能原因检查点
订单创建时报“项目类别无法确定”物料主数据项目类别组为空或组合未配置物料销售视图项目类别组;项目类别确定表
计划行类别为空,无法交货计划行类别确定表缺少组合,或计划行类别未勾选“允许交货”计划行类别确定表;计划行类别配置
订单没有带出PR00条件定价过程确定表未配置,或条件记录未维护定价过程确定表;VK11条件记录
报价单可以保存但无法转订单报价项目类别AGN未配置“后续凭证”或复制控制缺失项目类别AGN配置;复制控制VTAA

掌握上述四层确定链后,销售凭证类型与项目类别的配置就不再是“凭感觉复制”,而是可以按“凭证类型→项目类别→计划行类别→定价过程”的顺序逐层排查和设计。实际项目中,建议先梳理业务场景清单,再为每个场景定义唯一的“凭证类型+项目类别组+使用”组合,避免组合冲突和默认值覆盖。