Syncing Products between Salesforce CPQ and Zuora
The Salesforce CPQ connector integrates product synchronization process with order sync. When an order is created and synchronized, the connector verifies if the corresponding product exists in Zuora. If the product does not exist in Zuora, the connector automatically creates a flat-structured product in Zuora for every product in Salesforce before creating the order. The connector utilizes the Externally Managed Plan ID field on the rate plan object in Zuora to verify the product’s existence.
For non-usage-based products, the product2.Id must be populated on the Externally Managed Plan ID field. For usage-based charges, the productConsumptionSchedule.ID is used to verify the product's existence.
Supported Charge Models and Charge Types
Zuora Charge Model |
Zuora Charge Type |
Dependant Salesforce Objects |
Set up in Salesforce |
---|---|---|---|
One time |
Flat Fee |
Product2 |
|
Per Unit |
Product2 |
|
|
Recurring |
Flat Fee |
Product2 |
Note: Configure the fields similar to billing type, billing frequency, and taxation in the product2 object. |
Per Unit |
Product2 |
|
|
Usage |
Flat Fee |
Product2 |
|
Per Unit |
Product2 |
|
|
Volume |
Product2, |
To configure and set up usage products and their order impact, see Support for Usage-Based Orders. | |
Tiered |
Product2, |
An asset in Salesforce is converted to OLI |
Mastering the Product Catalog
This section explains the advantages of centralizing product catalog control and recommends best practices for product catalog management for Zuora and Salesforce systems. Zuora recommends using this method if you have complex finance, revenue, or specific billing settings in the Zuora product catalog.
This method also suits organizations looking to bundle the product catalog based on specific attributes, business requirements or specific use cases to effectively override the default behaviour of the connector’s product catalog sync.
Guidelines on mastering the product catalog in Zuora
If you have an existing product catalog in Salesforce CPQ with active subscriptions, you can manually create the product catalog in Zuora if it does not exist with specific Revenue, Finance or Billing settings that your business might need. While creating the product catalog in Zuora, please ensure that it is as per the structure that the connector requires.
Once the product catalog is configured and set up in both systems, ensure that the ID of the product2 object in Salesforce is populated in the Externally Managed Plan ID field on the rate plan in Zuora for non-usage-based products. For usage-based products, ensure that the ProductConsumptionSchedule ID is populated. See Guidelines for Data Migration for more information.
Product bundling
The connector links Salesforce products at the rate plan level in Zuora, allowing you to group various Salesforce products into a single product in Zuora with a shared SKU and name.
Each rate plan can have only one charge under it.
Guidelines on mastering the product catalog in Salesforce
The connector supports syncing products from Salesforce to Zuora during order sync, with no dedicated process to sync the products. To sync Zuora-specific product catalog fields from Salesforce, the connector supports mapping any custom/standard fields from the product2 object in Salesforce to any custom/standard field on the product, rate plan, and rate plan charge in Zuora.
Configuring Zuora-specific fields
To sync Zuora-specific product catalog fields from Salesforce, the connector supports mapping any custom/standard fields from the product2 object in Salesforce to any custom/standard field on the product, rate plan, and rate plan charge in Zuora. Use this to map or override the standard out-of-the-box connector mappings. See Custom Field Sync and Mapping.
Taxation
The connector supports syncing tax codes and tax modes from the product in Salesforce to the product rate plan charge in Zuora. The tax mode must be sent via a custom field from the Salesforce CPQ product. To enable this functionality, create the following custom field under the Product2 object in Salesforce CPQ:
- API Name: TaxMode__c
- Label: Zuora Tax Mode
If the tax mode is not specified for taxable products, the connector defaults to "Tax Exclusive". The tax codes will be synchronized from the Salesforce CPQ field "Tax code", so ensure that any changes made to tax codes in Zuora are also updated correspondingly in Salesforce CPQ.
Accounting Codes
The connector supports mapping the Accounting Code, Deferred Revenue, and Recognized Revenue Accounts between products. This requires creating custom fields in the Salesforce CPQ product.
Create the following custom fields under Product2 object in Salesforce CPQ:
- API name: Z_Accounting_Code__c with Label name: Zuora Accounting Code
- API name: Z_Deferred_Revenue_Account__c with Label name: Zuora Deferred Revenue Account
- API name: Z_Recognized_Revenue_Account__c with Label name: Zuora Recognized Revenue Account
The connector uses custom fields to ensure smooth mapping and synchronization of accounting information between Salesforce CPQ and Zuora.