Customer story · Quote-to-Cash & CPQ

Auditing a Salesforce CPQ Nobody Enjoyed Using — Then Rebuilding the Quote Page Role by Role

A long-lived Salesforce CPQ still worked but had drifted: hundreds of mostly-empty fields, three competing ways to calculate ARR, native amendment switched off, quote templates unused, and flows that failed silently. LeanScale ran a twelve-area audit with a field-population census, produced a dependency-sequenced remediation plan, and rebuilt the quote page layout separately for each user role.

ProofWhat happened on a real engagement.
Legal TechnologySector
Late-stageStage
3–6 monthsDuration
6Min read

Anonymized. The company is described by sector and stage only — no customer is named, and quotes are attributed by role.

#The challenge

The CPQ was functional and well-configured in places, which is exactly what makes this kind of drift hard to argue about. But the quoting screen had become overwhelming: the opportunity object alone carried hundreds of custom fields, most of them unpopulated, and the terminology on the quote did not match how the business actually spoke — an abbreviation for the annual price increase read like a technical term, and price columns had names reps could not map to anything. Three different fields claimed to represent ARR and calculated it three different ways. The native amendment process was disabled on both the opportunity and contract objects and the Amend button had been removed from the layouts. Quote templates and quote terms were not used at all — contracts were assembled in the e-signature tool instead, which meant no dynamic contractual language and no quote expiry. Thirty-three price rules were live with no documentation of what any of them did. And essentially every quote required approval, which turns an approval into a formality rather than a control.

#The approach

Scope the audit as twelve areas with time boxes, then execute against it

The audit was written as a statement of work with a defined objective, scope and time estimate per area: package settings, users and permissions, custom fields across quote/quote line/subscription/opportunity/contract, ARR calculation, validation rules and automations, approval processes, price rules, quote templates, quote terms, the amendment and renewal lifecycle, existing documentation, and end-user look and feel. Time-boxing per area is what stops an audit becoming an open-ended archaeology project — the heaviest boxes went to the two things that actually cost money, ARR and the amendment/renewal lifecycle.

Census the fields instead of asserting bloat

Every custom field on the five key objects was counted and measured for population rate, producing a hard number per object rather than an opinion. Two objects came back critically underpopulated — the subscription object at over three-quarters empty and the opportunity object at roughly seventy percent — and those numbers, not the aesthetics, became the argument for consolidation: incomplete subscription fields put renewals, reporting and delivery at risk, and incomplete opportunity fields put forecasting and every downstream quoting and contract step at risk.

Trace the ARR chain end to end and name the competing definitions

The audit followed the actual path — a price rule calculates year-one recurring revenue on the quote, a CPQ handler writes it to the opportunity when a quote is created or updated as primary — and then documented the two rival opportunity ARR fields sitting beside it: one a rollup of opportunity product totals including all recurring revenue (which is not ARR), the other a complex currency formula off quote line fields. Several supporting ARR fields and formulas were identified as no longer relevant and flagged for deprecation. Three answers to one question is worse than none, because everyone believes theirs.

Find the silent failures in the automation layer

The most urgent finding was not a missing feature. Several after-save record-triggered handler flows had no fault paths, so a single failed step aborted the entire flow and every downstream update went uncompleted with no error surfaced to anyone. That pattern repeated across flows and was escalated as the top data-integrity risk, ahead of anything cosmetic.

Inventory the price rules by what they are for

All thirty-three live price rules were grouped by purpose — discount, ARR calculation, recurring-revenue calculation, historical price population, uplift, segment — which immediately exposed a duplicate rule, the absence of any currency-aware rule despite multi-currency being a stated need, and the absence of any rule enforcing the maximum discount threshold the business believed it had. A mini-audit to define each remaining rule was recommended, because thirty-three undocumented rules is friction reps experience as the system 'not doing what I expect'.

Treat permissions and the calculation user as a real risk

License and permission-set assignment was reviewed and came back clean, but the audit recommended moving CPQ calculations off a named standard user and onto an integration user — so that a departure does not break quoting, and so standard users are not granted the elevated permissions the calculation path needs.

Reconstruct the amendment and renewal lifecycle

