Skip to main content

On-Demand Sync


On-Demand Sync

Built using Salesforce SOAP API, On-demand Sync lets you trigger a data synchronization in Salesforce, from the Account Detail page UI or programmatically through an Apex global method. 

On-demand Sync synchronizes specified billing accounts or products. 

In each On-demand Sync session:

  • Up to 10 accounts and their related objects can be synced programmatically through an Apex method.
  • Up to eight accounts and their related objects can be synced from the Account Detail page UI.


The following configurations are required before invoking the On-demand Sync feature.

Zuora Connector for Salesforce CRM Connection Settings

You must configure the endpoint, username, and password on the Connection Setup tab. The endpoint and user credentials will be used to access Zuora application. See Configure Your Connection Settings for setting up the Zuora Connector for Salesforce CRM connection.

Zuora Quotes Connection Settings

The Salesforce org connection must be configured properly. The Salesforce org should be where the on-demand sync request will be initiated and should match the Salesforce org with the Zuora Connector for Salesforce CRM connection setup. See Zuora Connection Settings for setting up the Zuora Quotes connection.

On-Demand Sync in Multi-entity Environment

To perform on-demand syncs from multiple entities, the Billing Entity (zqu__BillingEntity__c) records need to exist in your Salesforce org. Synchronize Accounts and Products from each Zuora entity tenant to create the Billing Entity records before you perform on-demand syncs.


Zuora does not limit the number of syncs that you can perform. However, you might encounter Salesforce governor limits. See Zuora 360 Syncs and Salesforce Limits for Salesforce governor limits in regards to On-demand Sync.

Configure Account and Billing Account Layouts for On-Demand Sync

This describes how to add the On-demand Sync custom buttons to the Account Layout and Billing Account Layout pages so that your users can invoke On-demand Sync from the Salesforce user interface.

Add the On-Demand Button to Account Layout

Use the custom On-Demand button to send a request to Zuora to sync the data for all the billing accounts currently associated with this account in Zuora CPQ.

To add the custom button to the account object:

  1. Browse to Setup > Build > Customize > Accounts > Page Layouts.
  2. Click Edit next to the Account Layout.  
  3. Click Buttons in the Account Layout area at the top of the page.
  4. Drag Sync Data from ZBilling to the Custom Buttons box, located under the Account Detail heading. 
  5. Click Save.

Add the On-Demand Button to Billing Account Layout

Use the custom On-Demand button to send a request to Zuora to sync the Zuora customer account currently associated with this billing account.

To add the custom button to the billing account object:

  1. Browse to Setup > Build > Create > Objects
  2. Select Billing Account from the Custom Objects list.
  3. Scroll to the Page Layouts section, and click Edit next to Billing Account Layout.  
  4. Click Buttons in the Customer Account Layout area at the top of the page. This displays the list of available buttons. 
  5. Drag Sync Data from ZBilling to the Custom Buttons box, located under the Billing Account Detail heading. 
  6. Click Save.

Migrate to On-Demand Sync

  1. Log on to Salesforce as an admin user, and verify that the Salesforce user used for Zuora CPQ sync has the Customize Application user permission. If the user does not have the permission, you must grant the permission to the user.
    This user permission is necessary only for the package data migration. After the migration is completed, you can revoke this permission from the user.
  2. Log in to Zuora and start an Account & Related Object sync.
  3. Once the sync session is completed (with either a success or failure result), the package data migration is complete. You can now use the On-demand Sync feature. 

See the following topics for more information about configuring and using On-demand Sync: