Salesforce CPQ 折扣工具(Discounting Tools in Salesforce CPQ)

Salesforce CPQ 让折扣自动化,让每一张报价都定价恰到好处。本文系统讲解 CPQ 的折扣工具:价格瀑布七个字段、套餐选项折扣、基于数量的折扣计划与层级、聚合范围(None/Quote/Group)、跨产品/跨订单聚合、约束字段过滤资产、金额折扣、Range vs Slab、复合折扣、手动折扣单位,以及合作伙伴与分销商渠道折扣和价格瀑布的三种特殊调整字段。...

📅 2026/11/1 ✍️ ponybai 🏷️ salesforce, sales

使用 Salesforce CPQ 进行折扣(01 Use Salesforce CPQ for Discounting)

slide_2

本单元学习折扣如何改善销售流程、理解价格瀑布(price waterfall)的结构,并注册一个启用 Salesforce CPQ 的 Developer Edition 组织。

销售流程中的折扣(Discounting in the Sales Process)

slide_3

当销售代表准备报价单时,几乎一定会想给至少几个产品打折——毕竟他们正在谈判一笔交易。Salesforce CPQ 支持这种基础折扣,但它的能力远不止于此:

  • 自动应用基于数量的折扣(volume-based discount),奖励大批量采购的客户,销售代表无需再去翻找过时的折扣表;
  • 追踪合作伙伴(partner)和分销商(distributor)折扣,让定价细节永不丢失。

总之,Salesforce CPQ 通过简化或自动化折扣流程,让折扣这件事变得轻松。

价格瀑布(The Price Waterfall)

slide_4

为了追踪定价和折扣的调整,Salesforce CPQ 在报价行(quote line)上使用多个价格字段,每个字段代表特定的变化。这些价格通常被称为价格瀑布,因为每个价格会向下「级联」到下一个价格。各字段含义如下:

价格字段表示内容
Original Price(原始价格)价格手册价格(price book price)
List Price(列表价格)价格手册价、总价百分比、批量价格或选项价格覆盖
Special Price(特殊价格)成本加成价、合同价或选项折扣
Regular Price(常规价格)数量折扣的结果
Customer Price(客户价格)手动可编辑折扣的结果
Partner Price(合作伙伴价格)合作伙伴折扣的结果(手动或自动化设置)
Net Price(净价)分销商折扣的结果(手动或自动化设置)

例如,CPQ 取 Special Price 减去数量折扣得到 Regular Price,再用 Regular Price 减去手动折扣得到 Customer Price,以此类推。Net Price 就是我们真正向客户收取的价格,它也会同步到商机产品(opportunity product)的价格上。

注册含 Salesforce CPQ 的 Developer Edition 组织

slide_5

要完成本模块,需要一个包含 Salesforce CPQ 和示例数据的特殊 Developer Edition 组织。先注册免费的 CPQ Developer Edition 并连接到 Trailhead:

  1. 注册一个免费的 含 Salesforce CPQ 的 Developer Edition 组织;
  2. 填写表单——Email 填写有效邮箱,Username 填写类似邮箱地址且唯一的用户名(无需是真实邮箱);
  3. 点击 Sign me up;
  4. 收到激活邮件后,打开并点击 Verify Account;
  5. 设置密码和密保问题完成注册(建议记下用户名、密码和登录 URL)。

然后把新组织连接到 Trailhead:在挑战区点击组织名 → Connect Org → 输入刚设置的 Developer Edition 凭据 → Allow → Yes! Save it。现在你就有一个启用 CPQ 的组织,可以开始学习手动和自动折扣的各种方式了。

探索套餐内的折扣选项(02 Explore Discount Options Within Bundles)

slide_6

本单元为套餐(bundle)选项配置自动折扣,并了解选项定价如何与其他定价方式交互。

购买套餐更划算(Buy the Bundle and Save)

slide_7

