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.
What it shows
Section titled “What it shows”- 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
What you can do
Section titled “What you can do”- 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
Requirements
Section titled “Requirements”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.
Required scopes
Section titled “Required scopes”| Scope | Reason |
|---|---|
crm.objects.deals.read | Read the deal record |
crm.objects.contacts.read | Read buyer contacts associated with the deal |
crm.objects.companies.read | Read the associated company |
crm.objects.products.read | Search subscription products |
crm.objects.quotes.read | Read existing quotes on the deal |
crm.objects.quotes.write | Create and update quotes |
crm.objects.line_items.read | Read quote line items |
crm.objects.line_items.write | Create and update quote line items |
crm.objects.owners.read | Resolve the creating user to a HubSpot owner |
crm.objects.contracts.read | Read existing contracts |
crm.schemas.quotes.read | Check the existing quote properties during setup |
crm.schemas.quotes.write | Create missing quote properties during setup |
crm.schemas.line_items.read | Check 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.
CRM changes made by setup
Section titled “CRM changes made by setup”- Create a
Custom Deal CPQproperty group on quotes - Create a
Custom Deal CPQproperty group on line items
Quote properties:
| Property | Label |
|---|---|
bqm_contract_start_date | Contract Start Date |
bqm_contract_end_date | Contract End Date |
bqm_billing_cycle | Billing Cycle |
bqm_billing_cycle_start_date | Billing Cycle Start Date |
bqm_enable_proration | Enable Proration |
bqm_quote_type | Custom Deal CPQ Quote Type |
bqm_replaces_contract_id | Replaces Contract ID |
Line item properties:
| Property | Label |
|---|---|
bqm_contract_line_role | Contract Line Role |
bqm_source_line_item_id | Source Line Item ID |
bqm_current_amount | Current Amount |
bqm_period_start | Period Start |
bqm_period_end | Period End |
bqm_group_id | Group ID |
bqm_group_label | Group Label |
How it works
Section titled “How it works”- 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.