Discount Eligibility, Stacking, Exclusivity, Precedence, and Overrides
Discounts, Promotions, Adjustments, and Precedence
Mengelola commercial adjustments tanpa menghasilkan stacking yang ambigu.
Part 019 — Discount Eligibility, Stacking, Exclusivity, Precedence, and Overrides
Positioning
Discount bukan hanya angka negatif.
Dalam enterprise CPQ, commercial adjustment dapat berasal dari:
- promotion;
- customer contract;
- volume commitment;
- partner agreement;
- channel policy;
- loyalty;
- migration program;
- manual negotiation;
- waiver;
- and exception approval.
Tanpa model yang eksplisit, sistem akan sulit menjawab:
- discount mana yang eligible;
- discount mana yang boleh ditumpuk;
- urutan penerapannya;
- basis perhitungan;
- siapa yang berwenang melakukan override;
- dan apa yang harus terjadi ketika quote berubah.
Core thesis: discount dan promotion harus dimodelkan sebagai first-class commercial decisions dengan eligibility, scope, basis, sequence, exclusivity, validity, authority, dan provenance yang eksplisit.
1. Adjustment
Adjustment adalah perubahan terhadap price component atau subtotal.
Possible effects:
- decrease;
- increase;
- replace;
- waive;
- cap;
- floor;
- or credit.
2. Discount
A Discount reduces a price.
Possible forms:
- fixed amount;
- percentage;
- unit-rate reduction;
- recurring-period discount;
- quantity-based discount;
- or negotiated adjustment.
3. Promotion
A Promotion is a campaign- or program-driven commercial incentive.
It may create:
- one or more discounts;
- free periods;
- allowance;
- bundle benefit;
- waived fee;
- or bonus product.
Promotion is not always equivalent to one adjustment.
4. Surcharge
A Surcharge increases price.
Examples:
- expedited delivery;
- remote-site handling;
- high-risk account;
- and special compliance.
5. Waiver
A Waiver removes or reduces a specific fee.
It should preserve:
- original fee;
- waiver reason;
- authority;
- and scope.
6. Credit
A Credit may reduce future or current obligation.
It may be:
- immediate;
- deferred;
- usage-based;
- or billing-side.
7. Override
An Override changes the calculated commercial result outside normal automatic pricing flow.
Possible types:
- rate override;
- amount override;
- discount override;
- fee override;
- and price lock.
8. Adjustment versus Override
Adjustment
Preserves base price and applies a delta.
Override
Replaces or constrains the calculated result.
Prefer adjustment where possible because it preserves explainability.
9. Discount Source
Possible sources:
- catalog;
- price list;
- promotion;
- contract;
- partner agreement;
- account entitlement;
- approval decision;
- manual negotiation;
- and external pricing service.
10. Source Identity
Each discount should reference:
- source type;
- source ID;
- version;
- and effective period.
11. Eligibility
Discount eligibility answers:
Is this adjustment allowed for this context?
Inputs may include:
- customer segment;
- channel;
- product;
- quantity;
- term;
- contract;
- geography;
- existing products;
- promotion code;
- and effective date.
12. Eligibility Is Not Application
A discount may be eligible but not selected because:
- another discount is better;
- exclusivity applies;
- cap reached;
- or customer did not accept conditions.
13. Automatic Discount
Applied automatically when eligibility holds.
Need deterministic behavior and explanation.
14. User-Selected Promotion
User may choose from eligible promotions.
Need:
- explicit selection;
- and consequences.
15. Code-Based Promotion
Promotion code can unlock a rule.
Need:
- validation;
- usage limits;
- and abuse controls.
16. Approval-Based Discount
Discount becomes effective only after approval.
17. Contractual Discount
Derived from agreement or negotiated rate.
It may have higher precedence than general promotion.
18. Partner Discount
May represent:
- wholesale reduction;
- reseller margin;
- commission;
- or rebate.
Do not expose partner economics incorrectly to end customer.
19. Loyalty Discount
May depend on:
- tenure;
- portfolio;
- spend;
- or renewal.
20. Migration Discount
Encourages movement from legacy product to target product.
Need source and target lineage.
21. Volume Discount
Depends on quantity or committed volume.
Can apply:
- per item;
- across quote;
- across account;
- or across contract.
22. Term Discount
Longer term may receive lower recurring rate.
23. Bundle Discount
Applies when a required set of components is selected.
24. First-Period Discount
Applies only to first billing period.
25. Limited-Duration Discount
Applies for N periods or until date.
26. Permanent Discount
Applies until termination or policy change.
Use cautiously.
27. Threshold Discount
Applies when quantity or spend exceeds threshold.
28. Fixed-Amount Discount
Example:
-100 USD
Need scope and minimum-price guard.
29. Percentage Discount
Example:
10% of eligible recurring subtotal
Basis must be explicit.
30. Unit Discount
Example:
-5 USD per site per month
Need unit and quantity.
31. Price Replacement
Example:
Use negotiated rate 80 USD/month
This is not the same as a 20 USD discount if base may change.
32. Adjustment Scope
Possible scopes:
- one price component;
- one quote item;
- one bundle;
- one site;
- one charge type;
- one billing period;
- quote subtotal;
- or entire agreement.
33. Scope Identity
Store explicit target IDs or scope definition.
34. Basis
A discount basis can be:
- list price;
- base price;
- effective pre-adjustment amount;
- eligible subtotal;
- or net amount.
35. Basis Ambiguity
For 10% discount, ask:
- 10% of what?
- before or after other discounts?
- which charge types?
- which periods?
36. Eligible Component Set
A discount may apply only to:
- recurring components;
- non-recurring fees;
- selected products;
- or taxable components.
37. Excluded Components
Examples:
- tax;
- regulatory fee;
- usage overage;
- and pass-through cost.
38. Stacking
Stacking means multiple adjustments apply together.
39. Stackable Discount
Can coexist with other eligible adjustments.
40. Exclusive Discount
Cannot coexist with specified group or adjustment types.
41. Stacking Group
Group discounts by mutual exclusivity.
Example:
PROMOTION_GROUP = ACQUISITION
Only one acquisition promotion may apply.
42. Stack Limit
Possible policy:
- maximum two discounts;
- maximum total percentage;
- or one per group.
43. Total Discount Cap
Example:
Combined discount cannot exceed 30% without approval.
44. Minimum Price Floor
Discount cannot reduce price below:
- floor;
- cost;
- regulated minimum;
- or zero.
45. Negative Price Guard
If discounts exceed base, define whether:
- clamp to zero;
- create credit;
- or reject.
46. Discount Order
Order of application changes result.
Example:
Base = 100
Discount A = 10%
Discount B = 10
A then B:
100 - 10 - 10 = 80
B then A:
100 - 10 - 9 = 81
47. Sequence
Every adjustment can have an explicit sequence or phase.
48. Adjustment Phase
Possible phases:
- base-price selection;
- contract price;
- volume adjustment;
- promotion;
- manual discount;
- surcharge;
- cap/floor;
- rounding.
49. Precedence
Precedence determines which source or adjustment wins when rules overlap.
50. Specificity
More specific context may have higher precedence:
global
< market
< channel
< account
< contract
< approved quote override
51. Priority versus Precedence
Priority is implementation detail.
Precedence is domain policy.
Do not rely on arbitrary numeric priority alone.
52. Replacement Precedence
A contract price may replace list price before percentage discounts.
53. Adjustment Precedence
A promotion may apply after volume rate but before manual discount.
54. Cap/Floor Precedence
Cap or floor may apply after all discounts.
55. Surcharge Precedence
Surcharge may apply before or after discount depending on policy.
56. Tax Precedence
Tax basis may include or exclude adjustments according to tax rules.
Pricing should not invent legal policy.
57. Best-Price Selection
A system may choose the customer-best eligible offer.
Need to define:
- total amount;
- recurring amount;
- contract value;
- or another objective.
58. Best-Margin Selection
A system could optimize provider margin.
Do not conflate with customer-best price.
59. Policy-Based Selection
Some promotions have explicit priority independent of price.
60. Customer Choice
Customer or sales user may select among alternatives.
Need comparison and explicit consent.
61. Candidate Adjustment
Each eligible adjustment should be represented as candidate before selection.
62. Candidate Fields
candidateId
source
scope
basis
value
eligibility
exclusivityGroup
priority
validity
approvalRequirement
63. Candidate Evaluation
Stages:
- discover;
- qualify;
- exclude;
- resolve conflicts;
- select;
- order;
- apply;
- validate.
64. Candidate Exclusion Reason
Examples:
- NOT_ELIGIBLE;
- EXPIRED;
- WRONG_CHANNEL;
- EXCLUSIVE_CONFLICT;
- LOWER_PRECEDENCE;
- CAP_REACHED;
- APPROVAL_REQUIRED.
65. Candidate Trace
Keep considered and rejected candidates for support and audit.
66. Promotion Bundle
One promotion may create multiple benefits:
- waive installation;
- discount first 3 months;
- add 100 GB allowance.
Treat as linked promotion effects.
67. Promotion Identity
Store promotion ID and version on each generated adjustment.
68. Promotion Lifecycle
Possible states:
- Draft;
- Approved;
- Scheduled;
- Active;
- Suspended;
- Ended;
- Retired.
69. Promotion Effective Period
Need:
- start;
- end;
- timezone;
- and late-arrival policy.
70. Promotion Redemption
A promotion may have:
- global usage limit;
- per-customer limit;
- per-account limit;
- or one-time redemption.
71. Redemption Is a Command
Checking eligibility is a query.
Reserving or redeeming usage is a state-changing command.
72. Reservation
High-demand promotions may reserve limited benefit.
Need:
- idempotency;
- expiry;
- and release.
73. Redemption Idempotency
Retry must not consume benefit twice.
74. Promotion Code Security
Protect against:
- brute-force guessing;
- leakage;
- replay;
- and unauthorized sharing.
75. Promotion Exhaustion
When limit reached, result should be explicit.
76. Promotion Concurrency
Two redemptions may race for final available slot.
Need atomic reservation.
77. Promotion Retroactivity
Applying promotion after acceptance may require amendment.
78. Promotion Cancellation
If quote changes or expires, reserved promotion may need release.
79. Promotion Migration
When quote revision changes, decide whether promotion remains eligible.
80. Promotion and Existing Inventory
Some promotions apply only to:
- new acquisition;
- upgrade;
- renewal;
- or win-back.
Requested action matters.
81. Manual Discount
Manual discount should include:
- requested amount;
- basis;
- reason;
- requester;
- and approval status.
82. Manual Override Authority
Authority may depend on:
- role;
- discount threshold;
- margin;
- product;
- market;
- and term.
83. Delegated Authority
Temporary authority needs scope and expiry.
84. Approval Threshold
Example:
0–10%: sales authority
>10–20%: manager approval
>20%: commercial director
Validate actual policy internally.
85. Cumulative Discount Threshold
Approval should consider total effective discount, not only each adjustment separately.
86. Effective Discount Percentage
Define denominator:
- list price;
- base price;
- or eligible subtotal.
87. Margin Impact
Discount may trigger approval based on margin, not percentage alone.
88. Approval Scope
Approval may apply to:
- adjustment;
- item;
- quote;
- or specific revision.
89. Approval Invalidation
Changes that may invalidate approval:
- base price;
- quantity;
- term;
- product;
- discount amount;
- cost;
- and quote revision.
90. Conditional Approval
Approval may state:
Approved only if term remains 36 months.
Store condition.
91. Approval Expiry
Approval may expire by time or quote change.
92. Manual Adjustment Audit
Record:
- before;
- after;
- reason;
- actor;
- authority;
- time;
- and approval.
93. Discount Reason
Use stable reason code plus free-text explanation where needed.
94. Sensitive Reason
Internal reasons may not be customer-visible.
95. Customer-Facing Description
Customer may see:
- promotion name;
- discount amount;
- and duration.
Not internal margin threshold.
96. Discount and Quote Revision
A discount applies to exact quote revision or recalculated result.
97. Discount and Repricing
When base price changes, decide whether adjustment:
- recalculates;
- remains fixed;
- expires;
- or requires reapproval.
98. Percentage Recalculation
Percentage discount usually recalculates against basis.
99. Fixed-Amount Persistence
Fixed discount may remain same amount, subject to floor/cap.
100. Negotiated Net Price
If a net price is approved, changing base list price may not change negotiated amount.
101. Price Lock
An approved quote may lock final price and adjustments.
102. Promotion Revalidation
Before acceptance, revalidate:
- validity;
- usage limit;
- and eligibility.
103. Accepted Quote
Accepted adjustments should be snapshotted and immutable.
104. Order Conversion
Order should preserve:
- effective adjustment;
- scope;
- duration;
- and source.
105. Billing Mapping
Billing may need:
- discount schedule;
- promotion code;
- charge target;
- and number of periods.
106. One-to-Many Mapping
One promotion can create:
- fee waiver;
- recurring discount;
- and allowance.
107. Many-to-One Mapping
Multiple commercial discounts may be consolidated in billing.
Preserve lineage.
108. Discount Duration
Possible:
- one-time;
- N periods;
- contract term;
- until date;
- or indefinite.
109. Discount Start Trigger
May begin at:
- acceptance;
- activation;
- first invoice;
- or contract start.
110. Discount End Trigger
May end at:
- period count;
- renewal;
- termination;
- or date.
111. Prorated Discount
Define behavior for partial periods.
112. Upgrade and Discount
Upgrade may:
- preserve old discount;
- replace with new one;
- prorate;
- or require new approval.
113. Renewal and Discount
Renewal may:
- expire promotion;
- retain contractual rate;
- or reprice.
114. Suspension and Discount
Discount schedule may:
- continue;
- pause;
- or expire.
115. Termination and Discount
Unused discount is not necessarily a refundable credit.
116. Discount Reversal
A reversal should reference original adjustment.
117. Discount Correction
Fixing an error should preserve old history and create correction.
118. Discount Reporting
Useful reports:
- discount by source;
- promotion redemption;
- manual override rate;
- effective discount;
- and expired benefits.
119. Promotion Performance
Metrics:
- eligibility;
- selection;
- redemption;
- conversion;
- revenue impact;
- and retention.
120. Operational Metrics
- adjustment evaluation latency;
- conflict count;
- approval queue age;
- redemption failure;
- and billing mapping error.
121. Discount Leakage
Possible leakage:
- discount applied when not eligible;
- discount continues too long;
- duplicate discount;
- and expired promotion retained.
122. Revenue Leakage
Excess discount or missing surcharge reduces expected revenue.
123. Customer Harm
Failure to apply valid discount can overcharge customer.
124. Reconciliation
Compare:
- eligible promotion;
- quoted adjustment;
- ordered adjustment;
- billing discount;
- and invoiced result.
125. Discount Replay
Historical replay should use:
- promotion version;
- eligibility context;
- and adjustment sequence.
126. Candidate Pipeline Version
Selection behavior should be versioned.
127. Shadow Evaluation
Compare current and candidate precedence/stacking rules.
128. Promotion Rollout
Use:
- scoped market;
- tenant;
- channel;
- and canary.
129. Kill Switch
Emergency disable should not silently remove benefits from accepted quotes.
130. Promotion Incident
Examples:
- double stacking;
- wrong eligibility;
- exhausted promotion still applied;
- and discount duration not mapped to billing.
131. Incident Analysis
Ask:
Which source/version?
Which eligibility inputs?
Which candidates were considered?
Which exclusivity group?
Which sequence?
Which approval?
132. Adjustment Smells
- discount stored as one number;
- basis missing;
- source missing;
- and no duration.
133. Promotion Smells
- promotion name is the only identity;
- usage limits not atomic;
- and eligibility duplicated in UI.
134. Precedence Smells
- first row wins;
- numeric priority without meaning;
- and contract/promotion interaction undocumented.
135. Approval Smells
- manual discount editable after approval;
- requester approves own adjustment;
- and approval not tied to revision.
136. Billing Smells
- billing recreates discount from current promotion;
- duration stored in description;
- and quote adjustment has no charge target.
137. Anti-Patterns
Discount as Final Price Difference
Source and basis lost.
Stack Everything
Unexpected deep discounts.
Promotion as Coupon String
No lifecycle or governance.
Manual Override without Approval Model
Commercial risk.
Recalculate Accepted Promotion
Historical commitment changes.
Hide Candidate Exclusions
Support cannot explain result.
138. Discount Definition Template
## Discount ID and Version
## Source
## Type
## Eligibility
## Scope
## Basis
## Value
## Currency / Percentage
## Duration
## Start / End Trigger
## Stacking Group
## Exclusivity
## Precedence
## Cap / Floor
## Approval Requirement
## Effective Period
## Customer Description
## Billing Mapping
139. Promotion Template
## Promotion Identity and Version
## Objective
## Eligible Products
## Eligible Customers / Channels / Markets
## Benefits
## Redemption Limits
## Reservation Policy
## Effective Period
## Exclusivity Groups
## Approval / Governance
## Rollout
## Observability
140. Candidate Evaluation Template
Candidate:
Source/version:
Eligibility result:
Scope:
Basis:
Value:
Stacking group:
Conflicts:
Precedence:
Selected:
Exclusion reason:
Approval required:
141. Approval Request Template
Quote/revision:
Adjustment:
Requested by:
Current price:
Proposed price:
Effective discount:
Margin impact:
Reason:
Authority level:
Conditions:
Expiry:
142. Adjustment Trace Template
Base component:
Candidate adjustments:
Excluded adjustments:
Selected adjustments:
Application sequence:
Intermediate amounts:
Cap/floor:
Final amount:
Approval references:
143. Discount Invariants
Representative invariants:
- every adjustment has scope;
- percentage adjustment has basis;
- selected exclusive group has at most one winner;
- total discount does not violate floor without approval;
- accepted adjustment snapshot is immutable;
- and manual override has actor, reason, and authority.
144. Worked Example: Contract plus Promotion
Base price:
Contract rate:
Promotion:
- 10% off selected contract rate.
Result:
- 90 - 9 = 81
only if stacking policy permits.
145. Worked Example: Exclusive Promotions
Eligible:
- acquisition promotion 15%;
- migration promotion 20%.
Both in same exclusivity group.
Policy selects migration promotion based on explicit priority, not iteration order.
146. Worked Example: Bundle Discount
Products:
- Connectivity 1000;
- Support 200.
Bundle adjustment:
- 10% of eligible recurring subtotal.
Basis:
Discount:
147. Worked Example: Fee Waiver
Installation fee:
Promotion waives fee.
Store:
- base fee 500;
- waiver -500;
- promotion ID;
- and duration one-time.
148. Worked Example: Manual Discount
Calculated recurring:
- 1000/month.
Sales requests:
- 850/month.
Adjustment:
- negotiated net-price override;
- reason;
- approval;
- and quote revision.
149. Worked Example: Cap
Two discounts produce 35%.
Policy cap:
- 30%.
System either:
- clamps;
- rejects;
- or triggers approval
according to explicit rule.
150. Worked Example: First Three Months Discount
Base:
- 100/month.
Promotion:
- 50% off first three billing periods.
Billing mapping preserves:
- target charge;
- period count;
- and start trigger.
151. Worked Example: Promotion Exhaustion
Last promotion slot is reserved.
Two requests race.
Atomic reservation allows only one success.
The other receives:
- PROMOTION_EXHAUSTED.
152. Worked Example: Repricing
Quantity changes after approval.
Volume discount changes.
Manual discount approval is invalidated because effective total discount and margin changed.
153. Worked Example: Accepted Quote
Accepted quote stores:
- selected promotions;
- manual adjustments;
- application sequence;
- and final amounts.
Later promotion retirement does not alter accepted result.
154. Senior Engineer Operating Model
Separate eligibility from application
Eligible does not mean selected.
Model basis and scope
Every adjustment needs both.
Make stacking explicit
Groups, limits, and exclusivity.
Treat precedence as policy
No accidental first-match behavior.
Preserve all candidates
Explain selected and rejected outcomes.
Tie manual actions to authority
Reason, approver, and revision.
Protect accepted adjustments
No live reinterpretation.
Map duration to billing
Period and trigger matter.
Reconcile end to end
Quote, order, billing, invoice.
155. Internal Verification Checklist
Domain model
- Are discount, promotion, waiver, surcharge, credit, and override distinct?
- Is adjustment scope first-class?
- Is percentage basis explicit?
- Are duration and start/end triggers modeled?
Eligibility
- Which inputs determine eligibility?
- Are customer, market, channel, product, quantity, and term included?
- How are existing products considered?
- Is eligibility result versioned?
Stacking and precedence
- What stacking groups exist?
- Which discounts are exclusive?
- What is the explicit application sequence?
- How are caps and floors handled?
Promotion lifecycle
- Are promotions versioned?
- Are redemption limits atomic?
- Is reservation supported?
- What happens on quote expiry or revision?
Manual adjustments
- Who may request and approve?
- What thresholds exist?
- Is effective discount/margin evaluated cumulatively?
- What invalidates approval?
Lifecycle and integration
- Are accepted adjustments immutable?
- How do discounts map to order and billing?
- Are free periods and limited-duration discounts preserved?
- How are reversals and corrections handled?
Operations
- Can support inspect candidate and exclusion traces?
- Are leakage and overcharge reconciled?
- What promotion and approval metrics exist?
- Is shadow/canary evaluation available?
156. Practical Exercises
Exercise 1 — Adjustment taxonomy
Classify existing commercial benefits as discount, promotion, waiver, override, allowance, or credit.
Exercise 2 — Stacking matrix
Build allowed/exclusive relationships among five adjustments.
Exercise 3 — Precedence pipeline
Define deterministic application order.
Exercise 4 — Approval model
Design threshold and invalidation rules for manual discounts.
Exercise 5 — Billing mapping
Map a multi-benefit promotion into charge instructions.
Exercise 6 — Historical replay
Specify data needed to reproduce an accepted discount result.
157. Part Completion Checklist
You are done if you can:
- distinguish discount, promotion, waiver, credit, surcharge, and override;
- define eligibility, scope, basis, and duration;
- model candidate adjustments;
- define stacking groups and exclusivity;
- define deterministic precedence and sequence;
- protect caps and floors;
- model manual authority and approval;
- preserve accepted adjustment snapshots;
- map commercial benefits into billing;
- and create an internal adjustment verification backlog.
158. Key Takeaways
- Discount is a first-class commercial decision.
- Eligibility and application are different.
- Percentage discounts require an explicit basis.
- Scope and duration are mandatory semantics.
- Stacking must be governed.
- Precedence is business policy.
- Promotion redemption may require transactional reservation.
- Manual overrides require authority and audit.
- Accepted adjustments must remain immutable.
- Internal CSG discount and promotion semantics must be verified.
159. References
Conceptual baseline:
- General enterprise CPQ discount, promotion, adjustment, and override practices.
- Pricing precedence, stacking, eligibility, and commercial approval patterns.
- Distributed systems idempotency and reservation semantics for limited promotions.
- Quote-to-order and billing discount-lineage concepts.
These references do not define internal CSG promotion, discount, or approval implementation.
You just completed lesson 19 in build core. Use the series map if you want to review the broader track, or continue directly into the next lesson while the context is still warm.
Keep the momentum while the lesson is still fresh. Move backward for review or continue forward into the next concept.