Loading

Salesforce CPQ : Contract Creation Fails with CANNOT_EXECUTE_FLOW_TRIGGER or Apex CPU Time Limit Exceeded for High-Quantity Asset Products

Publish Date: May 28, 2026
Description

When creating a Contract from Salesforce CPQ Order containing Asset products with quantities greater than 1000, Contract Creation may fail with errors such as:

* "CANNOT_EXECUTE_FLOW_TRIGGER"
* "Apex CPU time limit exceeded"

The error occurs because custom Asset automation, such as Flows, Triggers, or Process Builder logic, runs synchronously during order activation when Salesforce CPQ creates a large number of Asset records.

This can cause the transaction to exceed Salesforce Apex CPU governor limits, preventing the Contract from creating successfully.

This issue affects orgs using custom automation on the Asset object together with standard Salesforce CPQ Contract  creation processing.

Resolution

Reduce the amount of synchronous processing that runs on Asset records during Contract creation.

Cause 1: Asset automation consumes too much CPU time

Review all Flows, Triggers, and Process Builder automation on the Asset object.

  • Move heavy processing to asynchronous methods where possible

  • Avoid extra DML operations and queries inside loops

  • Merge duplicate Asset flows to reduce repeated processing

  • Update After Save flows to run asynchronously when supported

This is the most common cause of the issue.

Cause 2: Product creates one Asset per quantity unit

If the product uses Asset Conversion = One per Unit, large quantities can create thousands of Asset records during activation.

To reduce Asset creation volume:

  1. Open the affected Product record

  2. Change Asset Conversion to One per Quote Line

This creates a single Asset record for the full quantity instead of one Asset per unit.

If individual Asset tracking is required, keep One per Unit and optimise the Asset automation instead.

Cause 3: Split large quantities across multiple Orders

If large quantities are required, split the Order into smaller batches.

  1. Enable Allow Multiple Orders in Salesforce CPQ package settings

  2. Split the high-quantity quote lines into multiple Orders

  3. Activate each Order separately

Each Contract Creation runs in a separate transaction, reducing CPU usage per transaction.

Knowledge Article Number

005385148

 
Loading
Salesforce Help | Article