When renewing or amending a contract in Salesforce CPQ, products with Asset Conversion set to 'One per Unit' display incorrect quantities. Specifically, the quantity of assets is reduced from the original value (e.g., 4) to a lower value (e.g., 1) during the amendment or renewal process.
Assets can be amended in two ways: through the Contract “Amend” flow or by using the “Amend Assets” button on the Account record.
To correct the quantity issue, please follow the workaround below:
Amend via Contract Flow
To resolve the incorrect quantity calculation, an Apex script is required to update the asset records after they are created or modified.
For root assets:
Retrieve the ID of any one of the created assets (for example, <commonRootAssetId>).
Update the SBQQ__RootId__c field on all root assets so they share this same value.
For child bundle assets (where Asset Conversion = One per Unit):
Update both SBQQ__RootAsset__c and SBQQ__RootId__c fields to the same <commonRootAssetId> across all related child assets.
Once these updates are applied, the system should calculate the correct quantity during the amend or renewal process.
Amend Assets via Account Record
Root Cause:
The issue occurs because the SBQQ__RevisedAsset__c field is not being populated correctly.
Additional Workaround:
In addition to the above workaround, please implement the following:
Identify one asset under the same root and use its ID as <commonRootAssetId> (replace with the actual asset ID).
For the remaining assets under the same root, update the SBQQ__RevisedAsset__c field to match <commonRootAssetId>.
In other words, all root assets except the one used as the reference should have SBQQ__RevisedAsset__c set to this common ID.
005318919

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.