Skip to content

Custom Deal CPQ

Custom Deal CPQ adds a deal record card that helps sales teams configure subscription plans, pricing, and quote details before creating a draft CPQ quote.

  • Existing quotes linked to the deal
  • Draft and editable quote status
  • Quote expiration and last modified dates
  • Quote totals and total contract value
  • Reconfigure actions for editable quotes
  • Create a new draft quote from the deal record
  • Reconfigure an existing editable quote
  • Select a quote template
  • Set quote title, expiration date, and acceptance method
  • Set contract start and end dates
  • Set billing cycle and billing start date
  • Select buyer contacts associated with the deal
  • Search and add subscription products
  • Review billing cycle amounts, annual amounts, and the billing schedule
  • Open the draft or published quote in HubSpot

Minimum HubSpot licence: Enterprise

This template is primarily a CRM card, so it requires an Enterprise licence. It also depends on access to deals, contacts, companies, products, quotes, and line items in HubSpot.

ScopeReason
crm.objects.deals.readRead the deal record
crm.objects.contacts.readRead buyer contacts associated with the deal
crm.objects.companies.readRead the associated company
crm.objects.products.readSearch subscription products
crm.objects.quotes.readRead existing quotes on the deal
crm.objects.quotes.writeCreate and update quotes
crm.objects.line_items.readRead quote line items
crm.objects.line_items.writeCreate and update quote line items
crm.objects.owners.readResolve the creating user to a HubSpot owner
crm.objects.contracts.readRead existing contracts
crm.schemas.quotes.readCheck the existing quote properties during setup
crm.schemas.quotes.writeCreate missing quote properties during setup
crm.schemas.line_items.readCheck the existing line item properties during setup

The first time you install Custom Deal CPQ, run the one-time CRM setup from the template’s Settings page.

The setup creates the custom property groups and properties used by the configurator. It is safe to run again: anything that already exists is skipped. The scopes it needs are part of the required scopes above, so there is nothing extra to enable.

For the pattern behind this, see One-Time CRM Setup.

  • Create a Custom Deal CPQ property group on quotes
  • Create a Custom Deal CPQ property group on line items

Quote properties:

PropertyLabel
bqm_contract_start_dateContract Start Date
bqm_contract_end_dateContract End Date
bqm_billing_cycleBilling Cycle
bqm_billing_cycle_start_dateBilling Cycle Start Date
bqm_enable_prorationEnable Proration
bqm_quote_typeCustom Deal CPQ Quote Type
bqm_replaces_contract_idReplaces Contract ID

Line item properties:

PropertyLabel
bqm_contract_line_roleContract Line Role
bqm_source_line_item_idSource Line Item ID
bqm_current_amountCurrent Amount
bqm_period_startPeriod Start
bqm_period_endPeriod End
bqm_group_idGroup ID
bqm_group_labelGroup Label
  • The card loads all quotes already associated with the deal.
  • When creating or editing a quote, it gathers buyer contacts, selected subscription products, and quote template data.
  • Managed line items are rebuilt when the quote is saved so the draft quote reflects the chosen pricing and billing schedule.
  • Accepted or paid quotes are not editable.