套餐(Bundles)是作为一组一起销售的产品的集合,能帮助销售代表记住哪些产品应该搭配销售、哪些产品可用于追加销售。为了鼓励客户购买套餐,企业通常会对套餐内产品打折,而让非套餐产品保持原价。Salesforce CPQ 恰好支持这种场景,让管理员可以轻松设置基于套餐的折扣。

例如,AW Computing 希望在 Security Console 套餐中销售 Interior Badge Reader 时给予 10% 的折扣——这正是套餐折扣的典型用例。

设置选项折扣(Set Up an Option Discount)

slide_8

AW Computing 销售多种科技产品套餐。Security Console 是一套为办公室安全设计的产品套件,包括安全门卡、门锁和键盘等。公司想为 Interior Badge Reader 提供 10% 折扣,但仅限于在 Security Console 套餐中销售时。更新套餐选项即可让折扣自动应用:

  1. 点击 App Launcher,然后点击 Salesforce CPQ 磁贴;
  2. 从导航栏点击 Products,选择 All Products 列表视图;
  3. 点击 Security Console;
  4. 点击 Related 标签页;
  5. 点击 PO-000014(这是 Interior Badge Reader 专属的 Product Option);
  6. 点击 Edit;
  7. 在 Discount (%) 字段输入 10;
  8. 点击 Save。

测试结果:把 Security Console 加入报价单,打开 Interior Badge Reader 的报价行抽屉,可以看到 Special Price 为 $58.50,正好比 $65.00 的 List Price 低 10%。

选项折扣与其他定价方式

slide_9

Special Price 字段既表示选项折扣,也表示成本加成(cost plus markup)和合同定价(contracted pricing)。由于 Special Price 字段只能使用一种调整,CPQ 按优先级决定:

  1. 成本加成(Cost Plus Markup)——优先级最高;
  2. 合同定价(Contracted Pricing)——其次;
  3. 选项折扣(Option Discount)——最后,且仅在无其他调整时作用于 List Price。

选项折扣是自动给套餐产品打折的一种简单方式。另一种自动化方式是折扣计划(Discount Schedules),用于设置基于数量的定价,奖励大批量采购的客户。

设置基于数量的折扣计划(03 Set Up Volume-Based Discount Schedules)

slide_10

本单元创建可复用的折扣计划和折扣层级,让折扣按数量自动应用,并了解它们可以用在哪些地方。

提高销量(Pump Up the Volume)

slide_11

大批量采购能省钱——为什么不一次买 40 卷纸巾享受折扣呢?企业用这种数量折扣鼓励更大的订单,但销售代表很难记住每种数量该打多少折。Salesforce CPQ 用 Discount Schedules 自动为每笔交易应用正确的数量折扣。可以把折扣计划想象成一张数量与百分比的对照表:

下限数量上限数量(含,不包含)百分比
306010%
609020%
90无上限30%

注意:层级的上限不包含在内——所以买 60 件享受 20% 折扣,而不是 10%。把上限设成与下一层下限相同(都是 60),可以避免分数数量(如 59.5)落空而享受不到折扣。

创建并应用折扣计划(Creating and Applying Discount Schedules)

slide_12

AW Computing 销售带门锁、RFID 门禁读卡器和 RFID 门卡的安全系统。为鼓励客户多买门卡,买超过 100 张打 9 折、超过 200 张打 8 折。实现分两步:先创建折扣计划,再把它挂到 RFID Key Card 产品上。

创建名为 Bulk Keys 的折扣计划:点击 Discount Schedules → New,Name 填 Bulk Keys,保存。然后点击 Edit Tiers 创建两个层级:

  • First Level:Lower Bound 100,Upper Bound 200,Discount 10%;
  • Second Level(点 + 号新增):Lower Bound 200(无上限),Discount 20%。

再把它应用到产品:Products → RFID Key Card → Edit → Discount Schedule 字段选择 Bulk Keys → 保存。

测试:把 RFID Key Card 加入报价单,数量改为 120 后点 Calculate,Regular Unit Price 变为 $0.90(正好比列表价低 10%);改成 250 再计算,变为 $0.80(8 折)。折扣自动应用,销售代表无需手动输入。

