# Discount Approval Workflow

> Build a discount matrix by deal size and term, route approvals without stalling deals, and report net price realization to the board every single quarter.

Source: https://saas-marketing.net/playbooks/discount-approval-workflow/
Topic: SaaS Pricing
Type: playbook
Published: 2026-09-11
Last updated: 2026-09-11
Publisher: SaaS Marketing (saas-marketing.net)
License: CC BY 4.0. Quote or republish with attribution and a link to https://saas-marketing.net/playbooks/discount-approval-workflow/

## Short answer

A discount approval workflow maps discount depth to an approval level by deal size and contract term, enforces it with CRM validation rules that block a quote above threshold, and guarantees a response within four business hours per level. It works only when each discount band requires something in return, such as annual prepayment or a multi-year term, and when an exception log is reviewed monthly and net price realization is reported to the board quarterly.

## Key takeaways

- Approvals that take more than a day get routed around. Speed is the enforcement mechanism, not signatures.
- Every discount band must buy something: prepayment, term length, a case study or a reference commitment.
- Set a hard ceiling that nobody can approve, usually 35 to 40%, and hold it without exception.
- Enforce the matrix with CRM validation rules, because a policy document alone changes nothing.
- Report net price realization by segment, rep and stage quarterly, not average discount, which hides the tail.
- Grandfather deals already in pipeline for one quarter when you tighten policy, or reps will lose live deals.

---

Discount leakage is rarely a policy problem. Most companies have a policy. It's in a Notion page somebody wrote in 2024, it says 15% needs manager approval, and the last four deals that closed at 28% did so because the approver was on a plane and the quarter was ending.

The fix is mechanical: thresholds enforced in the quote object, response times short enough that nobody wants to work around them, and a quarterly number that makes the whole thing visible to the board.

## The discount matrix

Two axes, not one. Depth of discount and size of deal, because a 25% discount on a $12,000 deal and a 25% discount on a $400,000 deal are different decisions with different people qualified to make them.

| Discount depth | Deal under $25K ACV | $25K to $100K ACV | Above $100K ACV |
| --- | --- | --- | --- |
| 0 to 10% | Account executive | Account executive | Sales manager |
| 10 to 20% | Sales manager | Sales manager | VP Sales or deal desk |
| 20 to 30% | VP Sales | VP Sales plus finance | CRO plus finance |
| 30 to 35% | CRO plus finance | CRO plus finance | CRO plus CFO |
| Above 35% | Not approved | Not approved | Not approved |

Note what the table refuses to do. It does not give bigger deals deeper self-serve discount authority. That instinct feels commercially sensible and it is how enterprise pricing erodes, because the deals that most affect your average selling price get the least scrutiny.

The hard ceiling matters more than any individual threshold. Pick a number, 35 or 40%, publish it, and never approve above it. One exception and the ceiling becomes a suggestion within a quarter. If you find yourself needing 45% to win a category of deals repeatedly, the answer is a lower-priced packaging tier, not an exception, and that's a [pricing strategy](/saas-pricing/) conversation rather than a deal desk one.

At $20M ARR, moving net price realization from 76% to 79% is roughly $600K of additional annual revenue at close to 100% margin, with no additional deals won and no additional headcount. That is the entire argument for this workflow.

## The trade table: what sales must get in return

A discount given for nothing is a message. It tells the buyer your list price was theoretical, and they will open the renewal by asking for more.

Attach a required concession to each band and put it in the approval form as a mandatory field.

The uplift clause is the one teams forget and it costs the most. A three-year deal at 30% off with no annual uplift is not a discount, it's a permanent price reduction with a longer commitment attached. Write the uplift in, usually 3 to 7% annually, and make it a required field at the 20% band and above.

## Building it in the CRM

A policy document changes nothing. The enforcement point has to be the object the rep touches, which is the quote.

**Implementation sequence**