Findings: the standard amendment process was disabled on both objects, the Amend button was missing from the page layouts, the renewal-quoted flag was being set the moment a contract activated rather than near the renewal date (roughly thirty days out) which quietly corrupted renewal forecasting, and the price book and opportunity fields were not pre-populated when renewal opportunities, quotes and amendments were generated — pushing manual work and error onto every renewal.

Rebuild the quote page layout once per role, on a shared spine

The quote layout was then redesigned per persona — individual contributor, team lead, and operations leader — using the same section spine so the page is recognisable across roles, with progressively more detail by role. Individual contributors see quote overview, a two-line financial summary, contract details and additional terms. Team leads add discount, growth and loss totals, billing start date, contract terms including the amended inflation rate and auto-renewal, billing address and record metadata. Operations leaders add total ARR, annual percentage increase, opportunity type and probability, expiry, the multi-year payment schedule, price book, days-quote-open, sync status and line-item count. Layouts were built in the UAT sandbox first.

Ship a remediation plan sequenced by dependency, not by enthusiasm

The deliverable was a prioritised action plan with an hour estimate, complexity rating and ongoing-maintenance estimate per item, and — the part that matters — explicit prerequisite chains: subscription and opportunity field standardisation has to land before the amendment process can be re-enabled, and both have to land before multi-year contract forecasting can be fixed. Items were sequenced across three months with a running hour total per month, and each item carried a real status including 'in progress / needs work' rather than an aspirational one.

#Outcomes

A component-level audit with numbers behind every claim

Twelve areas assessed, field-population rates measured per object, thirty-three price rules inventoried and grouped, and the live approval configuration documented — delivered as an audit report, executive summary, recommendations and a priority action plan.

The highest-severity finding was an invisible one

After-save handler flows with no fault paths were identified as a silent-failure risk that would have kept producing incomplete records and unreliable reporting without ever raising an error.

Three ARR definitions reduced to a decision

The ARR calculation chain was documented end to end, the two competing opportunity-level fields were characterised, and the outdated supporting fields and formulas were listed for deprecation.

Quote layouts specified per role and staged in UAT

Three role-based quote layouts were designed on a shared section spine and built in the UAT sandbox ahead of production.

A ~300-hour remediation plan with real prerequisites

Eleven prioritised action items sequenced over three months with hour estimates, complexity ratings, maintenance estimates and explicit dependency chains — and honest statuses, with several items already marked in progress or needing work rather than reported as complete.

The method behind it

This ran the Quote to Cash playbook

The delivery standard this engagement followed.

Connected

In the knowledge graph

Every entity below has its own page, aggregating what we measured, what we recommend and what guests said.

Related

More on these topics

Method Revenue Systems

CPQ

Every CPQ project moves through the same four phases. Know what you produce in each one — and know that, like Quote to Cash, this is a project you win…

32 sections · 19 min read
Method Revenue Systems

Quote to Cash

Every Quote to Cash project moves through the same four phases. Know what you produce in each one — and know that this is a project you win or lose in…

31 sections · 18 min read
Proof Quote-to-Cash & CPQ

Unblocking a CPQ and deal-desk backlog

A marketing-technology company's Salesforce CPQ process was failing in ways that stopped real deals from moving. LeanScale worked the backlog — a bloc…

3 sections · 1 min read
Proof Quote-to-Cash & CPQ

Closing the loop between the CRM and the contract lifecycle system: auto-created contracts and standing custom-agreement flagging

A growth-stage software company ran redlining and legal paper in a contract lifecycle system and quoting in a separate CPQ, but the two never fully me…

3 sections · 5 min read
Proof Quote-to-Cash & CPQ

Quoting guardrails for a configurable product catalog: compatibility rules, approvals and enablement

An industrial technology manufacturer quoted highly configurable products with no compatibility or discount guardrails and no catalog to quote from. L…

3 sections · 2 min read
Proof Quote-to-Cash & CPQ

Building quote-to-cash and CPQ where quoting was still manual

A fast-scaling B2B software company selling both self-serve and sales-led into high-volume SMB had no CPQ, no product catalog, and billing split away …

3 sections · 2 min read