How to Build a Salesforce Quote Approval System
How to Automatically Route Quotes for Approval Based on Discounts, Deal Size, Margin, Payment Terms, Products, and Other Business Rules Before They Are Sent to Customers

01A 22% Discount Approved Somewhere in Email

A salesperson builds a $78,000 quote. Standard policy allows a discount up to 10 percent without any sign-off. The customer says a competitor is cheaper, and the rep wants to offer 22 percent to close the deal. So the process that actually happens: an email to the sales manager asking "can I do 22%?" The manager asks why. The rep sends context. Someone loops in finance. Messages go back and forth across email and Slack for a day and a half. An approval happens, somewhere in that thread. The quote goes out.
Three months later, nobody can easily answer a handful of genuinely important questions. Who actually approved the discount? What was the stated reason? What margin was finance expecting when they signed off? Did finance actually review it, or did the conversation just quietly move past them? Did the quote change after that approval happened? How long did the whole approval actually take? And is this a one-off, or does this specific rep request large discounts more often than the rest of the team?
None of that is a Salesforce problem in the sense of a missing button. It's the absence of an actual Salesforce quote approval system: a defined structure that evaluates commercial terms before a quote is allowed to proceed, routes exceptions to the right person automatically, enforces the resulting decision, and leaves a real audit trail behind. This guide covers how to build one. The central principle worth holding onto throughout: a quote approval system should protect pricing and profitability without unnecessarily slowing down sales. The objective isn't routing every quote through management. It's automatically identifying the exceptions that actually carry risk, routing those specifically to the correct decision-maker, enforcing whatever they decide, and keeping everything else moving at full speed.
02What a Quote Approval System Actually Is
Before touching Salesforce configuration at all, define the business system itself. A quote approval system evaluates a quote's commercial terms and decides, based on defined policy, whether it can proceed as-is or needs a specific person's sign-off first. Criteria worth considering include the quote's total value, its discount percentage, resulting gross margin, which specific products or product combinations are involved, payment terms, contract duration, billing frequency, any free services or waived fees, custom pricing outside the standard catalog, non-standard commercial terms generally, the customer's type or risk profile, geography, the individual rep's actual discount authority, and the type of opportunity involved (new business versus renewal versus expansion, for instance).
Not every business needs every one of these rules, and building all of them in on day one, before knowing which actually matter for your specific pricing model, is how a genuinely useful system turns into unnecessary bureaucracy. The approval model should reflect the company's actual pricing policy, not a generic template borrowed from somewhere else.
03Start With the Approval Policy, Not Salesforce
Before opening Setup, build the policy as a plain matrix. A representative example: a discount of 10 percent or less requires no approval; 11 to 20 percent requires the sales manager; 21 to 30 percent requires the sales director; anything above 30 percent requires both the VP of Sales and finance. Separately, a deal over $100,000 requires the sales director regardless of discount; a deal over $250,000 requires the VP of Sales; a margin falling below a defined threshold requires finance; non-standard payment terms require finance; non-standard contract terms require legal.
The bad implementation order starts inside Salesforce configuration and tries to reverse-engineer what the policy should probably be while building it. The correct order starts with the business policy, turns it into an explicit approval matrix, and only then designs the Salesforce data model and automation needed to enforce that matrix. Skipping the matrix and jumping straight to Flow logic is one of the most common reasons these systems end up encoding an accidental policy nobody actually agreed to, rather than the one the business intended.
04Decide What Exactly Is Being Approved
This is a genuinely important architectural decision, easy to get wrong by default. Depending on the Salesforce environment, the thing being approved could reasonably be the Opportunity itself, a Quote record, individual quote line items, a discrete pricing-exception request, a standalone discount-request record, a custom approval-request object, or a broader commercial or contract request.
Approving an Opportunity is not necessarily the same thing as approving the exact commercial terms the customer will actually receive. An Opportunity might show a clean $100,000 amount, while the underlying quote actually contains $125,000 in listed products, a 20 percent discount bringing it to $100,000, Net 90 payment terms, and a waived implementation fee, several of which might each independently trigger a different approval requirement under the policy matrix. The approval process needs direct access to the actual information the approver is deciding on, which usually means the approval genuinely needs to attach to the quote and its specific terms, not a summary figure sitting one level up on the Opportunity.
05Design the Quote Data Model
Identify what actually needs to live in Salesforce to support this. Core quote information: a quote ID and number, its current status, the related Opportunity and Account, the quote owner, total list price, total discount, net price, applicable taxes, final amount, and an expiration date. Commercial terms: discount percentage, payment terms, contract term, billing frequency, any implementation fee, any waived fees, and other special terms. Approval information: whether approval is required at all, current approval status, the current approver, the approval level reached, the date approval was requested, the date it was approved or rejected, a rejection reason where applicable, approver comments, and which version of the quote the approval actually applies to.
Wherever possible, these fields should be calculated rather than manually typed. A rep manually entering "22% discount" into a text field is an opportunity for that number to silently drift out of sync with the actual line-item math; a formula or automation deriving the real effective discount from the underlying quote line data is considerably more trustworthy and considerably harder to accidentally misstate.
06Calculate the Real Discount
Discount math gets more complicated than list price minus sale price the moment real quotes get involved. A quote can carry line-item-level discounts, package-level discounts, entirely free products bundled in, a waived setup or implementation fee, promotional pricing, volume-based discounts, and fully custom pricing that doesn't map cleanly to any of the above. The system needs to determine which of these commercial concessions actually matter to the approval policy, since not every business treats them identically.
A representative calculation: a list value of $100,000, a straightforward product discount of $10,000, and a waived implementation fee worth $5,000, adding up to an effective commercial concession of $15,000 once both the discount and the waived fee are counted toward the same policy threshold. There's no single universal formula here worth prescribing; the organization has to define its own pricing policy explicitly, including exactly which concessions count toward a discount threshold and which don't, before this calculation can be built correctly.
07Build the Approval Matrix
A standard deal, discount between 0 and 10 percent, deal size under $100,000, standard terms throughout, should auto-clear with no manual approval step at all. A discount between 11 and 20 percent routes to the sales manager. A discount between 21 and 30 percent routes to the sales director. A discount above 30 percent routes to both the VP of Sales and finance simultaneously. Separate, parallel conditions can trigger independently: Net 90 payment terms route to finance regardless of discount level; custom legal terms route to legal; a margin falling below the defined policy threshold routes to finance or executive review, again independent of the discount percentage alone.
Approval routes can be hierarchical (one approver, then the next, in sequence), parallel (multiple approvers reviewing simultaneously, all required before the quote clears), or conditional (a specific rule triggering a specific specialist review that other quotes never touch). Salesforce's native declarative Approval Process feature, covered in more detail later in this guide, directly supports both sequential and parallel steps within a single process, which makes a genuinely layered matrix like this buildable without custom code in a meaningful share of implementations.
08Auto-Approve Standard Quotes
This deserves real emphasis, because it's the part of the system most often shortchanged in practice. The purpose of this entire architecture is explicitly not routing every single quote through a manager. The correct pattern: a quote gets created, the defined rules evaluate it, and if it falls fully within standard policy, no manual approval step happens at all, it simply continues. This is what protects sales velocity. Approval systems fail in practice, and get quietly bypassed by frustrated reps, specifically when managers become an unnecessary bottleneck standing between every single quote and the customer, rather than a checkpoint reserved for the genuine exceptions that actually carry risk.
09Automatically Detect Approval Requirements
The architecture: a quote gets created or updated, the system evaluates discount level, deal value, margin, payment terms, products involved, and contract terms against the defined matrix, and either clears the quote to proceed or determines the correct approval route. Implementing this evaluation reasonably draws on Salesforce formulas for the underlying calculations, Salesforce Flow for orchestrating the evaluation and any resulting record changes, validation rules for hard-blocking specific invalid states, and, where the declarative Approval Process feature's own entry-criteria capability is sufficient, that native evaluation layer directly.
No single implementation method is universally correct for every Salesforce environment; the right combination depends on the org's specific edition, whether it's running standard Sales Cloud, Salesforce CPQ, or Revenue Cloud, and how complex the actual policy matrix turns out to be. Confirm current Salesforce documentation for formula, Flow, and Approval Process capabilities directly before finalizing a specific implementation approach, since exact declarative capabilities have expanded over recent releases and continue to evolve.
10Determine the Correct Approver Dynamically
Avoid hardcoding a specific named user as an approval target anywhere in the system; that specific person can leave the company, change roles, or simply be unavailable, and a hardcoded reference doesn't gracefully handle any of those situations. Instead, design routing based on relationships and roles: the quote owner's manager (using Salesforce's standard user-to-manager hierarchy), a territory manager, a business-unit lead, a product owner for product-specific reviews, a finance role, a deal-desk queue, or a defined approval queue tied to a specific threshold level rather than a specific person.
A representative pattern for a first-level approval: resolve the quote owner, look up that user's manager via Salesforce's native user hierarchy, and route the approval there. For a higher-level approval, route to a defined queue or role, VP Sales, for instance, rather than a specific named individual, so a future org-chart change doesn't require rebuilding the approval logic itself. This is directly a maintainability decision: a system built around roles and relationships survives personnel changes; a system built around specific hardcoded names breaks the first time someone leaves.
11Multi-Level Approval
A 22 percent discount might need to clear the sales manager first, then, once that's approved, move to the sales director for a second, sequential sign-off before the quote is genuinely cleared. Compare that with a 35 percent discount combined with Net 90 terms, which might instead require the VP of Sales and finance simultaneously, in parallel, with the quote considered cleared only once both have independently signed off.
Sequential approval suits situations where each subsequent approver is genuinely relying on the prior approver's judgment as part of their own decision. Parallel approval suits situations where two different reviewers are evaluating genuinely different, independent concerns, a sales director assessing whether the discount makes strategic sense, and finance assessing whether the resulting margin is acceptable, are related but distinct judgments that don't strictly depend on each other. Let the actual business requirement determine which model fits a given approval type, rather than defaulting to one pattern uniformly across every rule in the matrix.
12Build an Approval Request Record
For anything beyond the simplest single-step approval, a dedicated approval-request record, whether that's Salesforce's own native Approval object generated automatically by the standard Approval Process feature, or a custom object built for more specialized reporting needs, carries real advantages: a genuine audit trail, structured reporting, room for approver comments, timestamps at every step, clean escalation logic, support for multiple distinct approval types running independently, and the ability to analyze approval history over time.
A representative record: quote Q-10482, tied to the Acme Expansion opportunity, requested by Sarah, a quote value of $125,000, a 24 percent discount, a stated reason of competitive pricing pressure, categorized as a discount-exception approval type, routed to the sales director, currently in Pending status. Salesforce's native Approval Process feature already generates its own Approval object and process history automatically when a record is submitted, which is genuinely sufficient for a meaningful share of implementations. A custom approval object becomes worth the added build effort specifically when the business needs richer reporting across multiple distinct approval types simultaneously, more complex custom state management than the native process supports cleanly, or integration with systems outside Salesforce that the native object wasn't designed to expose data to directly.
13Require a Real Business Justification
For any quote triggering an exception, require the rep to actually explain why. Useful structured fields: a reason-for-discount category, whether a named competitor is involved, whether this is a strategic account, whether it represents a genuine expansion opportunity, whether a volume commitment is attached, whether the customer has a stated budget constraint, expected future value from the relationship, and the specific exception being requested.
Discourage free-text answers like "customer asked" that carry effectively no real information. A combination of structured reason codes plus a required comment field genuinely improves both the quality of the approval decision itself and the value of the resulting reporting; a business analyzing six months of discount-exception data organized around consistent reason codes can actually identify real patterns, which product lines see the most pricing resistance, which reason codes correlate with deals that ultimately close, in a way that six months of inconsistent free-text notes never will.
14Give Approvers the Context They Actually Need
A bare notification reading "Quote Q-3829 requires approval" forces the approver to open Salesforce and manually reconstruct the full picture before they can make any real decision, which is exactly the friction that turns a fast approval process into a slow one.
A properly built notification instead carries the account name, the related opportunity, the quote's total value alongside the standard, undiscounted price, the resulting discount percentage, the contract length, payment terms, the requesting rep, the stated reason for the exception, relevant historical context like the customer's prior revenue with the business, and the specific approval being requested. The approver should never need to open five or six separate Salesforce records just to understand what they're actually being asked to decide. Assembling that full context automatically into a single notification or approval screen is one of the highest-leverage pieces of this entire system.
15Use AI to Summarize Complex Approval Requests
AI genuinely earns a place here, specifically for synthesizing everything relevant, the quote, the opportunity, the account, the stated approval reason, and any relevant sales notes, into a short, readable brief for the approver. A representative output: the requested exception is a 24 percent discount; the business rationale is that the customer is expanding from 3 to 11 locations and is actively evaluating a lower-priced competitor; the potential upside is an estimated increase in annual contract value from $72,000 to $165,000; the noted risk is that the discount exceeds the sales manager's standard authority; the required review level is the sales director.
AI's job here is strictly summarizing information that's already present across these records, giving the approver a fast, readable synthesis instead of five tabs to read through individually. It should never decide financial policy on its own, and should not be treated as an approver itself unless a business has explicitly designed and governed a system where that's the deliberate intent, which carries real risk and warrants its own careful, separate consideration well beyond a simple summarization use case.
16Approval Notifications
Reasonable notification channels include Salesforce's own native notifications, email, Slack, Microsoft Teams, an internal task queue, or a dedicated internal dashboard, whichever the specific approver population actually checks reliably. The core architecture regardless of channel: an approval gets requested, the corresponding Salesforce approval record gets created, the approver receives a notification, and that notification links directly into the approval itself, so acting on it takes one click rather than a manual search through Salesforce to locate the right record. Confirm current integration capabilities for whichever specific channel a business wants to use directly against that platform's documentation before committing to a build, since exact supported functionality and setup requirements vary by tool.
17Approve, Reject, or Request Changes
Don't force a purely binary approve-or-reject decision where the actual business need is more nuanced. A genuinely useful system supports at minimum Approve, Reject, and Request Changes as distinct outcomes. A manager might respond "approved at 18%, not 22%," which is neither a clean approval of what was submitted nor a flat rejection, it's a specific counter-proposal the rep needs to act on directly. The workflow should return the quote to the salesperson with that specific guidance clearly attached, rather than forcing the manager to reject outright and the rep to guess at what would actually be acceptable on a resubmission.
18Rejection Workflow
When a quote gets rejected, the architecture: status updates to Rejected, the stated reason gets recorded, the sales rep gets notified directly, the quote gets locked from being sent to the customer in its current form, the rep revises it based on the feedback received, and the revised version gets resubmitted through the same evaluation logic. Rejection should never mean restarting the entire sales process from scratch; it should mean a specific, actionable correction to the current quote, with the underlying opportunity, relationship, and prior context all remaining fully intact throughout.
19Quote Versioning
This is genuinely critical, and it's the single most common way these systems quietly fail in production. Picture Quote V1 at $100,000 with a 15 percent discount, approved through the proper process. If the sales rep then changes the discount to 28 percent after that approval and sends the quote as-is, the system has completely failed at its actual job, regardless of how well-designed the earlier approval steps were.
The fix: define explicitly whether the underlying commercial terms changed after approval. If they didn't, the existing approval remains valid and the quote can proceed. If they did, the prior approval gets invalidated automatically, the quote gets re-evaluated against current policy, and it potentially requires a fresh approval cycle before it can move forward again. Implementing this reliably calls for genuine version control: tracking specific field values at the moment of approval (a snapshot or hash of the approved commercial terms), a clear status field reflecting whether the current quote state still matches what was actually approved, and Salesforce record-locking or validation logic preventing an approved quote's protected fields from being silently edited without triggering that re-evaluation.
20Prevent Unapproved Quotes From Being Sent
This deserves its own major section, because the entire workflow accomplishes nothing if a rep can still generate and send a final quote document while its Approval Status field sits at Pending. The conceptual enforcement logic: before a quote is genuinely ready to send, check whether approval is required at all for its current terms; if it is, check whether the current status is actually Approved; if so, allow it to proceed; if not, block the send action or route it back into the approval flow instead.
Exactly how this gets enforced technically depends heavily on how quotes are actually generated and sent in the specific environment: a validation rule can block saving certain field values while a quote's status isn't Approved; a Flow can control which buttons or actions are even visible or enabled on the record; and, where a separate proposal, document-generation, or e-signature platform is involved downstream, that integration itself needs to check Salesforce's approval status before generating the final customer-facing document, or a rep could technically bypass Salesforce entirely by working directly in that separate tool. Confirm exactly how send-enforcement can be implemented reliably for your specific quote-generation method, whether that's the standard Salesforce Quote object, Salesforce CPQ, Revenue Cloud, or a third-party proposal tool, since the mechanism differs meaningfully across each.
21What Happens When the Quote Changes After Submission
Define explicitly, in writing, what counts as a material change requiring re-evaluation versus an immaterial one that doesn't. Changing a customer's listed phone number almost certainly shouldn't invalidate an existing approval. Changing the discount, payment terms, included products, quantities, contract length, or price almost certainly should.
Build an explicit, defined list of Approved Commercial Fields, the specific set of fields that, if changed after an approval has been granted, automatically invalidate that approval and trigger re-evaluation. Maintaining this list deliberately, rather than leaving it implicit or assumed, is what actually protects the integrity of the approval process against exactly the kind of quiet post-approval edit that opened the versioning discussion above.
22Approval Expiration
Consider whether an approval should genuinely remain valid indefinitely. A quote approved on January 4th but not actually sent to the customer until March 27th may no longer reflect current pricing conditions, cost structures, or business priorities, even though its Approval Status field still technically reads Approved.
A reasonable policy: approvals remain valid for a defined window, 30 days, for instance, after which an unsent quote's approval automatically expires and the quote gets re-evaluated against current policy before it can proceed. There's no single universally correct duration here worth prescribing; the right window depends on how quickly pricing and cost conditions genuinely shift in a specific business and how long its typical sales cycle actually runs.
23Approval Escalation
This is one of the most operationally important sections in this entire guide, because an approval sitting unanswered indefinitely is functionally identical to a rejection, just slower and considerably more frustrating for everyone involved. A representative escalation sequence: an approval gets requested; after 2 hours with no action, send a reminder; after 8 business hours still pending, send a second reminder and alert sales operations; after 24 business hours still pending, escalate automatically to a defined backup approver or that approver's own manager.
Exact SLA thresholds should reflect the specific business, its typical deal velocity, and how time-sensitive a given approval type genuinely is; a large strategic deal with a hard customer deadline warrants tighter SLAs than a routine mid-tier exception. What matters more than the specific numbers chosen is that some defined escalation path exists for every approval type in the matrix, so nothing can simply sit unanswered indefinitely with no automatic recourse.
24Business-Hours Logic
Don't build an escalation timer that fires a Friday-5:02-PM approval request into a Saturday-1:00-AM escalation alert; that's technically "working as designed" and practically useless, since nobody's realistically expected to act on it at that hour, and it just trains people to ignore automated escalation alerts generally. Build genuine business-hours logic into every SLA and escalation timer: account for standard business hours, weekends, recognized holidays, individual approver availability including planned PTO, and, for organizations with distributed teams, the relevant regional working hours for each specific approver rather than a single company-wide assumption.
25Backup Approvers
Plan explicitly for what happens when a primary approver is on vacation, out sick, otherwise genuinely unavailable, has left the company entirely, or has simply gone inactive in Salesforce without anyone updating the routing logic to reflect that. The pattern: check whether the primary approver is currently available; if so, route to them directly; if not, route to a defined backup approver or a shared approval queue instead, rather than leaving the request sitting with someone who isn't actually going to see it. Avoid single-person dependencies anywhere in the approval chain; a system that quietly breaks the moment one specific manager takes a two-week vacation isn't a real system, it's a fragile workaround waiting to fail at an inconvenient moment.
26Finance Approval
Finance-specific triggers commonly include margin falling below a defined threshold, unusual payment terms, an extended payment schedule, waived fees of any kind, discounts above a certain size regardless of the sales-hierarchy approval already granted, and unusual billing structures generally.
The architecture: a commercial exception gets flagged, its actual financial impact gets calculated, and if that impact crosses the relevant threshold, the request routes to finance specifically. Finance should receive genuine financial context to actually evaluate, expected margin, payment-term impact on cash flow, the real dollar value of any waived fees, not merely a bare "please approve this quote" request stripped of the numbers they'd actually need to make an informed decision.
27Legal Approval
Reasonable triggers for legal review: non-standard contract language, special liability terms, unusual termination rights, or custom data-handling or security terms that deviate from the company's standard agreement. It's worth being explicit here: Salesforce can orchestrate the routing and tracking of a legal review; it does not replace actual legal judgment. The system's job is making sure the right request reaches legal with the right context attached and gets tracked properly, not attempting to automate the substance of a legal decision itself.
28Product-Specific Approval
Certain products or services may need a technical review, a delivery-capacity review, or an implementation-feasibility review before a quote including them can proceed, entirely independent of pricing considerations. A quote including a custom integration, for instance, might need to route to the solutions or delivery team specifically to confirm the work is genuinely deliverable as scoped before it goes any further. This protects the business from a fundamentally different kind of risk than pricing governance: selling work operations genuinely can't fulfill as promised, which tends to cause considerably more damage to a customer relationship than an overly generous discount ever would.
29Margin-Based Approval
For businesses where actual margin matters more directly than the discount percentage alone, calculate revenue minus cost to arrive at expected margin, and route based on that figure directly: if margin meets or exceeds policy, no finance approval is required; if it falls below policy, finance approval is required, regardless of what the headline discount percentage happens to be.
This distinction matters because a 20 percent discount can carry meaningfully different implications depending on the specific product involved; a 20 percent discount on a high-margin software line might still leave a genuinely healthy margin, while the identical 20 percent discount on a low-margin hardware or pass-through service line might erase profitability on that specific deal entirely. A pure discount-percentage rule can't see that difference on its own; a margin-based rule can.
30Build a Deal Desk Workflow
For larger or more complex sales organizations, a centralized deal desk can be genuinely worth building: a sales rep routes a quote exception to the deal desk, which reviews pricing, terms, margin, product feasibility, and any legal requirements together, then routes out whatever specialized approvals are actually needed from that unified review, before a final commercial approval closes the loop. A centralized deal desk model tends to become worth the added structure once a business has grown complex enough that a single rep or manager can no longer reasonably track every relevant policy, product nuance, and approval requirement on their own without a dedicated function coordinating it.
31Surface Approval Status on the Opportunity
Give management direct visibility from the pipeline itself, without requiring a separate report or a manual dig into the quote record: an opportunity's summary view should be able to show its current stage, its quote value, current approval status (say, Pending Finance), and how long that approval has actually been sitting open. This makes commercial bottlenecks visible directly from the pipeline view a sales manager is already looking at daily, rather than requiring a separate, easily-forgotten check into a different part of the system.
32Build a Quote Approval Dashboard

A pending approvals view should show, for each open request, the quote, account, rep, amount, the specific exception involved, the current approver, and how long it's been pending. An approval performance view should track total requests, approvals, rejections, average and median approval time, and escalation frequency. A discount analysis view should break down average requested discount, average approved discount, average rejected discount, and discount patterns by rep, by product, and by customer segment. A bottleneck view should surface where delay is actually concentrated, finance averaging 3.2 hours, sales managers averaging 47 minutes, legal averaging 1.8 days, for instance, which tells management exactly where process improvement effort would have the most impact.
33Measure Revenue Waiting on Approval
Build this as an explicit, standing management metric: total revenue currently pending approval, say $1,280,000, broken down by which approval stage is currently holding it up, $380,000 waiting on sales approval, $510,000 waiting on finance, $390,000 waiting on legal. This single number turns approvals from a background administrative process into a directly measurable revenue-operations concern, one management can actually track and act on, rather than an invisible source of delay nobody's paying attention to until a specific deal complains about how long it's taking.
34Measure Discount Leakage
Compare requested discount against approved discount against the discount that actually made it into the final closed deal, and look specifically for reps who consistently request exceptions well above policy, product lines that seem to require excessive discounting to close at all, managers who are functionally approving nearly everything that reaches them regardless of merit, and discounts that don't actually correlate with improved close rates, meaning the business is giving away margin without a corresponding improvement in win rate to show for it.
Be careful with the last one specifically: a correlation between discount size and win rate, in either direction, doesn't automatically prove that the discount itself caused the outcome. Larger, more strategically important deals might simply carry both higher discounts and higher win rates for entirely independent reasons. Use this analysis to surface patterns genuinely worth investigating further, not as a substitute for actually investigating them.
35AI Approval Analytics
Once a business has accumulated enough historical approval data, AI can help management make sense of it: common stated reasons behind exceptions, recurring customer objections showing up in approval justifications, specific products generating disproportionate pricing resistance, where bottlenecks tend to concentrate, and genuinely unusual patterns worth a closer look, alongside a readable summary of the broader approval history.
A representative output: enterprise implementation fees were waived in 38 percent of approved deals this quarter, primarily for multi-location customers. The underlying numbers driving a statement like that need to come from deterministic reporting against the actual approval data, calculated the same reliable way every time, with AI's role limited to explaining and contextualizing what that reporting already shows, not independently generating or inventing the underlying figures itself.
36Build a Real Quote Approval Audit Trail
Track the full lifecycle explicitly: who requested the approval and when, the specific commercial terms in question at that moment, who the approver was, their decision, any comments they left, any subsequent changes made to the quote, whether reapproval was triggered as a result, and the final quote that ultimately went to the customer. This kind of audit trail matters for internal accountability, for ongoing pricing-governance improvement, for genuine process refinement over time, for resolving disputes when a customer or internal stakeholder later questions what was actually agreed to, and, where relevant to the specific industry, for compliance purposes.
37Salesforce Architecture, Conceptually
A representative conceptual flow: the Opportunity sits at the top, connected to a Quote, which contains Quote Line Items, which feed the pricing and commercial calculations covered throughout this guide, which feed an approval rule engine, which generates an approval request, which routes to the correct approver or approvers, whose decision updates the quote's status, which in turn gates document generation, which finally reaches the customer.
It's worth being direct that Salesforce does not have one single universal architecture for every quoting environment, and the right implementation differs meaningfully depending on whether an organization is working with the standard Salesforce Quote object available in core Sales Cloud, Salesforce CPQ, Revenue Cloud, a third-party CPQ or proposal application, or a fully custom quote data model built specifically for that business. Verify current product naming and capabilities directly against Salesforce's own documentation before finalizing a specific architecture, since this exact product landscape has shifted meaningfully in recent years and continues to.
38Which Salesforce Quoting Product Are You Actually On?
This distinction genuinely matters and is worth getting right before designing anything further, since the terminology in this space has changed significantly and mixing these products up leads directly to a broken implementation plan.
Standard Salesforce Quotes, available natively in core Sales Cloud, provide a basic Quote object tied to the Opportunity, capable of generating a simple quote document and syncing selected fields back to the Opportunity. Standard Sales Cloud does not include a built-in, quote-specific approval process out of the box; a business on standard Quotes builds its approval logic using Salesforce's general-purpose declarative Approval Process feature (covered in the next section) applied to the Quote object directly, which works well for simpler policy matrices.
Salesforce CPQ, the SteelBrick-originated managed package Salesforce acquired in 2015, is a considerably more capable configure-price-quote application supporting complex product bundling, price rules, and its own dedicated approval capability called Advanced Approvals, a managed-package feature layered on top of standard Salesforce approvals, purpose-built for serial and parallel discount and pricing approval chains. As of March 2025, Salesforce moved CPQ to End of Sale status, meaning it's no longer sold to net-new customers, though existing customers retain full access, can continue renewing licenses and adding users, and continue receiving support; Salesforce has shifted new feature investment away from it toward its successor platform.
Revenue Cloud Advanced, rebranded Agentforce Revenue Management as of the Spring '26 release, is Salesforce's current strategic quoting and revenue-lifecycle platform, built natively on the core Salesforce platform rather than as a separate managed package, and positioned as CPQ's successor. It includes its own approval capability, which, somewhat confusingly, also carries the name Advanced Approvals but is architecturally distinct from the CPQ version, built on Flow Orchestration rather than the older CPQ-specific engine. If a business is actively evaluating which platform to build a new quote approval system on, confirm current Salesforce product availability, licensing, and migration guidance directly, since this specific product landscape, CPQ's transition status and Revenue Cloud's ongoing evolution, is exactly the kind of detail that continues to change and shouldn't be assumed static.
39Salesforce Flow vs. Native Approval Process vs. Custom Architecture
Use Flow for the surrounding automation: calculations, dynamic routing logic, notifications, status changes, and any supporting automation that feeds into or reacts to the approval process itself. Use Salesforce's native, general-purpose Approval Process feature, available across editions supporting it and usable on the Quote object, the Opportunity, or a custom object alike, where a structured, genuinely sequential or parallel approval flow with entry criteria, defined approvers, and built-in approval history fits the business's actual policy; this native feature already provides a documented, permanent record of who approved what, directly on the record, without any custom object required.
Consider a custom approval object specifically when a business needs richer reporting spanning multiple distinct approval types, more complex custom state management than the native process supports cleanly, or integration touching systems outside Salesforce that the native Approval object wasn't built to expose. Consider external automation, platforms like Zapier, Make, n8n, or custom API integrations, specifically when an approval workflow needs to reach outside Salesforce entirely, notifying an approver through a channel the native platform doesn't reach directly, for instance, or coordinating with a separate proposal or billing system. None of these approaches is universally correct; the right combination depends on the specific environment, and understanding which quoting product a business is actually running, covered in the prior section, is a prerequisite to making this decision well.
40Integration With Quote and Proposal Software
Where the final customer-facing document actually gets generated by a separate proposal or document-generation platform rather than natively inside Salesforce, the architecture needs an explicit check: the Salesforce quote gets approved, and only once that approval is genuinely confirmed does the integration trigger proposal generation and route it for signature. The proposal or document platform should never be able to bypass the approval policy simply because it operates as a separate system; if a rep can open that other tool directly and generate a customer-facing document without Salesforce's approval status ever being checked, the entire governance system built inside Salesforce has a real, exploitable gap. Verify current integration capabilities for whichever specific proposal, document-generation, or e-signature platform is involved before assuming a particular check-and-gate pattern is technically achievable, since exact API and webhook support varies meaningfully by vendor.
41Integration With Slack or Microsoft Teams
Approvers frequently want the convenience of reviewing and acting on a request without leaving whichever tool they already live in day to day. The general concept: an approval request in Salesforce triggers a notification in Slack or Teams carrying the relevant context, which the approver can review directly, before either opening Salesforce to formally act on it or, where a specific supported mechanism exists, approving directly from within the message itself. Be careful not to claim native approve-from-message functionality unless current documentation actually confirms it for the specific combination of Salesforce feature and messaging platform involved; exact supported interaction patterns vary by integration and by which underlying Salesforce approval mechanism is in use, and this is a detail worth verifying directly before promising it as part of a build.
42Mobile Approval
Sales executives frequently need to review and act on a deal approval while away from their desk. Design specifically for that reality: genuinely mobile-friendly context presentation, a minimal number of taps or clicks required to actually act, clear financial figures presented up front rather than requiring extensive scrolling, secure authentication appropriate to the sensitivity of what's being approved, and full auditability preserved regardless of which device or channel the approval action happened through. Speed should never come at the cost of bypassing the actual controls; a mobile approval flow that makes acting fast is genuinely valuable, but not if that speed comes from stripping away the context or evidence an approver would otherwise have used to make a genuinely informed decision.
43Error Handling
Plan explicitly for what happens when a Flow fails partway through, when the system can't determine a valid approver for a given request, when the target user turns out to be inactive, when a notification fails to deliver, when required quote data is missing or malformed, when an external API call fails, when approval status somehow becomes internally inconsistent, or when a quote gets edited while an approval is actively pending against it.
The governing pattern: when automation fails, log the failure with enough detail to actually diagnose it, prevent the quote from silently and unsafely progressing as though everything succeeded, notify an administrator or sales operations directly, and provide a clear, defined recovery path rather than leaving the record in an ambiguous, unclear state. Never let this system fail silently; a quote approval process that fails quietly and lets a deal through unchecked is considerably more dangerous than one that fails loudly and simply stops, because the loud failure at least gets noticed and fixed.
44Testing Matrix
Before trusting this system with real deals, test: a standard quote requiring no approval at all, a 15 percent discount requiring manager approval, a 25 percent discount requiring director approval, a 35 percent discount requiring both executive and finance sign-off, a quote with margin below the defined threshold, a quote with genuinely non-standard terms requiring the correct specialist review, an approver rejecting a request outright, a rep correctly revising and resubmitting after rejection, an approved quote subsequently getting changed and its approval correctly invalidated as a result, a primary approver being unavailable and backup routing correctly engaging, an automation failure being properly captured and surfaced rather than failing silently, a duplicate submission not generating a duplicate approval request, and an already-approved quote correctly avoiding an unnecessary new approval cycle when nothing material has actually changed.
45Common Quote Approval Mistakes
Requiring approval for literally everything rather than genuinely distinguishing standard deals from real exceptions. Having no formal, written approval policy before beginning any Salesforce build. Hardcoding specific named approvers instead of routing dynamically by role or relationship. Letting approval genuinely happen through email or chat with no structured system tracking it. No real audit trail. No escalation logic for stalled requests. No backup approver for when someone's unavailable. No business-hours awareness in escalation timing. No structured rejection reason captured. No quote version control, allowing an approved quote to be silently altered afterward. Approved quotes that remain freely editable with no re-evaluation trigger. Unapproved quotes that can still technically be sent to a customer. No distinction anywhere between material and non-material changes. No routing to finance when financial thresholds are actually crossed. No routing to legal when contract terms genuinely warrant it. No reporting built on top of any of this. Too many unnecessary approval levels slowing down genuinely standard deals. AI making real financial decisions with no human control layer governing it. And, underlying nearly every other mistake on this list, building Salesforce configuration before the business has actually defined its own approval policy in writing.
46Approval Speed vs. Commercial Control
This is a genuine, unavoidable tradeoff worth naming directly. Too little control produces fast quotes at the cost of real margin leakage, commercially unfavorable terms slipping through unreviewed, and discounts granted well outside anyone's actual authority. Too much control produces genuinely well-governed pricing at the cost of slow quotes, frustrated sales reps, and deals lost purely to delay rather than to price or fit.
The actual target, and a theme worth repeating throughout this entire guide: normal deals should move fast, and exception deals should be genuinely controlled. A system that achieves that balance, rather than defaulting toward either extreme, is the one actually worth building. Getting this balance wrong in either direction is the single most common reason a well-intentioned approval system ends up either quietly bypassed by frustrated reps or actively resented as pure bureaucracy that slows the business down without a corresponding benefit.
47Implementation Roadmap
Phase 1: Audit the Existing Quote Process
Document how quotes are currently created, what approvals genuinely happen today (however informally), actual discount authority by role, current finance and legal involvement, and where real bottlenecks and exceptions already show up.
Phase 2: Build the Approval Matrix
Define, explicitly and in writing, every trigger condition and its corresponding required approver, before any Salesforce configuration begins.
Phase 3: Define the Salesforce Data Model
Ensure the underlying quote data actually supports calculating every rule in the matrix reliably.
Phase 4: Build Routing
Determine and build the specific approval paths, sequential, parallel, and conditional, that the matrix actually requires.
Phase 5: Build Enforcement
Prevent unauthorized quotes from progressing to the customer regardless of how they were generated.
Phase 6: Add Notifications
Give approvers genuinely actionable context, not bare status updates requiring further digging.
Phase 7: Add Escalation
Make sure no pending approval can simply disappear into silence with no automatic recourse.
Phase 8: Add Version Control
Protect approved commercial terms from silent post-approval edits.
Phase 9: Build Reporting
Measure approval performance, discount patterns, and bottlenecks on an ongoing basis.
Phase 10: Test
Run the full testing matrix across normal cases and genuine edge cases before going live.
Phase 11: Deploy
Train sales, finance, legal where relevant, operations, and Salesforce administrators on the new process.
Phase 12: Optimize
Use the resulting approval data to continuously refine pricing policy itself, not just the workflow enforcing it.
48How New Motion IT Helps
This is intentionally not a Flow-configuration project or "we'll build an approval button." A Salesforce Quote Approval & Pricing Governance Implementation engagement typically includes a full quote-process audit, approval-policy mapping, a detailed approval matrix, Salesforce quote architecture appropriate to whichever quoting product the business actually runs, discount and margin calculations, conditional and multi-level routing, finance and legal approval paths, product and delivery approvals where relevant, approval request records, automated notifications, escalation logic, backup approver routing, quote version control, send enforcement, rejection and resubmission workflows, approval dashboards, discount analytics, a full audit trail, documentation, and staff training.
The business outcome: standard quotes move quickly, and the system automatically identifies the pricing and commercial exceptions that genuinely need management review before they ever reach the customer. If your sales team is still requesting quote and discount approvals through email, Slack, Teams, or ad hoc hallway conversations, we can help turn that process into a structured, enforced Salesforce system. Reach out to schedule a Salesforce Quote & Approval Workflow Audit, covering how quotes are currently created, your discount policy, approval thresholds, sales-manager authority, finance and legal requirements, margin controls, actual approval turnaround time, how quote changes get handled, proposal generation, your specific Salesforce architecture, and existing reporting.
Sources
- Guide to Salesforce Record Approval Processes
- Approval Processes
- How to Build an Approval Process in Salesforce
- Advanced Approvals for Salesforce CPQ (Managed Package)
- Salesforce CPQ Not End of Life: What End of Sales Means
- Salesforce CPQ vs Revenue Cloud: Key Differences
- Streamline Your Approval Process with Salesforce Revenue Cloud's New Advanced Approvals
