Back to all resources

LedgerUp Resources

How to Sync Salesforce CPQ with Stripe Billing: Quote Lines to Prices, Subscriptions, and Schedules

A Salesforce CPQ quote is a set of quote lines with quantities, discounts, terms, and sometimes MDQ segments. Stripe Billing wants products, prices, a subscription or a subscription schedule, and an invoice with the right terms. This guide maps every CPQ object to its Stripe counterpart, walks one three-year quote through the mapping, and shows where Stripe's CPQ connector, Zapier, Workato, and LedgerUp each stop.

Bailey Spell, Founder & CEO, LedgerUp··7 min read

Salesforce CPQ produces the commercial truth of a deal: products, quantities, net prices, discounts, subscription terms, start dates, and, for multi-year deals, the price of each year. Stripe Billing produces the invoice. Nothing moves between them on its own. The work of syncing CPQ with Stripe is turning quote lines into Stripe prices and subscription items, turning a multi-year quote into a subscription schedule with phases, and keeping the signed order form as the tiebreaker when the quote and the paper disagree.

This guide is for finance and RevOps teams running Salesforce CPQ (the SBQQ managed package) upstream of Stripe Billing. It uses one quote throughout: three years, a 10% annual uplift, premium support priced as a percentage of license, an included API allowance with overage, net 45, and a PO number. Updated September 2026.

Quick answer

Map CPQ products to Stripe products, price book entries and contracted prices to Stripe prices, quote lines to subscription items with quantities, MDQ segments to subscription schedule phases, the quote's start date and term to the schedule's start and phase lengths, payment terms to the invoice's days-until-due, and the account to a Stripe customer keyed by the Salesforce Account ID in metadata. Then decide who does that work: Stripe's own CPQ connector or Platform app (admin-built flows, catalog must match), Zapier or Make (one price per step, loops for lines), Workato or Apex (integration team, rules as code), or LedgerUp (reads the quote lines and the signed order form together, builds the Stripe objects, and writes status back).

The object map: CPQ to Stripe

Salesforce CPQ Stripe Billing Rule
AccountCustomerMatch on a stored Stripe customer ID or the Salesforce Account ID in customer metadata. Never match on company name.
Product (Product2)ProductOne Stripe product per sellable CPQ product. Bundle parents that carry no price do not need a Stripe product.
Price book entry, contracted price, net price on the linePriceList prices become catalog prices. Negotiated net prices become customer-specific prices tagged with the quote ID, or a coupon on a list price. Pick one convention and keep it.
Quote line (SBQQ__QuoteLine__c): quantity, discount, billing frequencySubscription item with quantity, or an invoice item for one-time linesRecurring lines become subscription items. One-time lines (implementation, training) become invoice items on the first invoice.
Subscription term and start date (SBQQ__SubscriptionTerm__c, SBQQ__StartDate__c)Subscription schedule start date and phase lengthsA 36-month term with annual billing is a schedule with three 12-month phases, or one phase that iterates three times if nothing changes year to year.
MDQ segments (one segment per year)Subscription schedule phases with a different price per phaseEach segment's price and quantity becomes that phase's item. This is the only clean way to model a ramp in Stripe.
Percent-of-total lines (support at 20% of license)A computed price per phaseStripe has no percent-of-another-line price. Compute the amount per phase and create a price for it.
Consumption schedules and usage linesMeter plus a metered price on the subscriptionIncluded allowance, overage rate, and tiers live on the contract; usage arrives through meter events each period.
Payment terms on the quoteInvoice collection method send_invoice with days_until_dueNet 45 is days_until_due of 45 on the subscription's invoice settings.
PO number on the quote or orderInvoice custom fieldSet it as a default custom field on the customer or on each invoice. Stripe prints it; nothing in Stripe requires it.
CPQ subscription and contract records (SBQQ__Subscription__c)Stripe subscription ID written backStore the Stripe subscription and schedule IDs on the CPQ subscription so amendments and renewals find the right object.

Book a LedgerUp Demo

See how Ari connects contracts, billing, collections, approvals, and accounting records while finance stays in control of exceptions.

Book a LedgerUp Demo

One three-year quote, mapped

The quote: Platform license at $100,000 in year one, $110,000 in year two, $121,000 in year three (three MDQ segments). Premium support at 20% of license each year. 50,000 included API calls a month with overage at $0.002 per call. Implementation fee of $15,000, one time. Annual invoicing in advance, net 45, PO required.

