You are here:
Salesforce Industries CME Application Constraints
You can configure your Communications, Media, and Energy applications to remain within the operating limits or constraints of each application.
- Enterprise Product Catalog (EPC)
Information about the EPC. - Configure Price Quote (CPQ)
Salesforce provides a complete set of cart-based APIs for creating, updating, and submitting carts such as Orders, Quotes, and Opportunities. These APIs are not cacheable because they perform CPQ calculations at runtime and update the state of the cart with each call. - Multi-Site Quote and Order Capture
Multi-Site Quote and Order Capture functionality enables the Energy & Utilities providers to generate Quotes and Orders for thousands of subscribers. - Standard Digital Commerce
Limits for Standard Digital Commerce. - Enterprise Sales Management
Learn about Enterprise Sales Management application operating limits as you plan your implementation. - Contract Lifecycle Management
Review these considerations and limitations for Contract Lifecycle Management - Document Generation
Review considerations and limitations related to Document Generation - Order Management Standard
Industries Order Management is a fully Salesforce-hosted application. - Salesforce Platform
Applications that are deployed to the Salesforce platform are subject to Salesforce limitations.
Enterprise Product Catalog (EPC)
Information about the EPC.
-
Salesforce Security profiles are not supported.
-
You must manage product attributes using Product Designer or Product Console. Do not use Salesforce Classic.
- Configure promotions with a maximum of 23 products that have product specifications configured. This limitation only applies to Product Console, and not to Pricing Designer.
-
The range for the number of Product Catalog translations in the Translation Object is up to 50,000.
-
The recommended levels for Product Hierarchy is 3 to 4.
-
Product Designer:
-
Recommended assigned attributes per product: 50 or fewer.
-
Objects, products, and offerings can have only one facet, which must be General Properties.
-
Configure Price Quote (CPQ)
Salesforce provides a complete set of cart-based APIs for creating, updating, and submitting carts such as Orders, Quotes, and Opportunities. These APIs are not cacheable because they perform CPQ calculations at runtime and update the state of the cart with each call.
Non-Cacheable APIs
Industries CPQ is fully hosted on the Salesforce platform. To avoid deployment problems and degradation in service quality, we recommend that the number of orders, quotes, order lines, and quote lines processed in your org not exceed the limits listed below. If your growing deployment exceeds the guidance shown in this table, contact your account representative to understand how Salesforce can scale to meet your needs.
Number of Line Items in Order* |
Number of Products in Sales Catalog |
Depth of Product Bundle Hierarchy per Line |
Peak Number of API calls** per Hour |
Peak Number of Orders*** per Hour |
|---|---|---|---|---|
Up to 10 |
1,500 |
Up to 3 |
113,000 |
4,300 |
11 to 23 |
1,500 |
Up to 3 |
87,500 |
3,500 |
*The test was carried out with a catalog containing 1,500 products with an average of 12 attributes including 2 configurable attributes. **The only load in the Salesforce Org was the Industries CPQ Cart APIs ***An order is comprised of, on average, 25 API calls during the shopping experience, from browsing to ordering. |
||||
Cart-Based API Sample Limits
Example: Typical Shopping Funnel for Existing Customers
In this example, every new and returning customer places an order. The API calls in the table below simulate this shopping funnel:
-
15% New Customer Orders
-
85% Returning Customer Orders
| Number of Line Items in Product Bundle* | Number of Product Configuration Rules** | Number of Advanced Rules** | Number of General Attributes** | Number of Picklist Attributes** |
|---|---|---|---|---|
| 5 | 5 | 10 | 225 | 150 |
| 5 | 75 | 125 | 60 | 40 |
| 10 | 10 | 20 | 450 | 300 |
| 10 | 100 | 200 | 120 | 80 |
| 20 | 20 | 40 | 600 | 400 |
| 20 | 120 | 280 | 240 | 160 |
| 40 | 120 | 280 | 480 | 320 |
| 80 | 0 | 0 | 640 | 0 |
| 91 | 15 | 5 | 450 | 0 |
*When the number of bundles is one and the depth of the bundle is three. **When the line items are equally distributed. |
||||
Cacheable APIs
Salesforce also provides a set of cacheable APIs (also known as Digital Commerce APIs) that enable consumer shopping use cases where the user is often anonymous until well into the checkout process. These APIs cache responses by customer context in order to deliver faster response times and higher scalability than is possible using the cart-based non-cacheable APIs. These APIs also enable browsing for eligible offers without first creating a cart for the shopper.
Our CPQ Cacheable APIs are currently intended to support B2C Scenarios. While it is our intent to support various Product Catalog scenarios, it is important to note that specific guardrails must be respected to get the best performance out of these Cacheable APIs.
Example: Typical Shopping Funnel for New Prospect
In this example, very little of the shopping traffic results in an order. The API calls in the table below simulate this shopping funnel:
-
75% Browsing Only
-
20% Browsing and Adding Items to Basket
-
05% Browsing, Adding Items to Basket and CheckOut
Number of Line Items in Baskets |
Number of Products in Sales Catalog |
Depth of Product Bundle Hierarchy per Line |
Peak Number of API Calls per Hour (w/o Digital Commerce Gateway) |
Peak Number of API Calls per Hour (w/ Digital Commerce Gateway) |
Peak Number of Orders per Hour (w/o Digital Commerce Gateway) |
Peak Number of Orders per Hour (w Digital Commerce Gateway) |
|---|---|---|---|---|---|---|
Up to 10 |
1500 |
Up to 3 |
782,000 |
2,084,000 |
2,600 |
6,700 |
Up to 23 |
1500 |
Up to 3 |
602,000 |
1,602,000 |
1,900 |
5,000 |
The test was carried out with a catalog containing 1500 products with an average of 12 attributes including 2 configurable attributes per product. The test warmed up all caches ahead of time so there are zero cache misses. |
||||||
Example: Typical Shopping Funnel for Existing Customers
In this example, every returning customer places an order, while many new prospects leave before checkout. The API calls in the table below simulate this shopping funnel:
-
New Customer Orders
-
20% Browsing Only
-
10% Browsing and Adding Items to Basket
-
05% Browsing, Adding Items to Basket and CheckOut
-
-
Returning Customer Orders
-
65% Browsing, Adding Assets and Items to Basket and CheckOut
-
Number of Line Items in Baskets |
Number of Products in Sales Catalog |
Depth of Product Bundle Hierarchy per Line |
Peak Number of API Calls per Hour (w/o Digital Commerce Gateway) |
Peak Number of API Calls per Hour (w/ Digital Commerce Gateway) |
Peak Number of Orders per Hour (w/o Digital Commerce Gateway) |
Peak Number of Orders per Hour (w/ Digital Commerce Gateway) |
|---|---|---|---|---|---|---|
Up to 10 |
1,500 |
Up to 3 |
386,000 |
490,000 |
16,800 |
34,300 |
Up to 23 |
1,500 |
Up to 3 |
157,000 |
323,000 |
11,200 |
22,700 |
The test was carried out with a catalog containing 1500 products with an average of 12 attributes including 2 configurable attributes per product. The test warmed up all caches ahead of time so there are zero cache misses. |
||||||
Cache Miss Considerations
What is a CPQ Cache Miss?
An Industries CPQ cache miss is a state in which the data requested for processing a CPQ API request is not found in the API Response Cache. (If it were found, then it would be a cache hit.)
Cache misses lead to higher response times because the CPQ API must execute the CPQ engine to calculate the response, then it generates the response and stores it in the cache.
Frequency of Basket Cache Misses
The frequency of cache misses is determined by the basket shape. Several factors contribute to the basket shape, including those listed here:
-
Number of Dimensions (which is determined by the eligibility rules)
-
Number of configurable attributes
-
Number of promotions applied per product
-
Number of product line item combinations
An increase in Basket shape permutations will result in an increase of cache misses. If this occurs, then we suggest that you leverage the CPQ Non-Cacheable APIs.
Duration of a Basket Cache Miss
There are several governing factors that affect the duration of a cache miss based on the data shape and the factors listed above.
Cache Warm-Up
Salesforce provides automated warm-up cache responses for anonymous browsing calls (GetOffers and GetOfferDetails). Several factors contribute to the performance of cache warm-up jobs, including those listed here:
-
The number of eligibility rules
-
The depth of the hierarchy of products
-
The number of offers in a sales catalog
Locking of the Quote Object by Industries CPQ
When Industries CPQ inserts or updates a quote or quote line item, it locks related fields such as Product2 and Price Book Entry. To ensure that concurrent operations don't delete these records, Industries CPQ locks these fields even if it isn't updating associated records. This can cause issues when your users perform concurrent transactions.
To resolve this, contact Salesforce support to enable the DeferredLockingEnabled permission.
Multi-Site Quote and Order Capture
Multi-Site Quote and Order Capture functionality enables the Energy & Utilities providers to generate Quotes and Orders for thousands of subscribers.
The individual service points, premises, service accounts, or subscribers can be grouped, and the same product configuration can be applied to each group member to generate Quotes or Orders. The product configuration for each group member is then validated and priced, before submitting the Quote or Order.
The Validate & Price functionality in the Multi-Site Quote and Order Capture can process a maximum of 8800 members in a group. Therefore, when you create groups, make sure that there are no more than 8800 members in a single group.
Standard Digital Commerce
Limits for Standard Digital Commerce.
These tables list the various limits in Standard Digital Commerce:
Catalog Compile Cache Batch Jobs Limits
| Total No of catalog | Number of records/catalog | Bundle/catalog | Promotion/catalog | Standalone/catalog | Attributes/product | Rules/product | ContextDimensions | ContextScope |
|---|---|---|---|---|---|---|---|---|
| 1 | 480 | 120 | 50 | 31- | 15 | 5 | 10 | 3 |
| 30 | 1500 | 160 | 200 | 1150 | 15 | 1 | 10 | 3 |
Single Bundle Limits
| Transaction | Bundle Size ( Number of OLI) | Number of Bundle | Depth | Total Number of Rules (equally distributed between OLIs)- Eligibility Rules | Number of Attributes/Line Item | Total Number of Attributes (equally distributed between OLIs)- General |
|---|---|---|---|---|---|---|
| AddtoBasket | 31 | 1 | 3 | 1 | 465 |
Basket Limits
| Transaction | Total Line Items | Line items / Bundle | Number of Bundles | Number of Standalone | Depth For Bundle Products | Total Number of Rules (equally distributed between OLIs)- Eligibility Rules | Number of Attributes/Line Item | Number of Attributes (equally distributed between OLIs)- General |
|---|---|---|---|---|---|---|---|---|
| AddwithNoConfig | 238 | 11 | 21 | 7 | 3 | 5 | 3570 | |
| AddWithConfig | 236 | 11 | 21 | 5 | 3 | 6 | 3540 | |
| CreateCartWithAssets | 236 | 11 | 21 | 5 | 3 | 6 | 3 |
Enterprise Sales Management
Learn about Enterprise Sales Management application operating limits as you plan your implementation.
Contract Lifecycle Management
Review these considerations and limitations for Contract Lifecycle Management
Web Template Limitations
-
Salesforce provides a feature to generate a Microsoft Word file with .docx file extension from a HTML document. Only a subset of HTML tags are supported for conversion.
-
Only a three-level hierarchy of embedded web document templates is reliably-supported, and this includes the top level parent template.
-
Chart-generation and dynamic-insertion of images is not supported.
-
In online-generation mode, documents with up to 200 line items can be reliably-generated, assuming each line item displays five columns.
-
In batch-generation mode, documents with up to 3,000 line items can be reliably-generated, assuming each line item displays five columns.
-
Batch-generation of a document only downloads the document to Microsoft Word format.
Vlocity for Microsoft Word Templates with .docx File Extensions Limitations
-
Chart-generation and dynamic-insertion of images and hyperlinks is not supported.
-
A maximum of 3,000 line items items can be reliably-generated using custom-class mapping documents.
-
Does not support generation of documents in batch mode.
Document Generation
Review considerations and limitations related to Document Generation
Server-Side Document Generation Limitations
-
Size limit: You can submit up to 1000 requests per hour per org for one MB sized documents.
-
Content Version daily limit: The generated documents are stored in Salesforce Content. Each org type has a daily limit (per 24 hours) on how many .docx and .pdf documents can be generated and stored. For more information, see Content Version Limit.
-
File Storage limit: The org's file storage limit is calculated by a base allocation based on your Salesforce org edition plus a per-user allocation multiplied by the number of standard licensed users in the organization. For more information, see File Storage Limit.
Client-Side Document Generation Limitations
-
Content Version daily limit: The generated documents are stored in Salesforce Content. Each org type has a daily limit (per 24 hours) on how many .docx and .pdf documents that you can generate and store. For more information, see Content Version Limit.
-
File Storage limit: The org's file storage limit is calculated by a base allocation based on your Salesforce org edition plus a per-user allocation multiplied by the number of standard licensed users in the organization. For more information, see File Storage Limit.
Order Management Standard
Industries Order Management is a fully Salesforce-hosted application.
To avoid deployment problems and any degradation in service quality, we recommend that the runtime load (ie. number of orders processed in your org per hour, and corresponding complexities) not exceed the limits listed below. If your growing deployment needs to support more orders per hour, contact your Salesforce account representative to learn how Salesforce can scale to meet your demands.
All new Salesforce environments come with a default set of Platform Events and Asynchronous Apex Callouts. These resources are shared across all applications in the Salesforce environment. Industries OM makes use of both Platform Events and Asynchronous Apex Callouts to improve the overall performance of fulfillment. To achieve the volumes listed in the table below, customers may need to purchase additional Platform Events and Asynchronous Apex Callout licenses beyond the default allocations.
For information about Platform Events with Industries OM, see OM Standard: Platform Events for Orchestration.
Fulfillment throughput will vary depending on the number of commercial line items, Fulfillment Request Lines generated during decomposition, order hierarchy, number of attributes, complexity of orchestration plans, and whether synchronous or asynchronous order submission is employed. Order Decomposition is a highly complex operation. To ensure that Salesforce governor limits are not exceeded we recommend keeping the combined number of OLIs and FRLs under 100. Note however that the actual number may vary depending on the number of attributes, complexity of the orchestration plan, and the type of order submission mechanism used (synchronous vs. asynchronous).
This table highlights the approximate scalability of Industries Order Management for two different complexity models and the resources required for each when using Platform Events mode:
Commercial Model |
Technical Model |
Orchestration |
Throughput |
Resource Consumption |
||||
|---|---|---|---|---|---|---|---|---|
Products (Root / OLI) |
Attributes per Product |
FRLs |
Attrs per Product |
Total tasks / Callouts and autotasks |
Peak Orders per Hour |
Avg Orders per Day |
Platform Events per Day |
Async Apex Callouts per Day |
1 / 5 |
10 |
10 |
10 |
11 / 4 |
30,000 |
150,000 |
600,000 |
600,000 |
1 / 15 |
10 |
20 |
10 |
13 / 6 |
20,000 |
100,000 |
600,000 |
600,000 |
Customers are responsible for ensuring that an adequate amount of Platform Events and Asynchronous Apex Events are available for appropriate operation of the Order Management functions. For more information about Platform Events, see Platform Events Developers Guide. For more information about asynchronous Apex Events see Apex Transactions and Governor Limits.
Orchestration plans containing large numbers of orchestration items (for example, more than 80) are not recommended and may adversely affect order submission and orchestration performance. This recommendation applies to all order types, including regular orders, MACD, and supplemental orders (which often generate large orchestration plans). The recommended number of orchestration items is sometimes lower, depending on product model complexity, usage of complex conditions in scenarios and other factors. Consider using asynchronous order submission as a possible mitigation measure: OM Standard: Optimize Large Order Submission with OrderSubmitMode
Recommendations for Configuring Assignment Rules
To maintain optimal performance and prevent exceeding limits, adhere to these guidelines when configuring assignment rules:
- Single Ready Manual Task: After the completion of an item, if a single manual task becomes Ready (meaning all dependencies are satisfied and conditions are met), Salesforce recommends that you configure a maximum of 15 assignment rules. These rules are evaluated to assign the task to a user or a queue without further evaluation.
- Multiple Ready Manual Tasks: If, after the completion of an item, multiple manual tasks simultaneously become Ready (all dependencies completed and conditions met),Salesforce recommends that the total number of Assignment Rules across all these tasks doesn't exceed 15. These rules determines the assignment of tasks to a user or a queue without additional evaluation. If you're configuring more than 15 assignment rules,consider designing your orchestration process to execute these manual tasks sequentially (with dependencies), with up to 15 assignment rules each.
To avoid hitting Salesforce resource limitations during orchestration, ensure that the maximum number of simultaneous callouts does not exceed 10. Callouts in excess of 10 should be staggered to avoid encountering these limits.
Additional Notes
-
Synchronous order submission has been used for these tests
-
Additional Async apex callouts and Platform Events are consumed when fulfillment system level retries occur. These tests assume all callouts were successful on the initial interaction
-
Each additional Callout or Autotask instance introduced into the orchestration plan will consume an additional Platform Event and an additional Async Apex callout
-
All testing has been done using JSONattribute v2. For additional information please see: JSONAttribute v2 Schema Upgrade Considerations
-
A 1.5 Second average Fulfillment System latency was introduced for these tests.

