Improve Line Editor performance for Large Quotes by using the Large Quote Threshold and Quote Batch Size package settings.
Users should be familiar with the Large Quote Experience setting.
These features are available in Salesforce CPQ 28.0 and newer.
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 - the default size (which Salesforce CPQ will use when this field is blank) is 150, but you can change that value as needed. A smaller batch size is less likely to hit a governor limit, but a larger batch size leads to better Quote Line Editor performance as the editor makes fewer round trips.
Salesforce QTC Best Practices recommend keeping this value between 100 and 400. Batches greater than 400 may hit governor limits, especially if you use complex or long-running triggers.
Line editor package settings also contain Large Quote Threshold, which can contain a user-defined number. Quotes with line counts above that number will only send essential quote lines (rather than every quote line on that Quote) during UI calls. Salesforce CPQ will also ignore Quote-scoped Product Rules for that Quote.
This setting has a null default value, but you can increase it to improve quote line editor performance if you have large quotes. Plan on adjusting your Large Quote Threshold value when you start encountering governance limits - the value should be slightly less than the number of lines on your quote when you start to hit the limits. For example, if you find governance limits at 450 lines, you could set the Large Quote Threshold to 420 lines. The difference ensures that Salesforce CPQ will still consider the threshold if several items are removed from your quote. Salesforce CPQ Best Practices find that most customers encounter governance limits at 500 quote lines.
Salesforce CPQ only sends essential lines while the large quote threshold is active. A line is considered essential when it's directly relevant to the action being performed. For example: