You are here:
Large Quote Performance Settings
Improve the calculation performance for large quotes by using the Large Quote Threshold and Quote Batch Size package settings. (Salesforce CPQ Managed Package)
Required Editions
| Available in: Salesforce CPQ Spring ’17 and later |
Quote Batch Size
Salesforce CPQ saves and loads quotes by batches of quote lines. The line editor package setting Quote Batch Size controls the number of lines in a batch. When this field is blank, Salesforce CPQ uses the default batch size of 150 quote lines. However, you can edit that value. A smaller batch size is less likely to hit a governor limit. A larger batch size leads to better quote line editor performance because the editor makes fewer round trips.
We recommend keeping this value from 100 to 400. If you use complex or long-running triggers for batches greater than 400, you can hit governor limits.
Large Quote Threshold
Line editor package settings also provide the large quote threshold setting, which can contain a user-defined number. Quotes with line counts above that number send only essential quote lines, rather than every quote line on that quote, during UI calls. In Salesforce CPQ Summer ’19 and later, you can also include quote-scoped validation rules by selecting Validate Large Quotes in the line editor package settings.
The Large Quote Threshold setting has a null default value, but you can increase it to improve the calculation performance if you have large quotes. Plan on adjusting your large quote threshold value when you start encountering governor limits. We recommend that your value is slightly lower than the number of lines on your quote when you start to hit the limits. For example, if you encounter governor limits at a batch size of 450 lines, you can set the Large Quote Threshold batch size to 420 lines. The difference ensures that Salesforce CPQ uses the threshold even if several items are removed from your quote. Most customers encounter governor limits at a batch size of 500 quote lines.
Salesforce CPQ sends only essential lines while the large quote threshold is active. A line is essential when it’s directly relevant to the action being performed, such as the following.
- If you’re reconfiguring a bundle, only the lines within that bundle are essential.
- If you’re desegmenting an MDQ product, only lines that represent segments of that product are essential.
- If you’re upgrading assets, only lines that actually represent assets are essential.
- If you’re adding products, no quote lines are essential. As a result, quote-scoped product rules evaluate only lines that are currently being added to the quote and ignore previously added lines. This difference can cause quote-scoped product rules to not behave as intended.
If you don’t have quote-scoped product rules targeting your quote, you can set the large quote threshold to 1 without any issue. If your quote contains such rules, we recommend working with your partner to identify workarounds. For example, you can convert your quote-scoped product rules into field-level validations, triggers, and other types of platform customization. When Large Quote Threshold is set, quote-scoped alert type product rules aren't supported.
- When a user clicks Clone with Related on a quote that meets the large quote threshold, Salesforce CPQ doesn’t consider the large quote threshold for the cloned quote as the cloned quote is created. All post-creation UI calls on the cloned quote consider the large quote threshold. Calculations that impact the quote line editor consider the large quote threshold, even if there's a change to the quote.
- We don’t support a summary variable referencing other summary variables in the Variable
Element field with large quote validation when the following are true.
- Summary Variable is used as a condition in a quote-scoped product validation rule.
- The Large Quote Threshold setting is used.
- Validate Large Quotes is set to
true. - The quote line is above the large quote threshold.
As a workaround, make sure the field in the referencing summary variable is part of another validation rule.