Tooling depends on complexity. Salesforce approval processes plus validation rules handle most companies under $50M ARR without CPQ. HubSpot quote approvals work well for simpler catalogues. Once you have usage-based pricing, multi-product bundles or complex ramp schedules, DealHub, Subskribe or Salesforce CPQ start to earn their cost, which typically runs $20K to $80K a year plus implementation.

Do not buy CPQ to fix a discipline problem. It will encode your current mess faster.

## The four hour SLA

This is the part that determines whether any of the above works.

Reps are not trying to break your process. They're trying to close a deal in front of a buyer who asked a question. If the answer takes two days, the rep learns to structure the quote to stay under the threshold, which produces exactly the erosion you built the system to stop, plus a quote structure nobody can analyse later.

Four business hours per level. Automatic escalation past a non-responsive approver. A weekly report showing median approval time by approver, published to the sales leadership team, because nothing improves an approver's response time like their peers seeing it.

In the last five business days of a quarter, cut the SLA to one hour and put a named approver on rotation with a backup. That's when the most requests and the deepest discounts arrive. A process that degrades exactly when it is most needed is worse than no process.

The [deal desk](/glossary/deal-desk/) function exists largely to guarantee this response time. Below roughly $30M ARR you can run it as a named half-time responsibility inside revenue operations rather than a dedicated team.

## The exception log

Every approval above the standard matrix gets a log entry: deal, rep, depth, reason, approver, and what was obtained in return. Review it monthly for thirty minutes with sales leadership and finance.

What you're looking for are patterns rather than individual deals.

- One rep appearing repeatedly is a coaching problem, usually weak discovery or late-stage negotiation without a champion.
- One competitor named repeatedly in the reason field is a positioning problem, and the answer is a [battlecard and a comparison page](/comparisons/public-pricing-vs-contact-sales/), not deeper discounts.
- One segment appearing repeatedly is a packaging problem. If mid-market consistently needs 28% off, your mid-market price is wrong and should be restructured rather than negotiated every time.
- Discounts clustering in the final week of the quarter is a forecasting problem masquerading as a pricing problem.

That last pattern is nearly universal and worth quantifying. Plot discount depth by day of quarter. If the last week's average is eight or more points deeper than the rest, your reps are trading margin for timing, and the fix sits in pipeline coverage rather than in the approval matrix.

## The quarterly net price realization report

One page to the board, four cuts of the same number.

Net price realization is closed revenue per unit divided by list price per unit. Report it four ways:

| Cut | What it reveals | Action if it looks wrong |
| --- | --- | --- |
| By segment | Which part of the market your list price does not fit | Repackage or reprice that segment |
| By rep | Who negotiates and who capitulates | Coaching, or a lower threshold for that rep |
| By deal stage at which discount was introduced | Whether discounts are opening moves or closing tools | Discovery training if discounts appear before stage three |
| By quarter over eight quarters | Whether the policy is holding or drifting | Re-enforce thresholds and check the exception log |

Show the distribution, not just the average. A 78% average realization can mean every deal closed at 78%, which is a pricing problem, or that most deals closed at 92% and six closed at 45%, which is an approval problem. Those need opposite responses and the average cannot distinguish them.

Put the hard ceiling breaches on the slide too, even when the count is zero. Especially when it is zero, because that is the evidence the system works.

**$600K** Annual revenue from three points of realization gain at $20M ARR

## Rolling out a tighter policy without breaking the quarter

Tightening discount policy mid-quarter on live deals is how you lose deals and rep trust simultaneously.

The ramp that works: announce the new matrix a month before it takes effect, with a side-by-side comparison of old and new thresholds. Apply it only to opportunities created on or after the start date. Grandfather everything already in pipeline for one full quarter at the old thresholds.

Then track compliance separately for the two populations for one quarter so you can see whether the new matrix is actually changing outcomes or whether reps are simply pushing deals into the old cohort. The [enterprise SaaS deal teardown](/examples/enterprise-saas-deal-teardown/) walks through what this looks like on a single large contract, including where the concessions that were never written down came back at renewal.