由于该报价行使用了折扣计划,行上会出现一个图标;悬停会弹出覆盖层显示折扣计划详情。你也可以把折扣计划信息直接写进提案(proposal),让客户知道买得越多越划算。

折扣计划记录本身不绑定任何产品,因此同一个 Bulk Keys 计划可以复用于任意数量的产品,非常灵活。

使用折扣计划的其他位置

slide_13

上面是把折扣计划挂到 Product 记录上。但如果 AW Computing 只想让折扣计划在某产品于特定套餐中销售时生效呢?套餐中的 Product Option 记录也有自己的折扣计划查找字段。管理员只需把 Bulk Keys 从 Product 记录移除,改挂到套餐的 Option 记录即可。

拥有折扣计划查找字段的对象很多,可以非常精准地应用数量定价:

对象数量折扣场景优先级
Contracted Price仅对特定账户折扣1(最高)
Price Dimension订阅产品的一次性费用或订阅期分段2
Product Option仅当产品在套餐中销售时3
Feature套餐功能中的每个产品4
Product产品加入报价单时5(最低)

当一条报价行符合多个折扣计划时,CPQ 使用优先级最高的那个——例如 Contracted Price 的折扣计划会优先于 Product 的折扣计划。

按价格手册限制折扣计划(Limiting Discount Schedules By Price Book)

slide_14

有时企业用不同的价格手册(price book)控制不同类型客户的定价。默认情况下,折扣计划适用于所有报价单,无论用哪个价格手册。要排除某个价格手册,可在折扣计划记录的 Excluded Pricebook IDs 字段粘贴该价格手册的 Salesforce ID(多个 ID 用逗号分隔)。

还有一种限制方式:在折扣计划记录上同时使用 Product 和 Price Book 两个查找字段,让计划只在「指定产品 + 指定价格手册」的组合下生效。这种方式很少用(因为限制太强),但在边缘场景下很有用。注意:这样设置的折扣计划会覆盖 Product 记录上的 Discount Schedule 查找字段,但相比其他位置优先级仍然最低。

配置折扣计划的数量(04 Configure Quantities for Discount Schedules)

slide_15

本单元配置折扣计划如何跨报价行、套餐、产品和订单统计数量。

真正的层级数量是哪一个(Will the Real Tier Quantity Please Stand Up)

slide_16

你创建了一个买 150 张门卡打 9 折的折扣计划。但如果这 150 张被拆成两条各 75 张的报价行,还能享受折扣吗?如果其中 60 张是套餐里免费赠送的呢?答案取决于折扣计划的设置——Salesforce CPQ 支持多种统计或排除数量的方式。

聚合范围(Aggregation Scope)

slide_17

最重要的折扣计划设置之一是 Aggregation Scope 字段,它告诉 CPQ 如何处理共享同一折扣计划的多条报价行。有三种选择:

  • None(默认):每条报价行独立处理,不做聚合;
  • Quote:统计整个报价单里所有报价行的数量;
  • Group:统计同一报价行组(quote line group)内的数量。

例如三条报价行数量分别为 75、75、75:None 下任何行都不打折;Quote 下总计 225,享受第二层 20% 折扣;Group 下前两条(同组)合计 150 享受 10% 折扣。注意:标记为 optional 的报价行永远不计入聚合数量。

聚合范围与套餐(Aggregation Scope with Bundles)

slide_18

有一个反直觉的情况:假设 Bulk Keys 折扣计划只挂在套餐选项上,而没有挂到 RFID Key Card 产品记录上。销售代表卖出带门卡的 Security Console 套餐,又单独加了一条门卡报价行。

即使聚合范围设为 Quote,也只有套餐内门卡的数量被统计,单独那 400 张门卡被忽略——因为两条报价行没有共享同一个折扣计划。如果想让单独门卡与套餐门卡一起聚合,必须把 Bulk Keys 也挂到 RFID Key Card 的产品记录上。

