Skip to main content

Zuora Reference Implementation of SubmitContractOrder Plugin

Zuora

Zuora Reference Implementation of SubmitContractOrder Plugin

This functionality is only available if you have the Orders feature enabled.

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:

  1.  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+
  2. Install the unmanaged package of Zuora reference implementation of SubmitContractOrder Plugin.
  3. Register ZuoraSubmitContractOrderPlugin.
  4. Enable Custom Field Sync.

Register ZuoraSubmitContractOrderPlugin

To register ZuoraSubmitContractOrderPlugin in your Salesforce org:

  1. Click + tab to view All Tabs.
  2. Click Zuora Connector Settings.
  3. Input the Apex class name ZuoraSubmitContractOrderPlugin in the Submit Contract Order Plugin field on the SteelBrick CPQ-Zuora Integration Settings page.
  4. Click Save.

Enable Custom Field Sync

To enable the custom field sync:

  1. Add Required Custom Fields in Zuora for Zuora Connector for Salesforce CPQ. See Create Custom Fields for how to create custom fields in Zuora.
  2. 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.
  3. Create Optional Zuora Custom Fields for Zuora reference implementation of SubmitContractOrder Plugin. See Create Custom Fields for how to create custom fields in Zuora.
  4. Create the equivalent optional custom fields in the corresponding Salesforce objects.
  5. Download the Zuora WSDL and import it into Z-360. See Import the WSDL into Zuora 360 for the instructions.
  6. 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:

  1. Go to Setup in Salesforce.
  2. Click Build > Develop > Custom Metadata Types.
  3. On the All Custom Metadata Types page, find Zuora Order Custom Field and click Manage Records.
  4. Click New on the Zuora Order Custom Fields page.
  5. 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
  6. Click Save.
  7. 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.