Discount Approval Workflows
37 min
this guide shows you how to build discount based approval workflows—from simple single threshold approvals to complex tiered discount matrices business scenarios covered scenario complexity best approach any discount requires manager approval simple single step with clause condition tiered discounts (10%→manager, 20%→director) medium multiple steps with conditions product specific discount thresholds medium aggregation conditions or matrices discount + deal size combinations complex multiple conditions with criteria logic regional discount authority variations complex multiple paths or matrices scenario 1 simple discount threshold requirement any quote with discount greater than 10% requires manager approval configuration steps 1\ create the approval process navigate to approval processes tab → new setting value approval process name quote discount approval available objects quote final action status field approval status c lock record after submit ✓ 2\ create the approval path on the process page, click + new next to approval paths → + new path setting value approval path name discount review available objects quote 3\ create the approval step open the path → + new next to approval steps setting value approval step name manager approval approval reason discount exceeds 10% resolve on first approval/reject 4\ add the approver on the step page → + new next to approvers → + new approver setting value approver name quote owner manager type user lookup lookup path owner managerid 5\ configure entry criteria under entry criteria → + new condition field value type clause value discount (select field) operator greater than value 10 set criteria logic to 1 \[screenshot simple discount approval configuration] scenario 2 tiered discount approvals requirement 10 20% discount → sales manager approval 20 30% discount → sales director approval 30% discount → vp sales approval configuration approach create three sequential steps within a single path, each with specific entry criteria path setup setting value approval path name tiered discount review step 1 manager approval (10 20%) setting value approval step name manager approval approver type role role name sales manager entry criteria condition 1 discount > 10 condition 2 discount <= 20 criteria logic 1 and 2 step 2 director approval (20 30%) setting value approval step name director approval approver type role role name sales director depends on manager approval entry criteria condition 1 discount > 20 condition 2 discount <= 30 criteria logic 1 and 2 step 3 vp approval (>30%) setting value approval step name vp approval approver type user user \[select vp sales user] depends on director approval entry criteria condition 1 discount > 30 criteria logic 1 how it works quote with 25% discount submitted │ ▼ step 1 manager (10 20%) ── criteria not met → skipped │ ▼ step 2 director (20 30%) ── criteria met → approval required │ ▼ step 3 vp (>30%) ── criteria not met → skipped │ ▼ quote approved important enable "skip if not applicable" on each step so the process continues when criteria aren't met \[screenshot tiered approval steps configuration] scenario 3 line item level discount approvals requirement approval required if any line item has discount greater than 15% using aggregation conditions this requires checking child records (quote line items), not just the parent quote 1\ create a variable on the path or step page → click variables button → + new setting value variable name maxlineitemdiscount object quotelineitem aggregated field discount aggregate function max 2\ create aggregation condition under entry criteria → + new field value type aggregation value $maxlineitemdiscount operator greater than value 15 result the approval triggers when the maximum discount on any line item exceeds 15%, regardless of the quote level discount field scenario 4 combined discount + deal size requirement discount >10% and amount >$50k → manager discount >20% or amount >$200k → director configuration create two steps with combined criteria step 1 manager approval entry criteria condition 1 (clause) discount > 10 condition 2 (clause) amount > 50000 criteria logic 1 and 2 step 2 director approval entry criteria condition 1 (clause) discount > 20 condition 2 (clause) amount > 200000 criteria logic 1 or 2 scenario 5 product specific discount thresholds requirement different discount thresholds for different product categories software >15% requires approval services >10% requires approval hardware >5% requires approval option a using aggregation variables create three variables to calculate max discount per product category variable object filter function maxsoftwarediscount quotelineitem product category c = 'software' max(discount) maxservicesdiscount quotelineitem product category c = 'services' max(discount) maxhardwarediscount quotelineitem product category c = 'hardware' max(discount) create three approval steps, each checking its respective variable option b using approval matrices for complex product/discount combinations, use a matrix (see approval matrices guide docid\ pmcr5xpdwndph0zwj6pti ) scenario 6 weighted average discount requirement approval required when the weighted average discount across all line items exceeds 12% using variable calculations 1\ create variables variable object field function totalgrossvalue quotelineitem listprice quantity sum totalnetvalue quotelineitem totalprice sum 2\ create variable calculation condition under entry criteria → + new → type variable calculation click the formula builder icon and enter ($totalgrossvalue $totalnetvalue) / $totalgrossvalue setting value operator greater than value 0 12 this calculates the weighted discount percentage dynamically \[screenshot variable calculation formula builder] smart approvals for discounts remember approval decision enable this feature to avoid re approval when discounts haven't increased on the approval step check remember approval decision on entry criteria conditions check validate field changes for discount related conditions how it works quote submitted with 15% discount → manager approves quote recalled for edits discount changed to 12% → resubmitted result auto approved (discount decreased) quote submitted with 15% discount → manager approves quote recalled for edits discount changed to 18% → resubmitted result re approval required (discount increased) best practices do's use lookup based approvers for manager chains to handle org changes automatically enable "skip if not applicable" on tiered steps to allow process flow use variables for line item logic rather than building rollup fields enable remember approval decision to reduce approval fatigue don'ts don't use too many tiers 3 4 levels maximum keeps processes manageable don't forget criteria logic even single conditions need logic set to 1 don't use aggregations on process entry criteria can impact page load performance troubleshooting issue cause solution all steps skipped missing "skip if not applicable" enable on steps that may not apply wrong approver static user instead of dynamic use user lookup with owner managerid line items not evaluated condition is clause, not aggregation change to aggregation with variable discount shows 0 field api name incorrect verify field api name in condition related guides approval matrices docid\ pmcr5xpdwndph0zwj6pti for complex product/discount combinations manager escalation docid\ an5dh883znnipx6qywlqo building approval chains configuration entry criteria docid\ jueqw5ihkigwapzfrtszk deep dive on conditions need help? check our troubleshooting guide docid\ sgpxdyp dpg9a9uanwlis or faq docid\ relcvm0ggisy7rghm2jml