此外,有些套餐产品因 Product Option 上的 Bundled 勾选而免费。默认这些免费产品的数量不计入折扣计划计算;若需要计入,勾选折扣计划记录上的 Include Bundled Quantities 复选框。

跨产品聚合(Cross Products Aggregation)

slide_19

AW Computing 也销售 RFID Key Fobs(门禁扣),希望客户买门扣时享受与门卡相同的数量折扣,于是把 Bulk Keys 复用到 Key Fob 产品记录上。但销售代表发现,同一报价单上两种产品是独立计算数量的。能否把门卡和门扣的总数合并计算折扣?这就是跨产品聚合(cross product aggregation)。

只要勾选折扣计划记录上的 Cross Products 字段,CPQ 就会聚合共享同一折扣计划的不同产品数量。这样销售代表卖 75 张门卡 + 25 个门扣,两条报价行都享受 10% 折扣。

注意:Cross Products 只有在 Aggregation Scope 设为 Quote 或 Group 时才生效。

跨订单聚合(Cross Order Aggregation)

slide_20

想象上次客户买了 80 张门卡(不够数量折扣门槛),这周又回来买 50 张——合计 130 张本应享受折扣。默认 CPQ 把每张报价单独立处理,但勾选折扣计划上的 Cross Orders 字段后,就能把历史销售的数量也算进来。

CPQ 通过客户账户关联的资产记录(asset records)了解客户过去购买了什么;资产在 CPQ 合同(contracting)流程中自动创建。

注意:Cross Orders 只影响当前报价单上门卡的价格,不会追溯给过去的销售打折,也不会「补齐」客户本应省下的差价。此外,Cross Orders 默认使用客户所有资产(包括多年前买的)。要限制哪些资产计入,需要额外调整(下一单元讲解)。

按记录和字段过滤折扣计划(05 Filter Discount Schedules by Records and Fields)

slide_21

本单元用公式字段、答案键(answer key)和约束字段(constraint field)过滤哪些记录计入折扣计划的数量总和。

简介:过滤折扣计划中的记录

slide_22

CPQ 可以跨订单聚合数量,但有时你不想让每条记录都计入总数。例如,AW Computing 只想统计过去 365 天内购买的资产。通过一点设置——一个公式字段、一个答案键和一个约束字段——就能过滤哪些记录计入聚合总数。

区分新旧资产(Distinguish Old and New Assets)

slide_23

过滤记录的第一步是区分哪些资产是过去 365 天购买的。AW Computing 维护着一个名为 Purchase Date 的资产字段。用它创建一个名为 Purchased This Year 的公式复选框字段,当 Purchase Date 距今不足 365 天时返回 True:

  1. 点击齿轮 → Setup;
  2. 点击 Object Manager → Asset → Fields & Relationships → New;
  3. 选择 Formula → Next;
  4. Field Label 输入 Purchased This Year;
  5. Formula Return Type 选 Checkbox → Next;
  6. 在公式窗口输入 TODAY() - PurchaseDate < 365;
  7. 点击 Check Syntax 确认,然后 Next、Next、Save。

现在过去 365 天内购买的资产会自动勾选,更早的则未勾选,资产被分成两组。

创建答案键(Create an Answer Key)

slide_24

我们知道「Purchased This Year 勾选时资产应计入聚合」,但 CPQ 还不知道。要把这个认知转成 CPQ 能理解的格式——创建一个答案键(answer key),它回答的问题是「Purchased This Year 的哪个值表示应把资产计入聚合?」

答案键是报价(Quote)对象上的一个自定义文本公式字段,始终返回 True:

  1. 在 Setup 中点击 Object Manager → Quote → Fields & Relationships → New;
  2. 选择 Formula → Next;
  3. Field Label 输入 Purchased This Year(字段名必须与资产字段同名,这是链接答案键与答案的关键);
  4. Return Type 选 Text → Next;
  5. 公式窗口输入 "true"(含引号);
  6. Next、Next、Save。

