CPQ Documentation
The Pinion CPQ User Guide — how to configure, price, quote, and manage the full contract lifecycle, straight from the product team.
Getting Started
Welcome to Pinion
Pinion is a Configure-Price-Quote (CPQ) app for Salesforce — reps configure products on a deal, Pinion computes the right price in real time, and they generate a branded quote and route it for approval. Admins set up the catalog, pricing, bundles, rules, and templates that drive it. This page maps the whole guide.
Licensing & Tiers
Pinion comes in two tiers. The base tier is the full CPQ core — configure, price (list/block/discounts/MDQ), bundle, rule, quote, and approve. Pinion+ adds the advanced and governance capabilities (dimensional attributes, configurable pricing waterfalls, advanced approvals, mass renewal and forecasting, and more) and raises some base limits. Gated features stay visible with an upgrade prompt rather than being hidden.
Installing Pinion
A complete walkthrough of installing the Pinion managed package — what to do before, during, and after. Covers the prerequisites (My Domain, an admin installer), the important install-order decision if you'll use Config Promotion across production and sandboxes (install production first so the post-install backfill stamps cross-org identities, then refresh sandboxes so they inherit those keys), what the post-install script does automatically, assigning the right permission sets to the right people, verifying the SyncKey backfill and re-running it on demand, and connecting orgs for Config Promotion.
Setup Wizard
The Setup Wizard is the admin's post-install checklist inside the Pinion admin app — it walks the configuration a managed package can't do silently for you, automating the steps the platform allows (permission sets, notification settings, license) and guiding the ones it can't (a Guest Site, a Slack app). Every step reports a live status, so the page doubles as an ongoing health check you can re-open any time.
Configurator
Overview & Launch
The Configurator is the full-screen workspace where a rep turns an Opportunity (or Quote) into a priced, rule-checked set of products — three tabs (Configure · Price · Quote) that walk you from picking products, to seeing the price and why, to generating the quote document.
Building a Quote
The core workflow — pick products on the Configure tab (bundles, MDQ subscriptions, configuration attributes), set quantities, prices, discounts and terms on the Price tab, then persist with Save & sync (or bookmark a what-if with Quick save).
Rule Transparency & ”Why this price”
Every rule-driven change in the Configurator is shown to the rep — validation errors and alerts, lock and suggestion badges, the hidden-by-rule chip, and a step-by-step ”Why this price?” breakdown. This page is the reference for all of those feedback surfaces.
Rules
Product Rules
Condition→action rules that enforce configuration constraints, auto-configure carts, warn reps, and filter the catalog — surfaced as live feedback in the configurator.
Pricing Rules
Condition→action rules that adjust a line's price or discount — set a unit price, apply a percentage or fixed discount, or add a surcharge — applied live in the configurator and enforced server-side at save.
Approval Rules
Condition-driven rules that require sign-off when a quote or opportunity matches — discount thresholds, deal size, risky terms. Define the approval chain, its steps, approvers, SLAs, and policy here; the approver experience at runtime lives in Approvals.
Summary Variables
Named aggregates (Count / Sum / Min / Max / Avg / First / Last) over a filtered set of configurator lines, referenced by name from any rule's conditions — e.g. ”total seats”, ”count of add-ons”, ”max line discount”.
Lookup Queries
Configurable data-table lookups that return a value by matching deal context against a table — e.g. a rate card keyed by region + tier. Used as the ”Lookup” value source in Pricing- and Product-rule actions.
Rule Simulator
A read-only ”what-if” — see which Product and Pricing rules would fire against a real Opportunity/Quote or a virtual bundle configuration, with a condition-by-condition trace and zero database changes.
Catalog & Pricing Setup
Overview
Catalog & Pricing Setup is the admin-side work that decides what reps can sell and how it's priced — product grouping and visibility, per-product attributes and dimensions, block prices, discount schedules, segment templates, and the pricing waterfall. It's configured in two places: the Pinion admin app for the org-wide pieces, and Product Manager for the per-product pieces.
Product Groups
Product Groups organize your catalog into the headings reps browse in the Configurator, and let you control which groups reps can see. You choose the Product field that defines the grouping and toggle visibility per group — all from the Product Groups page in the Pinion admin app.
Configuration Attributes
Configuration Attributes are the inputs a rep fills in when configuring a product — picklist, multi-select, text, number, date, or checkbox — with optional validation, defaults, and per-type pricing (per-value, Number bands, or checkbox true/false). You define them per product in Product Manager, and they can be shared across products or vary per MDQ segment.
Dimensions
Dimensions slice a subscription product's contract term into priced segments — the basis of MDQ (multi-dimensional quoting). You define a dimension's type (Year, Month, Quarter, Custom, or One-Time) and its per-segment behavior — uplift, editability, renewal behavior, and how discounts aggregate — per product in Product Manager.
Block Pricing
Block Pricing replaces a product's single list price with fixed unit prices by quantity band (1–10 at one price, 11–50 at another). You switch a product to Block pricing and define the tiers per product in Product Manager; each tier can scope to a pricebook and be gated by Account / Opportunity / Quote conditions.
Discount Schedules
Discount Schedules are reusable volume-discount tiers applied automatically by line quantity (or total amount, term, or a custom field). Each schedule is Slab or Range, discounts in percent or amount, aggregates at line / group / quote scope, and carries an optional effective-date window. You manage them org-wide in the Pinion admin app and reference them from products, accounts, and pricebooks.
Segment Templates
Segment Templates are reusable MDQ ramp shapes — a per-segment pattern of quantity multiplier, uplift, and discount. A rep applies a template to a compatible multi-year line in one click, and the pattern flows through the normal segment save path. You author them org-wide in the Pinion admin app, keyed by dimension type and segment count.
Pricing Waterfalls
A Pricing Waterfall is the ordered sequence of steps Pinion replays to compute each line's price — list lookup, block, discounts, markups, floor/ceiling, approval gate, and more. The packaged Default reproduces Pinion's built-in pricing order and is locked; on Pinion+ you can clone it and author custom waterfalls with their own steps, parameters, conditions, and applicability rules.
Usage Rate Cards
A metered product charges a committed base subscription plus overage above an included entitlement. You mark the product Usage-Based, define its usage dimension (unit of measure, included entitlement, billing cadence, per-quote editability), and build a graduated overage rate card in the Product Manager ”Usage Rate Card” editor — 1-based inclusive tiers, sub-cent rates, and an Overage Pricing Model of Slab (graduated) or Range (volume).
Pricing Methods
Pricing Methods Overview
Every line's price is built by an ordered sequence of steps — the pricing waterfall. It seeds a unit price (list or block), overrides it with a contracted rate, applies volume/term/manual discounts and promos, then clamps it — and multiplies by effective quantity and term for the line total. This section explains what each method does and the order they run in.
Base Price — List, Block & Contracted
The unit price starts from one of three sources, in precedence order — the pricebook List price, a quantity-band Block price, or a negotiated Contracted price. List seeds it; Block replaces the seed when the product is on Block pricing; a Contracted rate replaces it for a specific Account, and later discounts still apply on top.
Config-Attribute Pricing
When a rep fills in priced configuration attributes, those choices adjust the line's unit price — a picklist value's override or delta, a Number attribute's per-unit band rate, or a checkbox's true/false price. The contributions blend into the unit price and show as their own step in the Price Waterfall.
MDQ — Segment Pricing
MDQ prices a multi-year subscription one segment at a time. Each segment runs the waterfall, then applies the dimension's uplift — compound for a percent, linear for an amount — and the final segment is prorated when the term doesn't divide evenly. Discount aggregation decides whether the whole ramp earns one volume tier or each segment its own.
Discounts & Promos
After the base price is set, the waterfall applies discounts in order — volume (by quantity), term (by duration), the rep's manual Additional Discount, and a promo code. Volume and term come from Discount Schedules; manual discount is per-line; the promo is the deal's code, applied within its effective-date window.
Percent-of-Total
A Percent-of-Total product is priced as a percentage of the other lines on the deal — useful for a managed-services or support line that should scale with the deal size. It sums the in-scope, same-currency, non-percent sibling lines, takes its configured percent, and recomputes automatically whenever those siblings change. It never counts itself, so there's no circular pricing.
Usage & Metered Billing
A metered product prices as a committed base subscription plus a display-only projected overage above an included entitlement. Overage above the entitlement walks the rate card's tiers — graduated (Slab) prices each band separately, volume (Range) prices the whole overage at the landed tier. The projection is a quoting estimate, non-contractual in v1; the server recomputes it from the trusted rate card and overwrites tampered terms before they persist.
Bundles
Bundles Overview
A bundle is a parent product that carries options — child products a rep turns on or off when configuring the deal. You make a product a bundle and author its options, features, and constraints in Product Manager's Bundling tab; a pricing model (Standard / Roll-Up / Itemized) decides how option prices roll into the parent.
Bundle Options
A bundle option is a child product in the bundle. Its Option Type (Component, Fixed Price Component, Accessory, or Related Product) decides how its quantity and price relate to the parent; per-option flags (Required, Selected by Default, Hidden), quantity bounds (min/max/default + editable), a Feature assignment, and renewal behavior round it out.
Bundle Features
A feature groups bundle options and enforces how many a rep may select (Min/Max Options). Its Option Selection Method decides how the group presents — Click (tick/untick all), Add (a picker behind a button), or Dynamic (options resolved from a Product2 SOQL filter at configure-time).
Option Constraints
Option constraints are declarative dependencies and exclusions between two options in the same bundle — Requires (auto-add and lock the target), Excludes (lock the target off), or Implies (default the target on, rep can opt out). They're a lighter-weight alternative to authoring a Product Rule.
Bundle Pricing Models
A bundle's pricing model decides how option prices present and roll into the parent — Standard (one bundle price), Roll-Up (option prices rolled up to the parent), or Itemized (option prices shown, parent at $0). It's a multi-select in the bundle's Bundle Configuration form (Bundling tab); pick more than one and the configurator shows a toggle. The option's type determines how its quantity and price feed the model.
Quoting
Quoting Overview
Quoting turns a configured deal into a branded PDF document. Admins design reusable templates in a canvas builder, route them to deals by Account and Pricebook, and translate them per locale; reps generate the PDF from Product Display. Templates aren't just quotes — they cover Order Forms, Contracts, SOWs, Amendments, and Renewals.
Quote Templates
The quote-template editor is organized into Template details, Branding, Page & typography, Layout (the drag-and-drop canvas of sections), and Translations. You add sections, pick line-item columns, drop in merge fields, gate sections with visibility conditions, and save as a draft before publishing. Each template has a Document Type and can be the org default.
Template Routing
Routing rules pre-select which quote template a deal uses, by Account and/or Pricebook. The most-specific match wins (Account + Pricebook beats Account beats Pricebook), Priority breaks ties, and the org default template is the fallback when no rule matches.
Translations
A template can carry per-locale translations — translated header, footer, and terms HTML, plus layout overrides — so a deal in another language renders in that language. You add translations from the Translations card in the template editor; at render time Pinion picks the translation matching the document's locale and falls back to the base template otherwise.
Generating a Quote
A rep generates the document from the configurator's Quote tab — a live PDF preview with a watermark picker and a Generate Quote menu of active templates. The preview always renders; generating the actual document requires a saved and synced configuration. Product Display carries the same Generate Quote button as a second surface.
Quoting a Metered Deal
When a rep adds a metered product in the configurator, the line expands to a Usage & overage panel — the included entitlement and unit of measure, the overage rate, an estimated-usage input, and a live projected overage and projected total. The projection is an estimate, not contractual. The quote's Usage Rate Card document section prints the committed entitlement, cadence, and overage tiers for each metered product.
Approvals
Overview
What happens after an Approval Rule fires — submitting a configuration for sign-off, the approver's My Approvals queue, approve/reject decisions, delegation, the approval trace, notifications, and the field locks that hold a deal until it's approved. Authoring the rules lives in §3; this is the runtime.
Submitting & Recalling
The rep's side of approvals — submitting a saved configuration for sign-off (from Product Display or the configurator's Approvals panel), what submission does (routes the chain, locks the tested fields), resubmitting after a rejection, and recalling a pending submission to edit it.
My Approvals
The approver's queue in the Approvals app — finding your pending requests, reading the deal context and firing criteria, approving or rejecting (a rejection needs a comment), bulk-approving when the rule allows it, and how a decision advances the chain.
Delegation
Cover your approvals while you're out of office. Set a delegate and a date window on the My Delegation tab; during that window, approvals that would route to you go to your delegate instead — and you stay in the audit trail.
Trace
The ”why” view for approvals. The Trace tab shows, for a given deal, every Approval Rule that was evaluated — whether it fired, the logic as evaluated, and a condition-by-condition breakdown of the actual value vs. the threshold. It's how you answer ”why did (or didn't) this need approval?”
Notifications & Locks
The behind-the-scenes behavior of approvals — the emails that fire on submit and decision, the field locks that hold a deal steady while it's pending, and the rerouting that re-resolves an approver when a key field changes mid-approval.
Config Promotion
Overview
Config Promotion moves Pinion configuration — products, bundles, pricing and product rules, attributes, dimensions, discount schedules, block pricing — from one org to another (sandbox → production, a template org → a customer org) idempotently, without clobbering records the target already has. It runs on a cross-org identity called the SyncKey, and offers two ways to promote: the granular Map & promote workbench and the one-click Deploy to Sandbox. It's a Pinion+ feature.
Cross-org identity & install order
Every promotable config record carries a SyncKey — a unique, immutable, cross-org identity stamped automatically on create and on every package upgrade. The install sequence that makes orgs share keys is install in production first (post-install stamps the keys), then refresh sandboxes from it (they inherit production's keys) so promotion auto-matches. The Backfill SyncKeys maintenance button re-stamps any records that predate the feature or an incomplete install.
Connecting orgs
Connecting a source org to a target is a one-time, two-part admin setup. First you create a Salesforce Named Credential that points at the target org's My Domain and carries the authentication. Then you register a Config Promotion Target record that pairs a friendly label (e.g. ”UAT Sandbox”) with that Named Credential's name. From then on the target shows up in the Map & promote and Deploy to Sandbox pickers by its label — you never type or see a raw credential, and the record itself holds no secrets.
Map & promote workbench
The Map & promote workbench is the granular promotion path — pick a connected target and a parent object, and source/target records list side by side, joined by SyncKey. Each source parent auto-connects to its match (green) or is set to create new (citron); you re-map by hand, inspect a field-by-field differential, opt specific children out, then apply the records you checked. Children ride along automatically; a blocked or failed promotion surfaces its reason inline.
Deploy to Sandbox
Deploy to Sandbox is the one-click bulk path — push your entire promotable catalog into a connected sandbox, auto-matched by SyncKey. Pick a sandbox, run a read-only preview (per-object create/update/unchanged counts), then deploy. It's idempotent — existing records update, missing ones are created carrying your keys, matched ones are left untouched — which makes it the reliable way to re-seed a sandbox's keys after a refresh. The tab also hosts the Backfill SyncKeys maintenance button.
Troubleshooting
The common Config Promotion snags and how to fix them — an unresolved dependency (promote the referenced record first, or Deploy to Sandbox), unstamped records that can't be promoted (run Backfill SyncKeys), and a blocked or failed connection (check the target's direction guardrails and the Named Credential). Every promotion surfaces its reason inline, so the fix usually follows from the message.
MCP Integration
Overview
Pinion's Model Context Protocol (MCP) integration lets any MCP-capable AI assistant call Pinion's tools against your Salesforce org — so you can ask plain-English questions and take actions grounded in your real, persisted data. What it is, what it needs (PinionPlus, an Enterprise-edition org, an MCP client), and the security model — every call runs as you; reads answer while actions (submit/decide approvals, create a renewal or amendment, generate a PDF, log a task) always confirm first and can only do what you could do yourself.
Setting up the MCP server
The admin steps to stand up Pinion's MCP server and connect an AI client — activate the Pinion MCP server with its tools, configure the packaged Pinion MCP External Client App for OAuth (the few org- and tool-specific settings a cloud-hosted AI client needs), then add the connector in your AI tool (per its own docs) and authorize. Includes the settings that otherwise silently block the connection.
Using the tools
The Pinion MCP tools — a growing set spanning find & explore, pricing & rules, approvals, accounts/contracts/renewals, and activities & documents. Most read; several are actions that change state (submit for approval, decide, create a renewal or amendment, generate a PDF, log a follow-up) — each confirms first and runs as you. How the assistant picks and chains them, what each answers, and what they can and can't do.