Zuora Reference Implementation of SubmitContractOrder Plugin
As of Version 3.0, Zuora Connector for Salesforce CPQ supports Orders capabilities in the form of SubmitContractOrder Plugin. Zuora reference implementation of SubmitContractOrder Plugin allows you to translate a Salesforce CPQ Contract to a Zuora Order. This article describes how to configure the Zuora reference implementation.
If you want to make your own custom implementation of SubmitContractOrder Plugin, see SubmitContractOrder Class for more information.
Salesforce Components
Zuora reference implementation of SubmitContractOrder Plugin consists of the following Salesforce components.
Component Name | Component Type |
---|---|
ZuoraSubmitContractOrderPlugin |
Apex Class |
ZuoraOrderRequest |
Apex Class |
ZuoraDataFactory |
Apex Class |
ZuoraSubmitContractOrderPluginTest |
Apex Class |
ZuoraTestsBase |
Apex Class |
Zuora Custom Field |
Custom Metadata |
Configure SubmitContractOrder Plugin
Take the following steps to configure Zuora reference implementation of SubmitContractOrder Plugin:
- You must install the following packages before you install the Zuora reference implementation package:
- Zuora 360, Version 5.2+
- Salesforce CPQ, Version 214.12+
- Zuora Connector for Salesforce CPQ, Version 3.1+
- Install the unmanaged package of Zuora reference implementation of SubmitContractOrder Plugin.
- Register ZuoraSubmitContractOrderPlugin.
- Enable Custom Field Sync.
Register ZuoraSubmitContractOrderPlugin
To register ZuoraSubmitContractOrderPlugin in your Salesforce org:
- Click + tab to view All Tabs.
- Click Zuora Connector Settings.
- Input the Apex class name ZuoraSubmitContractOrderPlugin in the Submit Contract Order Plugin field on the SteelBrick CPQ-Zuora Integration Settings page.
- Click Save.
Enable Custom Field Sync
To enable the custom field sync:
- Add Required Custom Fields in Zuora for Zuora Connector for Salesforce CPQ. See Create Custom Fields for how to create custom fields in Zuora.
- Create all the Required Zuora Custom Fields for Zuora reference implementation of SubmitContractOrder Plugin. See Create Custom Fields for how to create custom fields in Zuora.
- Create Optional Zuora Custom Fields for Zuora reference implementation of SubmitContractOrder Plugin. See Create Custom Fields for how to create custom fields in Zuora.
- Create the equivalent optional custom fields in the corresponding Salesforce objects.
- Download the Zuora WSDL and import it into Z-360. See Import the WSDL into Zuora 360 for the instructions.
- Set Optional Custom Field Mappings in Custom Metadata Types.
Required Zuora Custom Fields
The following Zuora Order Action custom fields are required for Zuora reference implementation of SubmitContractOrder Plugin. These fields are required in addition to the required custom fields listed in Add Required Custom Fields in Zuora for Zuora Connector for Salesforce CPQ.
The custom fields must be added as indexed custom fields.
Zuora Object | Custom Field Label | Custom Field API Name | Field Type |
---|---|---|---|
Order Action |
SBQQ Subscription Id |
sfdcSubscriptionId__c |
Text (18) |
Order Action |
SBQQ Subscription Number |
sfdcSubscriptionNumber__c |
Text (18) |
Order Action |
Description |
sfdcDescription__c |
Text(255) |
Optional Zuora Custom Fields
Zuora reference implementation of SubmitContractOrder Plugin syncs custom fields for the following Zuora objects:
- Subscription
- Subscription Rate Plan
- Subscription Rate Plan Charge
See the following table for the mappings from Salesforce objects to Zuora objects.
Salesforce CPQ Object |
Zuora Object |
Contract |
Subscription |
Subscription (Steelbrick) |
Subscription Rate Plan |
Subscription (Steelbrick) |
Subscription Rate Plan Charge |
Set Optional Custom Field Mappings
To set the optional custom field mappings in Custom Metadata Types:
- Go to Setup in Salesforce.
- Click Build > Develop > Custom Metadata Types.
- On the All Custom Metadata Types page, find Zuora Order Custom Field and click Manage Records.
- Click New on the Zuora Order Custom Fields page.
- Input the following fields on the Zuora Order Custom Field page.
- Label - the name of the custom field setting
- Zuora Order Custom Field Label - the label for the custom field name
- Zuora API Name - the custom field API name with appendix ‘__c’
- Zuora Object - Zuora object of the custom field
- Click Save.
- Repeat 4 to 6 for each optional custom field.
Upon Send To Zuora, ZuoraSubmitContractOrderPlugin will read the custom field mappings in the metadata of Zuora Order Custom Field and include the custom fields in the Orders API call.