- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Problem:
As part of Enabling Bundling, after the Bundling feature is enabled for the Zuora Tenant (this needs to be performed by Zuora Support) ,following script needs to be run on Salesforce end from salesforce Execute Anonymous Window.
zqu.RefreshCustomSettingSchedulable.refreshCpqPermissions();
It is often seen that inspite of running the above script, Bundling is not enabled on salesforce end.
If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √
Solved! Go to Solution.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Solution:
Following are few tips to troubleshoot the issue:
1) Please check setup --> Jobs --> Apex Job for any error message after running the script.
The Job name is RefreshCustomSettingSchedulable and the method name is refreshCpqPermissions
2) Following error might be seen
First error: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at input location [1,2]
3) In any case (even if there is no error) Please run the following query from salesforce developer console
SELECT Id, CreatedDate, LastModifiedDate, LastModifiedById, zqu__Depth__c, zqu__EntityID__c, zqu__EntityName__c, zqu__GlobalEntityID__c, zqu__ParentEntityID__c, zqu__ZuoraId__c FROM zqu__BillingEntity__c
And make sure zqu__EntityID__c filed value contains NOT the zuora tenant ID , like 1234 but the 32-character UUID, e.g 11e643f4a41b590cb0610025904c57d6
If not, please perform a product catalog sync to check if zqu__EntityID__c now displays 32-character UUID.
If yes, run the script zqu.RefreshCustomSettingSchedulable.refreshCpqPermissions(); again and see if Bundling is now enabled on salesforce end.
4) If point 3 above is not the issue, please check if the SOQL query , as documented in point 3 returned more than 1 row.
It might be that the SFDC org was earlier connected to a different Zuora Tenant (most likely scenario for sandbox env) and when a product Catalog sync was then performed, it had an entry in BillinEntity Object reflecting the information from that other Zuora Tenant.
If this is the case, this unwanted record needs to be deleted from BillingEntity Object in salesforce.
After deleting this unwanted record from BillingEntity object please run the script zqu.RefreshCustomSettingSchedulable.refreshCpqPermissions(); again and see if Bundling is now enabled on salesforce end.
5) If it is still not enabled, it is suggested to create a Ticket with Zuora Support.
It could be that there is a custom setting in the managed package that also needs to be deleted.
When we sync over the Product Catalog, currently we sync over a Default Entity.
When this BillingEntity__c object is inserted in Salesforce, it will also create a corresponding Zuora_Entity_Configc custom setting record.
If there is an orphaned custom setting record (can be there when we switch the Salesforce Org that the tenant is synced with) , we need to perform a data fix in Salesforce to delete that record as well.
We can do it by going to Setup -> Develop -> Custom Settings -> Zuora Entity Config and click Manage.
Here we will see the list of records for that custom setting.
We need to delete the unwanted records there.
Unfortunatley, It is one of those custom settings that can only be seen by the managed package owner. Zuora Services and Support teams can both access this.
If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Thank you @feisley. Sorry, my bad, I have corrected the post now.
If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Solution:
Following are few tips to troubleshoot the issue:
1) Please check setup --> Jobs --> Apex Job for any error message after running the script.
The Job name is RefreshCustomSettingSchedulable and the method name is refreshCpqPermissions
2) Following error might be seen
First error: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at input location [1,2]
3) In any case (even if there is no error) Please run the following query from salesforce developer console
SELECT Id, CreatedDate, LastModifiedDate, LastModifiedById, zqu__Depth__c, zqu__EntityID__c, zqu__EntityName__c, zqu__GlobalEntityID__c, zqu__ParentEntityID__c, zqu__ZuoraId__c FROM zqu__BillingEntity__c
And make sure zqu__EntityID__c filed value contains NOT the zuora tenant ID , like 1234 but the 32-character UUID, e.g 11e643f4a41b590cb0610025904c57d6
If not, please perform a product catalog sync to check if zqu__EntityID__c now displays 32-character UUID.
If yes, run the script zqu.RefreshCustomSettingSchedulable.refreshCpqPermissions(); again and see if Bundling is now enabled on salesforce end.
4) If point 3 above is not the issue, please check if the SOQL query , as documented in point 3 returned more than 1 row.
It might be that the SFDC org was earlier connected to a different Zuora Tenant (most likely scenario for sandbox env) and when a product Catalog sync was then performed, it had an entry in BillinEntity Object reflecting the information from that other Zuora Tenant.
If this is the case, this unwanted record needs to be deleted from BillingEntity Object in salesforce.
After deleting this unwanted record from BillingEntity object please run the script zqu.RefreshCustomSettingSchedulable.refreshCpqPermissions(); again and see if Bundling is now enabled on salesforce end.
5) If it is still not enabled, it is suggested to create a Ticket with Zuora Support.
It could be that there is a custom setting in the managed package that also needs to be deleted.
When we sync over the Product Catalog, currently we sync over a Default Entity.
When this BillingEntity__c object is inserted in Salesforce, it will also create a corresponding Zuora_Entity_Configc custom setting record.
If there is an orphaned custom setting record (can be there when we switch the Salesforce Org that the tenant is synced with) , we need to perform a data fix in Salesforce to delete that record as well.
We can do it by going to Setup -> Develop -> Custom Settings -> Zuora Entity Config and click Manage.
Here we will see the list of records for that custom setting.
We need to delete the unwanted records there.
Unfortunatley, It is one of those custom settings that can only be seen by the managed package owner. Zuora Services and Support teams can both access this.
If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Re: Tips to troubleshoot the problem enabling Bundling on Salesforce org
@doyeli great troubleshooting guide. One correction is that the zqu__EntityID__c field is a 32-character UUID not a 15-character one.
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Thank you @feisley. Sorry, my bad, I have corrected the post now.
If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Re: Tips to troubleshoot the problem enabling Bundling on Salesforce org
This post is valid for enbaling other features like Orders, Feature
If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Email to a Friend
- Report Inappropriate Content
Re: Tips to troubleshoot the problem enabling Bundling on Salesforce org
This might also happen when the Salesforce user sync credentials used to connect to salesforce does not have an "System Administartor" Profile
After updating the salesforce user credentials with "System Administrator" Profile and ran the below command again to enable Orders
zqu.RefreshCustomSettingSchedulable.refreshOrdersPermission();
"Enable Orders" prmission is now enabled in salesforce org
If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √