Welcome to Zuora Product Documentation

Explore our rich library of product information

Opportunity Product sync

Automatically syncs Zuora CPQ quote charge segments to Salesforce Opportunity Products for accurate forecasting, flexible grouping, and admin-driven configuration without custom Apex.

Note: The Opportunity Product Sync feature in Zuora CPQ is in the Early Availability phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early availability program, contact Zuora Support.

Opportunity Product Sync is a CPQ-native capability in Zuora CPQ that automatically populates Salesforce Opportunity Products from your primary quotes.

The feature is designed to:

  • Use Charge Segments and related objects as the single source of truth for billing metrics such as Monthly Recurring Revenue (MRR), Total Contracted Billing (TCB), quantities, and deltas.

  • Aggregate and group those segments into configurable Opportunity Products.

  • Populate custom forecasting fields that you define on Opportunity Products.

  • Support manual and automatic sync triggers as part of the quote lifecycle.

Opportunity Product Sync replaces custom Apex code and triggers that were previously required to keep Salesforce Opportunity Products in sync with Zuora CPQ quotes.

Key benefits

  • Salesforce forecasting – View accurate forecasting and sales pipeline data from Zuora directly on Opportunity Products.
  • Admin-driven configuration – Configure grouping, field mappings, and sync triggers in a UI. No code is required.
  • Flexible grouping – Group charge segments into Opportunity Products by product, charge number, rate plan, category, or custom fields.
  • No managed package footprint on Opportunity Product – The sync does not add managed package fields to OpportunityLineItem. Admins define their own custom fields, and a junction object stores sync engine metadata.
  • Field mapping UI – Set up source and destination field mappings in a user-friendly interface.
  • Configuration transfer between Salesforce orgs – Export and import Field Mapping and Grouping Keys configurations between Salesforce orgs.
  • Multiple sync trigger options – Run the sync to Opportunity Products manually from a button on the quote, configure up to three out-of-the-box automated triggers, or call a global method to run the sync for a list of quotes in custom code.
  • Batch job tuning for shared org resources – Run the sync as a batch job and configure safety thresholds that control when a sync is enqueued in the Flex Queue.
  • Error logging – Track failures using status fields on the quote and Z logger (zqu__Log__c) records that include stack traces, method names, and user context.

Supported quote types

Opportunity Product Sync supports the following Zuora CPQ quote types:

  • New subscription

  • Amendment

  • Renewal

  • Ramp (New, Amend, Renew)

  • Multi Subscription Quoting (MSQ): The primary parent quote synchronizes all Charge Segments from its child quotes in a batch process, while child quotes do not sync independently. Full MSQ compatibility will be available in a later phase.

Other considerations

  • Cancelation quotes are not supported.

  • If a Quote does not have Charge Segments, it cannot be synced.

  • Quotes with the status Sent to Z Billing cannot be triggered to sync to Opportunity Products. This prevents forecast and billing data from diverging.

  • Auto-renewal opportunities that have no CPQ Quote in Salesforce are not supported.

  • A single org-wide configuration is supported. There are no per-quote-type configuration profiles. You can use the Primary flag on Quote for per-quote conditional behavior.

  • No rollback or version restore. Each sync run deletes and recreates synced Opportunity Products. Archive/rollback options will be added in a later phase.

  • Up to three active grouping keys are supported at a time.

  • Charge Segments do not provide TCV metrics. Only MRR, TCB, and their deltas are supported.

  • Only time-based line creation mode is supported, with frequencies of Monthly, Quarterly, Semi-Annual, and Annual. Custom schedules are not supported.

  • Only Opportunity Products (OpportunityLineItem) are updated. There is no Opportunity-level field sync.

  • Salesforce auto-calculated fields on Opportunity Products, such as Sales Price or Unit Price, may not align with Zuora-based totals when the Total Price is populated directly through Zuora field mappings in the sync configuration.

  • By default, the sync Field Mapping configuration includes only the required fields for Opportunity Product. Any additional fields must be created on the Opportunity Product before they can be used.

Future enhancements

In upcoming releases, Opportunity Product Sync will provide:

  • Enhanced optimization for MSQ.
  • Broader support for using custom fields as grouping keys.
  • The ability to archive Opportunity Products instead of deleting and recreating them for each sync.
  • The ability to run batch syncs for multiple quotes and execute clean-up jobs for old or failed sync records.

How Opportunity Product sync works

Opportunity Product sync transforms subscription and billing data into structured sales data used for forecasting and reporting.

  • Charge Segment generation

    When a quote is created and previewed, the system generates Charge Segments that capture key billing metrics such as:

    • Monthly Recurring Revenue (MRR)

    • Total Contracted Billing (TCB)

    • Quantity

    • Deltas (changes over time)

  • Filtering and grouping

    During synchronization:

    • Charge Segments are filtered based on configured charge filters.

    • Filtered segments are grouped using configured grouping keys.

  • Metric aggregation and mapping

    • Metrics are aggregated at the group level.

    • Aggregated values are mapped to corresponding fields on Opportunity Products, using configured field mappings.

  • Opportunity Products creation and update

    • Opportunity Products and related junction records are created or updated.

    • These records are linked to the parent Opportunity and to the originating quote and Charge Segments.

This process keeps subscription metrics accurately reflected in Opportunity data and enabled reliable forecasting and reporting.