更新折扣计划约束字段(Update Discount Schedule Constraint Field)

slide_25

最后一步是更新 Bulk Keys 折扣计划,用答案键作为过滤资产记录的约束字段:

  1. Setup → Object Manager → Discount Schedules → Fields & Relationships → Constraint Field;
  2. 在 Values 列表点击 New;
  3. 输入 Purchased_This_Year__c(必须用精确的 API 名称,否则 QLE 会报错)→ Save;
  4. 回 CPQ 应用:Discount Schedules → Bulk Keys → Edit;
  5. 勾选 Cross Orders;
  6. Constraint Field 选 Purchased_This_Year__c → Save。

现在只有过去一年内购买的资产才会计入折扣层级的数量。

测试你的工作(Test Your Work)

slide_26

用 University of Arizona 客户测试——它过去买过两次门卡:80 张(旧)+ 50 张(近期)。给它的报价单加 50 张门卡:80 张旧卡不计入,只有 50 张近期 + 50 张本次 = 100 张,恰好享受 10% 折扣。这确认了约束字段生效,只有过去一年内购买的资产被计数。本例用 Purchase Date 驱动公式字段,但你其实可以用资产记录上的任何信息,让 Constraint Field 非常灵活。

报价行数量字段(Quote Line Quantity Field)

slide_27

默认 CPQ 用报价行的 Quantity 字段决定折扣层级。但有时你不想用报价行数量——例如 AW Computing 想按销售的门锁数量(而不是门卡数量)给门卡打折:买超过 30 个门锁,门卡享受 5% 折扣。此时门卡数量无关紧要。设置方法:

  • 先在 Quote Line 对象上创建数字字段 Total_Locks__c;
  • 更新每条门卡报价行的 Total_Locks__c 值(用价格规则 price rule 很合适);
  • 再把 Bulk Keys 折扣计划的 Quote Line Quantity Field 设为 Total_Locks__c(需先把它加入 picklist)。

注意:使用 Quote Line Quantity Field 的折扣计划不支持跨订单(Cross Orders)聚合资产数量。

覆盖基于数量的折扣(06 Override Volume-Based Discounts)

slide_28

本单元配置基于金额的折扣、控制折扣计划的覆盖行为,并了解 Range vs Slab 折扣计划与复合折扣。

百分比 vs 金额折扣计划(Percent vs Amount Discount Schedules)

slide_29

折扣计划大多按百分比降价,可复用于不同价格的产品。但有些企业需要按固定金额折扣——例如 AW Computing 对超过 50 份的复印纸每份减 $5.00,无论纸价是 $85 还是 $87。把折扣计划的 Discount Unit 字段设为 Amount,层级编辑器就会显示 Discount ($) 字段而非 Discount (%)。

注意:如果组织启用了多币种,金额折扣计划需要为每种币种分别设置折扣层级。

折扣计划覆盖行为(Discount Schedule Override Behavior)

slide_30

自动应用折扣很方便,但销售代表无法控制折扣计划的值。Override Behavior 字段控制销售代表能否在 Quote Line Editor 中修改折扣层级,有三个选项:

  • --None--:所有值固定,不可编辑;
  • All:可修改每层的上下限和百分比/金额,完全控制;
  • Current Tier Only:只能修改当前数量所在层级的百分比/金额(上下限虽可编辑但不影响计算)。

当销售代表保存修改时,会生成原折扣计划的克隆,只用于当前报价单,源计划保持不变。克隆计划带一个指向原计划的查找字段(方便回退),以及 Quote 和 Account 查找字段,还有 User Defined 复选框便于识别。由于覆盖让销售代表对定价有很大控制权,建议创建验证规则或审批流程,并培训销售代表正确添加层级(如果某层下限不等于上一层上限,会出现错误提示)。

Range vs Slab 折扣计划

slide_31

