---
title: "Rebuilding a CPQ catalog around new tiered packaging — while the pricing model was still being decided"
type: case-study
evidence_type: proof
category: "Quote-to-Cash & CPQ"
publisher: "LeanScale"
date_modified: 2026-08-08
word_count: 888
topics: ["pricing-packaging", "revenue-operations"]
canonical_url: https://knowledge.leanscale.team/customers/rebuilding-a-cpq-catalog-around-new-tiered-packaging/
source: "LeanScale Knowledge Hub — https://knowledge.leanscale.team"
license: "Free to quote and cite with attribution to LeanScale."
---

# Rebuilding a CPQ catalog around new tiered packaging — while the pricing model was still being decided

**Evidence type:** proof (what happened)

A technology company was collapsing an à-la-carte price list into tiered good/better/best packaging across its customer segments. LeanScale rebuilt the catalog, bundles, price rules and quote-calculation logic in Salesforce CPQ to match, deployed it one segment at a time through the client's own release process, and ran a RAID log against a pricing model that was still moving.

## The challenge

The company sold a platform subscription alongside volume-metered units and a long list of à-la-carte add-ons, priced differently across customer segments, frequently across multiple contract years and multiple billing entities under a single parent account. Leadership decided to collapse that into a small set of named tiers per segment. The CPQ configuration underneath had grown around the old model — bundles, product options, price rules and lookup tables all encoded assumptions the new packaging broke. The pricing itself was still being decided while the build was in flight, legacy rules had to keep working for existing customers, and reps were being trained on the new packages before the configuration behind them was live.

## The approach

Rebuilt the catalog to the new packaging
New tiered core bundles per segment, plus separate bundles for the add-on families, built as nested structures at one and two levels of product options so a rep configures a tier and then adjusts within it. The full à-la-carte catalog was reconstructed as options underneath the bundles rather than as free-standing products.

Moved pricing into lookup tables instead of hard-coded rules
Built per-segment pricing-table objects keyed by a pricing-tier field, then wrote price rules that carry the account's segment and tier down onto the quote line on initialization and resolve the price by lookup query on calculate — with price-lift and price-reset rules layered for multi-year quotes. When leadership changed a tier's price, the change became data entry rather than a rebuild. This is the single highest-leverage move in a CPQ rebuild running against a pricing model that has not settled.

Made quantity drive entitlement and price together on metered add-ons
For the volume-metered add-ons, quantity on the product option drives the entitlement volume and the price in the same step, with the ratio documented on the option itself, so a rep can size a deal at the quote line without raising a pricing exception.

Enforced the commercial rules the packaging assumed
Product and error-condition rules for combinations that should never be quotable — an add-on that only makes sense alongside its parent product, a bundle with bad term dates. Value-override checkboxes where a rep genuinely needs to exceed a band. Volume ceilings a rep can quote under but not over, so exceeding the band becomes either a priced add-on or a move up a tier, which was the point of the new packaging.

Wrote a quote calculator plugin for multi-term, multi-entity contracts
A custom CPQ script that chains sequential contract terms per billing entity: each term starts the day after the previous one ends, defaults to a twelve-month period ending the day before the anniversary, yields to a custom-term checkbox when a rep needs a non-standard length, and renames each quote line group to the entity plus term number so a multi-year, multi-entity quote is readable on its face. It removed manual date entry as a source of gaps and overlaps between contract periods.

Tracked every component as a deployable inventory and shipped through the client's own pipeline
CPQ configuration is data as much as metadata, and a change set alone does not move it. Kept a deployment tracker listing every configuration record, custom field, automation and script — a few hundred data records and around twenty custom fields — with its identifier, business description, dependencies and status. Built in a developer sandbox, promoted through partial-copy, and worked inside the client's release pipeline, including a mid-project migration to a new version of their deployment tooling. Deployed one segment, then the next, each with a testing pass and a documented list of anything deactivated to get the build working.

Ran a RAID log against a moving target
Logged the risk that the client would repackage mid-build, the risk that a contract gap would stall completion, the assumption that remaining budget equalled remaining delivery capacity (recorded as invalidated once holiday coverage was accounted for), and every blocking client decision — approval thresholds, the field-deprecation list, the production promotion date, who executes the promotion, and the definition of done — each with an owner and a date, and pushed for a scope freeze.

Handed off deliberately
Compiled every recorded walkthrough into a single handoff packet organized by topic, with an explicit flag for anything that had been built but never recorded. Moved LeanScale-created reporting into its own folder, audited which dashboards were still in use, confirmed access to LeanScale-owned assets, removed LeanScale from email alerts, and transitioned admin access.

## Outcomes

The new packaging became quotable in production, one segment at a time
Each segment was built, tested in a partial-copy sandbox with the client's own sales leaders, and promoted to production, with post-deployment testing and issue triage in the shared channel.

Price changes became data entry
Tier pricing lives in lookup tables resolved by price rules at calculation time, so a tier or rate change no longer requires rebuilding rules.

Multi-year, multi-entity quotes date and name themselves
Sequential terms chain automatically per billing entity with no gaps or overlaps, with a manual override for non-standard term lengths.

The unresolved decisions were visible rather than absorbed
The RAID log recorded which client decisions were blocking which deliverables, with owners and dates — including a capacity assumption explicitly marked invalidated. A phase-two recommendation to move quoting onto a dedicated platform with native margin floors and preset discount options was scoped but not built.

## Canonical

https://knowledge.leanscale.team/customers/rebuilding-a-cpq-catalog-around-new-tiered-packaging/
