How the Salesforce Managed Package Sync Works

Understanding Salesforce Sync with the MonetizeNow Managed Package

MonetizeNow’s Salesforce Managed Package ensures that quotes and quote items stay in sync across both platforms, automatically and intelligently. Whether you’re pushing new quotes from MonetizeNow or editing items mid-cycle, the integration is designed to keep Salesforce up to date with minimal configuration.

This guide walks through how the sync works behind the scenes, what triggers it, and what to expect during the sync lifecycle.

Integration Setup

Once Salesforce is connected to MonetizeNow, the platform automatically installs a locked webhook. This webhook listens for changes in MonetizeNow quotes and powers the entire quote sync engine.

Every time a quote is created or updated, this webhook fires and sends a message to MonetizeNow’s Connector Service. From there, the sync process begins.

How the Sync Works

Step 1: Webhook → Queue: The Connector Service receives the quote event and places it in a dedicated processing queue. This queue is partitioned by quote, ensuring that events are processed in the correct order, especially important when multiple changes happen quickly.

Step 2: Connector Service → Salesforce: Once ready, the Connector Service sends the quote and quote item data to Salesforce using API calls. MonetizeNow flattens the data (combining Quote Offering + Quote Items) to simplify syncing.

What Happens in Salesforce

When a Quote is Created

  • The system determines who should own the quote:
    • If the quote is linked to an Opportunity, its owner is used.
    • For amendments and renewals, the original quote’s owner is retained.
    • Otherwise, the Account owner becomes the fallback.
  • The Quote Name is generated using the quote’s description and MonetizeNow ID, helping distinguish records in SFDC.
  • Required fields and relationships are automatically validated.
  • If a quote doesn’t have an associated Opportunity, and you’ve enabled the included (but optional) auto-create Opportunity flow, the system will generate one on your behalf.
  • The managed package also performs a field-level sync between Salesforce and MonetizeNow to ensure data integrity, regardless of where the quote originated.
  • Additional quote-level data is synced using the Billing Platform integration, which handles fields not natively understood by the connector.

When a Quote is Updated

Updates to the quote like status changes or manual renewal flags, may trigger:

  • An Opportunity stage update, if your org has this configured.
  • Creation or deletion of placeholder renewal products.
  • A repeat of the Billing Platform field sync to catch any changes.

These updates happen in the background, ensuring Salesforce remains current as quotes evolve in MonetizeNow.

Quote Item Behavior

When quote items are inserted:

  • The correct Pricebook Entry is assigned, based on your managed package settings.
  • In multi-currency orgs, the appropriate native Salesforce currency fields are populated.
  • Items are synced to the Opportunity unless syncing has been disabled via the DisableOppProductSync__c setting.
  • Just like quotes, items also trigger a Billing Platform field sync for additional data.

Keeping Opportunity Products in Sync

Opportunity product syncing is governed by a combination of global settings and quote-specific logic.

The sync process:

  • Removes any previously synced Opportunity Products that are no longer on the quote.
  • Upserts current Quote Items as Opportunity Products, allowing partial updates if some lines fail.

You can further control sync behavior using the OverrideOpportunitySync__c field on individual items:

  • Set to ALWAYS to force sync
  • Set to NEVER to skip syncing that item entirely

A formula field on the Quote Item evaluates whether a line qualifies for sync, based on fields like quantity, product type, and amendment status.

Configuration Considerations

  • Syncing only occurs for quotes in allowed statuses, as defined in your org’s settings.
  • Zero-quantity items are skipped by default (unless marked as usage-based).
  • For amendment quotes, unchanged lines (AmendmentStatus = NO_CHANGE) are ignored, unless explicitly overridden.

The Salesforce Managed Package ensures that your quotes, line items, and Opportunities stay aligned with how you do business. From initial quote creation to line-item level sync, every touchpoint is designed to be configurable, flexible, and automation-friendly, all while maintaining data consistency across systems.

For more details on customizing flows or sync logic, contact us here