One more thing to prepare for: compensation. If your comp plan pays on bookings with no margin component, reps are rationally indifferent to discount depth. Adding a realization component, even a small accelerator for deals closed above 90% of list, aligns the incentive with the policy. Without it you are asking people to work against their own pay.

## What this does not fix

Be clear about the limits.

A discount approval workflow does not fix a price that is genuinely wrong for the market. If every deal in a segment needs 30% off to close, the list price is fiction and the matrix is just making people fill in forms about it. That is a repricing project, covered in [SaaS discounting strategy](/guides/saas-discounting-strategy/) and, for larger contracts, in [enterprise SaaS pricing](/guides/enterprise-saas-pricing/).

It does not fix weak sales execution either. Discounts are usually requested because value was not established, and no approval routing repairs a discovery call that did not find the buyer's real cost of doing nothing. That is a [sales](/saas-sales/) problem and it needs coaching rather than governance.

And it adds friction. Real friction, felt by reps, on the last day of the quarter. The trade is worth making only if you actually hold the response times, because a slow process with a hard ceiling produces the worst outcome available: deals delayed and discounts granted anyway.

## The first thirty days

Pull your last two quarters of closed-won deals and calculate net price realization by segment and by rep. Most teams have never seen this number and it usually lands worse than expected.

Then set thresholds against what that data shows rather than against a template, build the validation rule before you publish the policy, and commit the approver group to four hours in writing. If you want the sales side of the handoff documented alongside it, the [sales and marketing SLA template](/templates/sales-marketing-sla-template/) covers the same pattern of named owners and response windows.

Review in ninety days. If median approval time is above eight hours, fix that before touching anything else in the matrix.

## Frequently asked questions

### What should a SaaS discount approval matrix look like?

Two axes: discount depth and deal size. Up to 10% sits with the account executive, 10 to 20% with the sales manager, 20 to 30% with the VP of Sales or deal desk, and above 30% with the CRO and finance together. Add a hard ceiling nobody can approve. Larger deals should not automatically unlock deeper discounts, since that is how enterprise pricing erodes.

### How fast should discount approvals be?

Four business hours per level, with automatic escalation if the approver does not respond. A request crossing three levels should resolve within one business day. Slower than that and reps route around the system by structuring deals to stay under thresholds, which is worse than the discount you were trying to prevent.

### What is net price realization?

The actual revenue per unit divided by list price per unit across closed deals in a period. If list is $100 per seat per month and your closed deals average $76, realization is 76%. Track it by segment, rep and deal size rather than as a single average, because the average hides a small number of very deep discounts that do most of the damage.

### Who should own the discount approval process?

Revenue operations or a deal desk builds and enforces it, finance sets the thresholds and the floor, and sales leadership owns the exceptions. If sales owns the whole thing, thresholds drift every quarter end. If finance owns the whole thing, deals stall and reps stop using the system.

### What should sales get in return for a discount?

Something that improves the contract's economics or your position. Annual or multi-year prepayment, a longer term, a reduced set of contractual concessions, a named reference commitment, or a case study. A discount given for nothing teaches the buyer that your price is soft, and they will test it again at renewal.

### How do you enforce a discount policy in Salesforce or HubSpot?

Use native approval processes in Salesforce or quote approvals in HubSpot with validation rules that prevent a quote being sent above the rep's threshold. CPQ tools such as DealHub, Subskribe or Salesforce CPQ add approval routing and audit trails. The enforcement point must be the quote object, not a policy document, or it will be ignored.

### How do you roll out a stricter discount policy without losing deals?

Grandfather everything already in pipeline for one full quarter, apply the new matrix to opportunities created after the start date, and publish a comparison of old and new thresholds a month before it starts. Announcing a tightening mid-quarter on live deals is how you lose both the deals and the reps' cooperation.
