Happy Business Starts Here

Zuora Support Moderator

Understanding the SalesForce Product Catalog Sync

The logic behind the sync of the Product Catalog is that it will sync ALL Products from Zuora to SFDC regardless if these products are still existing in Zuora's web interface or if they are "soft deleted" (deleted products in Zuora).


The reason behind this design is that this would ensure that existing quotes on the SFDC org would not be broken and would still reflect the correct products and product rate plan charges. And at present, there is no existing process to stop these soft deleted products from being synced over.


* soft deleted products -- these are the products in Zuora that are deleted in the web UI. They are not visible on the web UI but are still in existence on the database.


If soft deleted ZProducts are also deleted in your SFDC org, they will be synced back to the same SFDC org whenever a Product Catalog sync is performed in Z-Billing.


Here are some concepts behind the design of the Product Catalog sync :

1. all products would be synced to SFDC regardless is they are soft deleted or is still visible (available) in Zuora's web UI
2. products would be synced to SFDC regardless if they were soft deleted prior to being synced to SFDC
3. a product catalog sync is always a FULL SYNC


* Full sync - every object is synced

* Incremental Sync - only the newly created or updated objects are synced


Incremental Sync is only used in the Accounts and it's Related Objects sync -- this process was put into to place to ensure that the performance of the sync process would not be affected regardless of the volume of the Accounts and it's related objects.

* a full sync will only happen in the Accounts' sync if a clean-up on these objects is performed.

Currently, there's no way to fully delete these "soft deleted" products. Users can try to execute a custom script that would delete all these "soft deleted" Zproducts in your SFDC org (make sure that you would also delete these other objects --- ZProductRatePlans, ZProductRatePlanCharge, ZProductRatePlanChargeTiers). However, the downside of this approach is that when you perform a Product Catalog sync, all the soft deleted products will be synced back.


Please take note that these soft deleted ZProducts that are synced in your SFDC org will NOT show up as an option when creating Quotes and when adding products.


You can run a report from within your SFDC org and verify a soft deleted ZProducts as we do have a "Flag for soft deletion" -- this is a check box to indicate that these ZProduct, Product Rate Plan, Product Rate Plan Charge, Product RatePlan Charge Tier were soft deleted in Z-Billing.

On your report, you would have to add the field "Deleted" to verify if the 4 objects mentioned above were soft deleted in Z-Billing.

If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √

Tags (1)

Re: Understanding the SalesForce Product Catalog Sync

Hi Amy----Is there a way to see the soft deleted products that are still in the database? We are in the process of doing lots of changes and would like to track those changes. 



Zuora Staff

Re: Understanding the SalesForce Product Catalog Sync

Hi Matt,
Within Salesforce, the easiest way to locate what has been soft deleted is to look into the recycle bin to see what has been soft deleted. Direct link to your recycle bin can be found here:  https://yourinstance.salesforce.com/search/UndeletePage. Select "All recycle bin" to see everything that is still available to restore.  


Note that items in the recycle bin are only recoverable for 15 days.  While only items in the recycle bin are considered a soft delete, you may also want to also check the "IsDeleted" and "zqu__Deleted__c" field in the product2 object in Salesforce to see if you uncover any additional results there. The value of "False" means that the Product has not been deleted. 


Re: Understanding the SalesForce Product Catalog Sync



I don't know if this is the correct place to post this message / question, so please bear with me if it is not.


If any object being synched in Salesforce from Zuora has been deleted from Zuora, what does the synchronization mechanism in Zuora 360 do to cause the record to be deleted from Salesforce? 


I'm asking because we are using SkyVia Replication from Salesforce and we are encountering scenarios where the Zuora sourced records that are part of the Product Catalog are being deleted from Salesforce, but that delete is not being recognized by SkyVia replication which relies on the IsDeleted flag of a records to be set to true when it is being deleted.


Can you please help.


Thank you for your consideration and expertise.




Darryll Petrancuri


Support SME

Re: Understanding the SalesForce Product Catalog Sync

Hi @dpetrancuri when a product is soft deleted from Zuora and is synced as part of Product catalog sync, Zuora managed package field zqu__Deleted__c is set to 'true' for that soft deleted product record but  SFDC standard field  'IsDeleted'  still remains as 'false'.

You can run the following query from Developer console to validate this


SELECT Id, IsDeleted, zqu__Deleted__c, Name FROM Product2 order by zqu__Deleted__c desc


Before using using SkyVia Replication, may be you need to have an additional step to first run the above query and then set IsDeleted field to 'true' for those product records that have zqu__Deleted__c  field value set to 'true'.

That being said, we now have a T9 fetaure "Stop Sync Deleted Product", which, when enabled, will not sync the soft deleted products from Zuora end.

If you would like to enable this feature, you need to  create a Ticket with Zuora support .


Please let me know if you have any question


Thank you


If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √


Re: Understanding the SalesForce Product Catalog Sync

As I understand it, a record is never physically deleted from Zuora.


So, if a record is logically (aka soft) deleted from Zuora it is somehow causing a physical (aka hard) delete of the record to take place in Salesforce. In an example, there is an activity taking place in Zuora that is resulting in a Zuora__SubscriptionProductCharge__c record being deleted from Salesforce. 


How is the record being deleted from Salesforce? Is Zuora 360 causing the record to be deleted? How does it delete the record without IsDeleted being set? Are there circumstances where Zuora 360 will delete the record from Salesforce without putting it into the Recycle Bin? I know that SkyVia is expecting any deleted records to have IsDeleted set to TRUE which I understand to mean the record will be placed in the Recycle Bin. Is there a mechanism that Zuora 360 is using (such as the Salesforce Bulk API) to delete the records from Salesforce without setting IsDeleted to TRUE / placing the record in the Recycle Bin?


I'm trying to understand how the record in Salesforce is deleted and SkyVia Replication sees no delete to process.


Please advise.


Thank you.




Darryll Petrancuri

Support SME

Re: Understanding the SalesForce Product Catalog Sync

Hi @dpetrancuri , Sincerely sorry that it took me a while to respond back .

This  thread was very speciifc to the default  behavior of Product Catalog sync.

Thank you for starting the  new disucssion thread https://community.zuora.com/t5/Zuora-CPQ/Account-Related-Delete-Sync-with-Salesforce-Consideration-I... for your specific question on Account and Related Object Sync.

I will provide my inout on the new thread.


Thank you


If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √