Error Message when Amending Contract: Invalid field SBQQ__SegmentUplift__c for Asset

Error Message
Error Message “Invalid field SBQQ__SegmentUplift__c for Asset” would appear when amending a Contract.

Root Cause
This is caused by one of two things (or both):

  1. The Required By field on the Subscription record points to an Asset record ID.
  2. There are both an Asset record and a Subscription record existing for the same Product.

Solution
There is a solution for both instances:

  1. Point the Required By field on the Subscription record to the parent Subscription record ID.
  2. Delete the Asset record and make sure the Required By field on the Subscription record points to the parent Subscription record if applicable.

Credit goes to Laura Gomez for solving this.

4 thoughts on “Error Message when Amending Contract: Invalid field SBQQ__SegmentUplift__c for Asset

  1. Thanks for this. I ended up removing the subscription record from the Required By field on the 3 assets associated with that bundle header and then it worked. Not sure if that’s what you meant by #1, but it worked for me. Thanks for giving me some direction where to look.

    1. Hey Josh, glad this article helped here. Which field on the Asset did you remove values from? SBQQ__RequiredByAsset__c, SBQQ__RequiredById__c, or SBQQ__RequiredBySubscription__c? I’ll guess it was Required By Subscription!

  2. I couldn’t get either fix to work. Our customer is using Assets for a custom integration to a home grown provisioning system. The source of the problem would not be #1 as the Subscriptions don’t point to Assets. To try to resolve with #2, we first tried removing the CPQ field data from the Asset record, then we tried removing all fields except the 6 needed for their integration, then we actually deleted the Asset records that related to that Contract, and nothing worked.
    We’ve been digging into the difference between these legacy Subscriptions records and new Subscription records and trying to fill in the gaps (tried some bundling fields and MDQ fields), but we are still somehow getting an error about SegmentUplift on the Asset. We’ve also run the Post Install Scripts on the package several times to try to clear the error. We’ve reported a Case to Salesforce but haven’t gotten anywhere with that.
    During our implementation we have both introduced MDQ and changed their product bundle structure, and we were hoping not to have to do a data migration to update the Subscriptions, but now it seems like when I update the Subscriptions, it still doesn’t work.
    Any ideas?

    1. Hi Leanne! For #2 to be the culprit, you’d need to validate that there is an Asset AND a Subscription for the same Product. If there are, you need to delete the Asset and make sure the Subscription either has a blank Required By or is filled with the parent Subscription’s Id.

      Separately, migrating to MDQ AND a different bundle structure means you likely will have to either do a data migration to insert new everything for all the legacy stuff or do a “line in the sand” situation where in flight and/or new Quotes and Renewals are rebuilt from scratch. This is the price of doing MDQ and changing bundle structure. It’s like a completely different product now, which functions completely different than all the legacy stuff. There’s no way to easily “translate”. It’s a lot of data work to “update the subscriptions”.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.