Customizing Opportunity Product Sync Process

Overview

MonetizeNow synchronizes Quote Items to Opportunity Products, and based on your desired business outcomes you can customize how the sync process works.

Choosing Which Field to sync as the Opportunity Amount

In the MonetizeNow configuration, you can choose which field MonetizeNow will use as the OpportunityProduct.Amount field when Quote Items are copied to Opportunity Products.

We recommend choosing Incremental ARR (monetize__IncrementalARR__c) as the Amount sync field, as this generally aligns to most business processes.

📘

Important note about Annual Recurring Revenue (ARR)

ARR is a normalized value and the ARR is the same regardless of how long a line item spans. A line item could exist on the quote for 1 day or 365 days, the ARR is unchanged.

MonetizeNow calculates ARR differently for ramps. Only a line item that spans to the end of the contract contributes to ARR.

For example: Lets assume you have a 12 month contract with one annual recurring product which is ramped

  • Jan 1 - Mar 31 - qty 1@$1200/year (total amount=$300, ARR=$1200)
  • April 1 - July 31 - qty 2@$1200/year (total amount=$800, ARR=$2400)
  • Aug 1 - Dec 31 - qty 10@$1200/year (total amount=$5000, ARR=$12000)

In this case, the ARR for the first two segments (Jan 1 - July 31) would be $0 and would not contribute to the Quote's ARR. This best represents the ongoing relationship with your customer and avoids the need to try to prorate or blend ARR.

For multi-year contracts with ramps, the above results may be undesirable as you probably want to know the ARR for each year separately.

For this, we include Year 1, Year 2, and Year 3 ARR fields on the QuoteItem to include the breakdown if required.

Customizing Amount Sync Behavior

If you want to customize how the Amount is populated, you can create a custom Currency field on the Quote Item and it will be available for selection in the MonetizeNow settings mentioned above.

For example, suppose you wanted to track Incremental ARR as well as One-Time product amounts.

  • Create a new Formula field on the Quote Item called Opportunity Product Amount
    • With this formula
    • IF(
        TEXT(monetize__Product__r.monetize__ProductType__c) = "ONETIME",
        monetize__Amount__c,
        monetize__IncrementalARR__c
      )
  • Then adjust the MonetizeNow configuration to point to the new field.

Choosing Which Products to Sync

The MonetizeNow Managed Package comes with a formula field on the Quote Item named Should Sync To Opportunity Product (ShouldSyncToOpportunityProduct__c) which is used to determine if a product should be copied to the Opportunity. Review the formula definition to understand the criteria used.

  • For a product to sync:
    • The Product must be set
    • The Pricebook Entry must be set
    • The Quantity must not be 0, except for usage products
    • And on Amendments, only line items that have been modified are synchronized
  • You can completely disable the Product Sync by setting the Disable Product Sync checkbox in the Managed Package Settings. (or by manually updating the monetize__MonetizeNowSettings__c Custom Setting record directly)
  • If you want to force a product to always sync or never sync, you can write automation to update the monetize__OverrideOpportunitySync__c field on the Quote Item, which overrides the behavior.
    • Available values are:
      • <blank> (default sync behavior)
      • Never (never sync this line to the opportunity)
      • Always (always sync this line to the opportunity)