改写来源:SAP Note 1365939 — VPRS logic and Customizing settings in SD
在 SAP SD 的定价过程中,VPRS 是一个由系统自动计算的成本条件类型。它不像其他条件类型那样通过存取顺序和条件记录确定,而是根据物料评估、凭证流或采购订单历史动态取值。正确理解 VPRS 的取值逻辑和配置要求,是处理 SD 开票成本、CO-PA 成本传递以及第三方/按单生产业务的关键。
VPRS 是 SAP 标准系统中的成本条件类型(condition type),用于在销售开票时反映销售成本。它的主要用途包括:
VPRS 属于 condition category 'G',是一种由系统计算的条件类型,而不是通过条件记录维护的。
VPRS 的值可以从多个来源获取,SAP 按照以下优先级确定:
**前三项来源**主要用于纯第三方业务交易和单独采购订单;**后两项**主要用于基于交货和基于订单的开票。
| 优先级 | 来源 | 适用业务场景 |
|---|---|---|
| 1 | 发票收据(Invoice Receipt) | 第三方采购订单、单独采购订单 |
| 2 | 已评估收货(Goods Receipt Valuated) | 第三方采购订单、单独采购订单 |
| 3 | 采购订单(Purchase Order) | 第三方采购订单、单独采购订单 |
| 4 | 发货(Goods Issue) | 基于交货的开票(Delivery-related Billing) |
| 5 | 物料主数据评估段(Valuation Segment) | 基于销售订单的开票(Order-related Billing) |
| 特性 | 说明 | |
| 条件类别 | 'G',由系统计算 | |
| 定价过程中唯一 | 每个定价过程中只能出现 一次 | |
| 不作为其他条件基础 | VPRS 不应用作其他定价条件的基础 | |
| 汇率规则 | 条件类别 'G' 的货币换算使用汇率类型 'M',与客户主数据中的设置无关 | |
| 小计字段 | 必须分配条件小计 'B'(传值到 KOMP-WAVWR),否则无法确定成本 | |
| 应计相关 | 可以将 VPRS 标记为与应计相关(relevant for accruals) |
#### 子项目成本累计条件
当满足以下条件时,VPRS 可从子项目传递到主项目:
相关功能模块:CUMULATE_SUBITEM_VALUES
在第三方业务中,客户所需物料不由本公司直接交付,而是由外部供应商直接发给客户,并向本公司开具发票。
#### 第三方业务的标准配置
| 配置项 | 值 | 说明 |
|---|---|---|
| 项目类别 | TAS | 第三方项目 |
| 计划行类别 | CS | 第三方计划行,产生采购申请 |
| 开票相关性 | FKREL = 'F' | 按订单开票 |
| Copy Control | Order → Billing | 订单到开票凭证的复制控制 |
| 开票数量标识 | FKMGK = E/F | 决定开票数量来源 |
#### 成本更新机制
**贷项凭证(Credit Memo)**:第三方业务中的贷项凭证**没有 VPRS**,因为贷项凭证不会减少成本。标准条件 28 会将 VPRS 设置为 0.01 且不再更新。
#### 按单生产的标准配置
| 配置项 | 值 | 说明 |
|---|---|---|
| 项目类别 | TAB | 按单生产项目 |
| 开票相关性 | FKREL = 'A' | 按交货开票 |
| Copy Control | Delivery → Billing | 交货到开票凭证的复制控制 |
| 开票数量标识 | FKMGK = E/F | 决定开票数量来源 |
如果将 VPRS 标记为与应计相关:
参考 SAP Note **547570**。
转移价格(Transfer Prices)与 VPRS 并行运行,在发货时以相同方式处理,并通过 form routine TRANSFER_PRICE 传递到定价(相关 include:LV60AA19、LV60AA28、LV60AA90)。
| 业务流程 | 开票依据 | VPRS 主要来源 | 关键事务码 |
|---|---|---|---|
| 基于订单的开票 | 销售订单 | 物料主数据评估价格 | VA01/VA02/VA03、VF01/VF02 |
| 基于交货的开票 | 交货单 | 发货过账 | VL01N/VL02N、VF01/VF02 |
| 第三方业务 | 订单或发票收据 | 发票收据 / 收货 / 采购订单 | VA01、ME21N、MIGO、MIRO、VF01 |
| 按单生产 | 交货单 | 后续 MIRO 自动更新(605+) | VA01、VL01N、MIRO、VF01 |
Q1:VPRS 可以在定价过程中出现多次吗?
A:不可以。VPRS 的 condition category 为 'G',每个定价过程中只能出现一次。
Q2:为什么 VPRS 的值为零?
A:可能原因包括:未分配条件小计 'B'、项目类别不相关、未发生发货/收货、贷项凭证标准条件 28 将 VPRS 置零等。
Q3:第三方业务中,供应商发票过账晚于开票怎么办?
A:系统会尝试通过 SD_INVOICE_VPRS_UPDATE 更新已有开票凭证的成本。如果数量不一致导致更新失败,可运行校正程序 SDVPRSUPDATE。
Q4:按单生产中 Release 605 之前如何更新 VPRS?
A:需要使用报告 SDVPRSUPDATE。从 Release 605 起,MIRO 过账会自动触发更新。
Q5:VPRS 与 CO-PA 有什么关系?
A:VPRS 代表销售成本,通过开票凭证传递到会计和 CO-PA,是 costing-based CO-PA 中成本分析的重要依据。更多内容可参考 SAP Note 1376862。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| VPRS 不显示 | 定价过程中未包含 VPRS 或条件 4 不满足 | 检查定价过程和项目类别配置 |
| VPRS 金额错误 | 成本来源不是期望的凭证 | 查看 KONV-KSTEU 字段确认来源 |
| 第三方开票后成本未更新 | MM 与 SD 数量不一致 | 运行 SDVPRSUPDATE 或检查数量差异 |
| 贷项凭证有 VPRS | 配置异常 | 标准行为是贷项凭证 VPRS 为 0.01,检查条件 28 |
| 会计凭证缺少成本行 | VPRS 未从 GI 传递 | 确保应计配置和 copy control 正确 |
| 类型 | 名称 | 说明 |
| 事务码 | VA01/VA02/VA03 | 销售订单创建/修改/显示 |
| 事务码 | VL01N/VL02N | 交货单创建/修改 |
| 事务码 | VF01/VF02 | 开票凭证创建/修改 |
| 事务码 | ME21N/ME22N/ME23N | 采购订单创建/修改/显示 |
| 事务码 | MIGO | 收货 |
| 事务码 | MIRO | 发票校验 |
| 条件类型 | VPRS | 标准成本条件 |
| 项目类别 | TAS | 第三方项目 |
| 项目类别 | TAB | 按单生产项目 |
| 计划行类别 | CS | 第三方计划行 |
| 字段 | KONV-KSTEU | 成本条件来源控制 |
| 字段 | KOMP-WAVWR | 条件小计 'B' 传递的成本值 |
| 功能模块 | SD_INVOICE_VPRS_UPDATE | 第三方业务中更新开票成本 |
| 报告 | SDVPRSUPDATE | VPRS 成本校正程序 |
| 功能模块 | CUMULATE_SUBITEM_VALUES | 子项目成本累计 |
| SAP Note | 主题 | |
| 1365939 | 本文来源:VPRS 逻辑与配置 | |
| 372772 | VPRS 相关 SD 配置 | |
| 547570 | VPRS 从发货传递的配置 | |
| 117714 | VPRS 相关 | |
| 337542 | VPRS 相关 | |
| 792547 | VPRS 相关 | |
| 24832 | 定价规则 / Copy Control | |
| 371844 | SDVPRSUPDATE 校正程序 | |
| 93153 | 按单生产相关 |
本文由 SAP Note 1365939 改写整理,系统阐述了 VPRS 条件的来源优先级、关键特性、不同业务场景下的行为以及必要的 SD 配置。未对 SAP 标准行为进行推断或编造;具体配置和程序可用性请以 SAP Support Portal 最新版本 Note 及当前系统环境为准。