I got this in my email

Error type: SBQQ.ContractService.ContractServiceException
Reason for error: A primary quote is not specified for this opportunity. Please make sure you have the primary checkbox selected in order to generate a contract for your quote.
Stack Trace:

I did make sure the primary checkbox was checked for that opportunity.

I did research and found this.

In Salesforce CPQ, once a Primary Quote is created, users can either create a contract from an opportunity or create a contract from an order. When the Contracted checkbox is set to True on an opportunity or order and no contract is generated.

• Contracting from an Opportunity Contracting - A Quote record involves creating, amending or adding additional Subscriptions to an Account's Contract, which contains Subscription records. Selecting the Contracted checkbox on the Primary Quote's synced Opportunity record creates a Contract record. When an Opportunity is contracted and a Contract created, the Quote Lines create Subscriptions for Subscription Products, Assets for non-Subscription Products with Asset Conversion set on the Product record, and Subscribed Assets to connect Subscription Products to Covered Assets (for Percent of Total subscription products In order successfully contract from the Opportunity object, two conditions must be met on the Primary Quote:

  1. At least one Quote Line must have the field Subscription Pricing set to “Fixed Price” or “Percent of Total”
  2. This field's value is usually derived from the Quote Line's associated Product record, however, custom automation (i.e. Workflow rules, price rules, etc.) or users can change the product-derived value to a blank value. If there are no Quote Lines that have Subscription Pricing defined, a Contract will not be created, but Assets will still be created for the Account for Quote Lines of Products with Asset Conversion defined.
  3. A Start Date must be set. Every Quote Line must have an associated Start Date, whether implicit (set on the Parent Quote or Quote Line Group) or explicit (set on the Quote Line itself). A recommendation is to set on the Quote to be absolutely sure that every line has an associated Start Date.
  • What the contracting process looks for is the "Primary Quote" lookup being populated on the Opportunity being contracted. The CPQ app should set this lookup value when you set or change the primary checkbox on a quote, but I have seen it fail sometimes due to an unknown bug. If the Primary Quote lookup on the Opp is blank you will get this kind of error. – OBerm May 10 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.