创建 Bulk Keys 时,加 250 张门卡得到每张 $0.80、共 $200.00——最高层 20% 折扣应用到了所有 250 张。这是因为 Discount Schedule Type 默认是 Range。若改为 Slab,计算方式完全不同:250 张被分成三段(slabs)——1-99 张无折扣,100-199 张打 9 折,200-250 张打 8 折。Slab 下总价是 $229.80,而非 Range 的 $200.00。

Slab 适合「每层不同单价」的场景,例如「前两个免费,其余原价」:建一个 100% 折扣的层级,用 Slab 时买 5 个则前两个免费、后三个原价;若用 Range 则 5 个都不打折。

注意:Slab 折扣计划不支持跨产品(因为无法判断哪些单位该打折——门卡还是门扣)。

复合折扣作为折扣计划的替代(Compound Discount)

slide_32

折扣计划能精确定义数量折扣,但还有一种无需定义折扣计划的方式——复合折扣(compound discount),它为每个可能的数量给出不同的折扣百分比。

复合折扣用一个数学函数计算,只需定义一个参数:1/(Quantity^(Compound Discount/100))。把函数画成图,x 轴是数量、y 轴是价格乘数:1 件时乘数为 1(原价),2 件约 0.87(约 87 折),6 件约 0.7(约 7 折)——每个数量都有自己的乘数(即使数量巨大也永远不为零)。

在产品的 Compound Discount 字段设置值,CPQ 自动调整 Regular Price。注意:复合折扣和折扣计划都会影响 Regular Price,但两者同时使用时只有复合折扣生效。

应用手动折扣(07 Apply Manual Discounts)

slide_33

本单元直接在报价行上应用手动折扣、自定义折扣单位,并使用组级和报价级默认折扣。

报价行附加折扣(Additional Quote Line Discounts)

slide_34

除了自动折扣,销售代表有时想自己打折——比如在谈判中压过竞争对手的价格,或把某行 100% 折扣当赠品。CPQ 允许销售代表逐行打折,让报价价格恰到好处。手动折扣可以是百分比,也可以是每单位金额。

手动折扣影响 Customer Unit Price 字段:CPQ 取 Regular Price 减去手动折扣。另有一个公式字段 Additional Disc. 计算两个价格之差再乘以数量,方便在提案模板中使用(它总会有值,而 Additional Disc. (%) 和 Additional Disc. (Amt) 会有一个为空)。

每个产品都可以设为不可折扣(Non Discountable),勾选产品记录上的 Non Discountable 复选框后,Quote Line Editor 中的折扣字段会被锁定。

自定义折扣单位(Customizing the Discount Units)

slide_35

Quote Line Editor 默认只提供百分比和金额折扣,但还可以添加两种:Unit(每单位目标价)和 Total(整行目标价)。方法是创建一个 picklist 字段,字段名必须精确为 AdditionalDiscountUnit,picklist 值依次为:Percent、Amount、Unit Override、Total Override。

选 Unit 时销售代表直接输入期望的单价,CPQ 自动算出所需折扣;选 Total 时(数量大于 1)输入期望的整行总价,CPQ 自动算出每单位折扣。保存时,Unit/Total 输入的值会转换为金额折扣——例如 $75/Unit 的 $100 产品,保存后报价行显示为 $25 折扣。这个字段还可以限制允许的折扣类型(删掉其他 picklist 值即可只留百分比)。

组与报价级别的默认折扣(Group and Quote Level Default Discounts)

slide_36

技术上折扣总是应用在报价行级别,但有两个默认值字段:报价级的 Additional Disc. (%) 字段是「兜底」折扣——没有单独折扣的报价行会使用它。组级 Additional Disc. (%) 类似,作用于组内没有特定折扣的报价行。

优先级是:报价行 > 组 > 报价。例如报价级设 10%,组级设 25%,某行单独设 2%——那行最终用 2%,组内其他行用 25%,组外行用 10%。

注意:标记为 Non Discountable 的产品会同时忽略组级和报价级的默认折扣值。