LedgerUp Insight: The workflow described above is one that LedgerUp automates end-to-end. Ari handles the repeatable steps, keeps the source records connected, and routes exceptions to finance for review.

  1. Customer. Find the Stripe customer whose metadata carries this Salesforce Account ID. Create one if it does not exist, with the billing email from the quote's primary contact and the PO number as a default invoice custom field.
  2. Products. Platform license, Premium support, API calls, Implementation. Four Stripe products.
  3. Prices. Three yearly prices for the license ($100,000, $110,000, $121,000), three computed yearly prices for support ($20,000, $22,000, $24,200), one metered price for API calls at $0.002 attached to a meter that sums events per period, one one-time price for implementation.
  4. Schedule. A subscription schedule starting on the quote's start date with three phases of 12 months. Phase one carries the year-one license price, the year-one support price, and the metered API price; phases two and three swap in their year's prices. Collection method send_invoice, days_until_due 45.
  5. First invoice. The implementation fee is added as an invoice item so it lands on the first invoice with the year-one license and support. The 50,000 included calls are enforced by the layer that rates usage, not by Stripe, which bills every metered unit it receives unless the allowance is modeled as a tier or a credit.
  6. Write-back. Stripe customer, subscription, and schedule IDs written to the account and the CPQ subscription record.
The allowance is the trap in this quote. If the meter receives 60,000 events and the price is $0.002, Stripe invoices $120, not the $20 the contract allows. Either model the allowance as a graduated tier with a zero-priced first tier, grant billing credits that cover it, or, as LedgerUp does, rate usage against the contract before anything reaches the meter. The usage-from-Salesforce guide covers all three.

The five places the mapping breaks

1. Ramps that are not MDQ

Many teams write the uplift in the order form ("10% annual increase") and quote a single line. The quote line says $100,000; the paper says three different numbers. Whatever reads only the quote line builds a flat subscription and underbills years two and three. The fix is either MDQ segments on every ramped deal or a layer that reads the order form alongside the quote.

2. Bundles and option lines

A bundle parent with zero price and five option lines produces six quote lines. Only the priced lines should become subscription items. Any sync that maps every quote line one-to-one creates zero-amount items that confuse invoices and reports.

3. Percent-of-total and discount cascades

Support at 20% of license changes when the license price changes in phase two. Partner discounts, additional discounts, and contracted prices stack in CPQ's calculation order. The Stripe price has to be the final net amount per phase, computed once, not a list price with three coupons that drift.

4. Amendment quotes

CPQ's Amend flow produces a quote with delta lines: plus ten seats, minus one add-on, sometimes negative quantities. Those deltas have to become subscription updates with proration on the live Stripe subscription, not a second subscription. The amendments guide covers the Stripe mechanics.

5. Catalog drift

Sales adds a product in CPQ on Tuesday; nobody creates the matching Stripe product. The first quote that uses it fails to sync, or worse, syncs with the wrong price. Every method below needs an answer for "the Stripe price does not exist yet." Creating it on the fly, tagged with the quote line ID, is the usual one.

Four ways to run it

Method How quote lines reach Stripe MDQ ramps Reads the order form Amendment quotes Who maintains it
Stripe Billing Connector for Salesforce CPQ, or Stripe for Salesforce PlatformProduct and price mapping plus flow templates; an accepted quote or closed opportunity creates the subscriptionIf the flow builds a scheduleNoSeparate flowSalesforce admin
Zapier or MakeLoop over quote lines, look up a price per product, create items one by oneNo (no schedules in the standard actions)NoSecond workflowOps owner
Workato, MuleSoft, or ApexRecipe or trigger with the full mapping as rulesYes, as rulesNoYes, as rulesIntegration engineer
LedgerUpAri reads the quote lines and the signed order form, reconciles them, proposes the Stripe objects in Slack, and creates them on approvalYes, from MDQ or from the paperYesYes, with prorationFinance or RevOps

A note on Stripe's CPQ connector: it is listed on AppExchange, but when we checked in September 2026 Stripe's documentation page for it was not reachable. Confirm its support status with Stripe before building a process on it. Stripe for Salesforce Platform, the broader app, is documented and maintained and covers the opportunity-to-subscription case when catalogs match. The full landscape is in the best Salesforce to Stripe integration tools.

Salesforce CPQ's end-of-sale, and what it changes

In March 2025 Salesforce stopped selling Salesforce CPQ to new customers. Existing orgs keep using it, renewing it, and adding licenses, and support continues; new development goes to Revenue Cloud, with Revenue Cloud Advanced positioned as the successor for CPQ power users. For a CPQ-to-Stripe sync this means two things. First, the SBQQ object model above is stable: it is not getting new features, and it is not going away for current customers. Second, teams evaluating Revenue Cloud as the path forward should read LedgerUp vs Salesforce Revenue Cloud before assuming quoting and billing have to move together. Quoting can move to Revenue Cloud while Stripe stays the billing system; the mapping in this guide is the same shape with different source objects.

Frequently asked questions

Book a LedgerUp Demo

See how LedgerUp connects your CRM, billing, and ERP systems to eliminate manual work and accelerate revenue.

Get Started with LedgerUp

Stop babysitting billing ops.

Let Ari run contract-to-cash for your team.

Book a demo →
Salesforce CPQ to Stripe Billing: Quote Lines to Subscriptions and Schedules (2026)