Skip to main content

Syncing Orders between Salesforce CPQ and Zuora

Zuora

Syncing Orders between Salesforce CPQ and Zuora

Order Sync

The Connector facilitates the synchronization of orders from Salesforce CPQ to Zuora Billing. This synchronization process relies on a comprehensive set of objects, including contacts, order products, products, subscriptions, and quotes within Salesforce. 

About Order Sync

  • Order Product Types:  SFDC CPQ orders can include contracted and non-contracted products. If an order product has a contract or subscription associated with it, Zuora creates a corresponding subscription. Conversely, if the order includes a one-time charge, Zuora generates an Order Line Item.
  • Order Status in Zuora: The status of orders and subscriptions in Zuora is influenced by billing settings. By default, the connector sets only the Contract Effective date. If a Customer Activation Date or Service Acceptance Dates are required for an order to be marked as Completed, the order’s status after synchronization will be designated as Pending.
  • Associations: There exists a one-to-one mapping between subscriptions in Salesforce CPQ and subscriptions in Zuora. Additionally, during order synchronization, associated accounts such as Invoice Owner Account and Subscription Owner Account are synced if they are not already present in Zuora.
  • ProductSync: The Product object within the Order Product is also synchronized to the Product Catalog in Zuora if it does not exist there. However, if the Product ID matches any Externally Managed Plan ID fields on the Product Rate Plan object in Zuora, the product catalog sync is skipped.

Bill to and Sold to contact management

The connector functions in the following manner for contact management.

  • If the Bill To Contact is specified on the order, all subscriptions in Zuora will be billed to this contact. If the contact does not exist in Zuora, the connector will automatically create it.
  • If the Bill To Contact is not provided on the order, the connector will check for the Billing Address. If found, it will create a new contact using this address and assign it as the bill-to contact for all subscriptions.
  • If neither the Bill To Contact nor the Billing Address is provided, the connector will default to the Bill To contact from the account associated with the order.

Similar behavior applies to the Sold To contact; precedence is given to the Sold To contact on the order, followed by the shipping address. If both are absent, the Sold To contact will be defaulted from the account.

Support for Usage-Based Orders

The connector provides a streamlined solution for managing usage-based product catalog synchronization. When products in Salesforce (SFDC) include consumption schedules, the integration automatically translates them into usage charge types within Zuora. This seamless process ensures accurate billing representation and simplifies the management of complex pricing structures across platforms.

Setting up Usage Data in Salesforce

  • Each product in Salesforce can include multiple product consumption schedules, each mapped to a product rate plan in Zuora.
  • A consumption schedule in Salesforce can be associated with multiple product consumption schedules across different products, resulting in the creation of a new charge in Zuora for each schedule.
  • Every consumption rate within a consumption schedule must share a single currency.

Impact on Product Catalog Synchronization

  • Default Tier Creation: During product catalog synchronization from Salesforce, only one tier is created by default, regardless of the number of consumption rates linked to the consumption schedule. This default behavior is overridden when creating a subscription.
  • Verification of Consumption Schedules: If a new consumption schedule is added to an existing product in SFDC after the initial synchronization, the connector verifies in Zuora whether all product consumption schedules exist. Failure to find all necessary schedules will result in errors.
  • Multicurrency Support: Each product consumption schedule in Salesforce has a single currency, and Zuora maintains a corresponding structure to ensure a one-to-one mapping between product consumption schedules and product rate plans.

Order Synchronization Impact

  • Subscription Items: A single order product in Salesforce may have multiple order product consumption schedules, resulting in a subscription in Zuora containing multiple charges, each with tiers based on the order product consumption rates.
  • Order Line Item Support: Order line items in Zuora do not support usage-based charges. If the order in SFDC does not have a subscription, the synchronization process will result in an error.
  • Currency: The currency on all order product consumption schedules and order product consumption rates must be the same and equal to the order currency. Combining different currencies within a single order is not supported.
  • Capping: If the T9 permission for ChargeModifiers is enabled, each tier in Zuora will be capped based on the cap set in the order product consumption rate. A custom field called Cap should be created in Salesforce under the order product consumption rate to set this value.
  • Tier Manipulation: In Salesforce consumption rates, lower bounds are inclusive, and upper bounds are exclusive, while in Zuora, tiers are inclusive on both ends. To accommodate this difference, the connector adjusts the upper bound of each tier in Zuora to match the upper bound of the consumption rate minus one, while directly mapping the lower bounds.

Syncing an Order

For individual Order Sync:

  1. Navigate to the specific order in Salesforce CPQ.
  2. Click the top-right dropdown.
  3. Select the Send to Zuora button created during Connector Setup.

All Orders Sync for an Account:

  1. Navigate to the Salesforce CPQ account.
  2. Click the Send to Zuora button.