按套餐折扣(Discount By Package)

slide_37

套餐选项记录上有个 Discounted by Package 复选框。勾选后,选项的 Additional Discount 字段会在 QLE 中锁定,并继承主产品(lead product)的折扣百分比——点击 Calculate 或保存报价单时自动复制下来。这样套餐主产品与其选项的折扣保持一致。

注意:Discounted by Package 只在主产品使用百分比折扣时生效。若使用金额/单价/总价折扣,选项折扣保持锁定但仍受组级或报价级折扣影响;若选项的 list price 设为 Included,或选项产品标记为 Non Discountable,则不给选项打折。

配置合作伙伴与分销商折扣(08 Configure Partner and Distributor Discounts)

slide_38

本单元配置合作伙伴和分销商渠道折扣,并用特殊字段调整价格瀑布。

渠道折扣(Channel Discounts)

slide_39

合作伙伴和分销商替你销售产品时,通常能拿到额外的渠道折扣(channel discounts)。CPQ 用报价行上两个独立的百分比字段追踪它们:Partner Discount 产生 Partner Price,Distributor Discount 产生 Net Price。

和报价级 Additional Disc. 类似,报价级也有 Partner Discount 和 Distributor Discount 兜底字段——若某行没有特定值,就自动使用报价级的值。若不想让某产品拿到合作伙伴折扣,勾选产品记录上的 Non-Partner Discountable,可锁定该字段并阻止它继承报价级合作伙伴折扣。

用列表价格计算渠道折扣金额

slide_40

由于价格瀑布的处理顺序,每多一层折扣,合作伙伴折扣的金额就越小。例如 $100 产品先打 8 折(volume)再打 9 折(manual),此时 50% 的合作伙伴折扣只有 $36——正好是 Customer Price 的一半。

有些企业希望合作伙伴/分销商折扣按List Price 的百分比计算(不受 volume 和 manual 折扣影响),这样在瀑布末端扣减时金额更大。做法:在 Quote 对象上创建数字字段 ChannelDiscountsOffList__c,值为 0 时保持标准瀑布;值为 1 时用 List Price 作为 Partner/Distributor Discount 的计算基础。建议把它做成总是返回 1 的公式字段,避免误改。

注意:用 ChannelDiscountsOffList__c 时,大额折扣可能导致负价格。

在价格瀑布中提前应用合作伙伴折扣

slide_41

合作伙伴折扣通常很晚才应用(在客户类折扣之后)。若需让合作伙伴折扣在 volume 和 manual 折扣之前生效,可创建特殊字段 ApplyPartnerDiscountFirst__c:值为 1 时,CPQ 在 Regular Price 之前扣除合作伙伴折扣。此时成本加成定价会被忽略,CPQ 直接从 List Price 扣合作伙伴折扣;合作伙伴价格也从瀑布中移除,分销商折扣直接从 Customer Price 扣到 Net Price。

注意:不要同时使用 ApplyPartnerDiscountFirst__c 和 ChannelDiscountsOffList__c,这不受支持,会导致价格计算错误。

最后应用附加折扣(Apply Additional Discounts Last)

slide_42

最后一个价格瀑布调整是把客户价格移到净价之后,让手动折扣在渠道折扣之后应用。做法:创建数字字段 ApplyAdditionalDiscountLast__c,值为 1 时客户价格移到瀑布末尾,手动折扣最后应用;值为 0 保持原样。

由于客户价格移到末尾,CPQ 改用 Regular Price 计算合作伙伴价格,并且在同步报价行到商机时使用客户价格(而非净价),使商机产品价格准确反映客户实际要支付的金额。

注意:ApplyPartnerDiscountFirst__c 优先于 ApplyAdditionalDiscountLast__c(两者都为 1 时只有前者生效);也不要与 ChannelDiscountsOffList__c 同用。若业务不使用渠道折扣,就保持价格瀑布原样即可。


文章来源:Trailhead - Discounting Tools in Salesforce CPQ