Managing SKUs with Salesforce
When an SKU is created in RevOps, an associated Product and Price Book Entry are also created in Salesforce. This ensures that when you connect a RevOps Deal to an Opportunity, RevOps is able to insert Opportunity Products (also known as Opportunity Line Items) to your Opportunity. In this guide, we’ll walk through how RevOps synchronizes and enriches SKUs with Salesforce Product and Price Book. As a prerequisite, this guide assumes that you have connected your RevOps account to Salesforce.
Configuring your default Price Book
By default, when SKUs are created in RevOps, Price Book Entries will be created in your Standard Price Book. If you navigate to the Price Book tab in your Salesforce setting, you’ll notice that this PricebookID is already configured.
If you prefer to have these Price Book Entries created in a separate Price Book, add that PricebookID in your Salesforce Settings. Since Salesforce Opportunities can only be associated with one Price Book, we do not recommend creating RevOps SKUs in multiple price books if they are likely to appear on the same deal together. When SKUs of different Price Books are included on the same Deal, RevOps is not able to sync the Line Items of your Deal to your Opportunity. When syncing your Deal to Salesforce, you will notice a "Mixed Price Book Error".
Syncing SKUs to Products and Price Books
When creating an SKU, if you head to the "Salesforce Integration" tab, you'll first notice that the ProductID field is blank and the PricebookID field is populated. Once you’ve clicked “Save”, a Product will be created in Salesforce with a matching Price Book Entry in the listed Price Book. If this product already exists in Salesforce, you may search for it using the Product ID or Name. At any point, you may update the SKU so that the associated ProductID or Price Book Entry is in a different Price Book. When doing so, RevOps will not delete the Product or Price Book Entry in Salesforce. However, a new associated Price Book Entry may be created. In order to appropriately sync the line items on your order form to an Opportunity, RevOps relies on each SKU to have an associated Product2ID and for that Product2 to be ‘Active’. Please note that if you deactivate any Products within Salesforce or your SKU does not have a matching Product2ID, RevOps is unable to write the line item to your Opportunity.
If you create RevOps SKUs before connecting to Salesforce, these SKUs will not have an associated Product2ID or Pricebook2ID. SKUs without a Product2ID and Pricebook2ID will not sync to Opportunity Line Items. If you prefer to create new Products in Salesforce, simply save this SKU again. SKUs can also connected to existing Products created in Salesforce via the "Salesforce" tab in SKU Settings. Simply update the Product or Pricebook IDs to match the associated objects in Salesforce.
SKU Enrichment Mapping
RevOps will use the following properties to create Products and Price Book Entries in your Salesforce account. To enrich any additional custom fields on the Opportunity Line Item, you can add the mapping on your SKU.
Product
RevOps Object | RevOps Property | Salesforce Object | Salesforce Field |
---|---|---|---|
SKU | Name | Product2 | Name |
SKU | Line Item Description | Product2 | Description |
Price Book Entry
RevOps Object | RevOps Property | Salesforce Object | Salesforce Field |
---|---|---|---|
SKU | List Price | PriceBookEntry | Unit Price |
Each time your SKU is updated, RevOps will update the corresponding field on your Product or Price Book Entry. For example, if you update the list price of your SKU, RevOps will update the Unit Price field on your Price Book Entry. If you create a Scheduled SKU with different list prices across different periods, RevOps will set the price book entry unit price as the average across all periods.
SKU Pricing Models
One of the challenges when dealing with Salesforce Price Book Entries is that Salesforce does not have a standard field to help identify the “pricing schedule” of Subscription Products. Each Price Book Entry simply contains a “Unit Price” field and all prices are assumed to be a single one-time fee.
However, when selling subscription-based products, products are typically priced on a regular recurring basis for access to the products and services. Each list price is associated with a pricing schedule that represents this recurring price. For example, $79 per unit per month or $2000 per unit per year.
RevOps will only enrich the “Unit Price” field with your SKU’s "List Price" property. However, we recommend that you capture the unit pricing schedule of the Product to distinguish between your recurring revenue and non-recurring revenue as well as products priced at different pricing schedules.
To do this, you'll want to add a Salesforce custom field in your Opportunity Line Item, then map the SKU property unitPricingSchedule
to that field. It’ll look similar to this:
Since Usage SKUs typically include volume pricing of various quantity tiers, the corresponding Price Book Entry will have a list price of $0 and a Unit Pricing Schedule of Months.
If you are noticing that the Line Items on your Deals are not syncing to Salesforce, it may be because your SKUs do not have an associated Product ID and Price Book Entry. By going to the Salesforce Integration tab on your SKU, you can confirm whether the SKU is associated with a Salesforce Product.
Syncing Line Items from RevOps to Opportunity Line Items
RevOps is designed to sync line items from deals to Salesforce Opportunities to keep your Opportunities up to date for forecasting and tracking purposes. Line Items will be sync each time the deal is saved or submitted for approval.
To ensure that the Opportunity Products (also known as Opportunity Line Items) matches the Line Items on the Deal, RevOps will remove any existing Opportunity Line Items and insert only the Line Items on the Deal. Syncing will fail, if the quantity of a line item is 0. Salesforce does not allow Opportunity Line Items to be 0.
Syncing behavior for standard fields on Opportunity Line Items
Standard Field | Enrichment Behavior |
---|---|
Product | Based on ProductID configured on the SKU If the SKU does not have a Salesforce ProductID, RevOps is unable to insert the Product as an Opportunity Line Item |
Product Code | Not Enriched |
List Price | Enriched by Unit Price on Price Book Entry |
Sales Price | Calculated by Salesforce by dividing total price by quantity. RevOps only enriches the Total Price field. |
Quantity | Salesforce does not support a quantity of 0. If a quantity of 0 is used on the Deal, a Salesforce sync error will occur. |
Discount | Not Enriched |
Total Price | By default, RevOps will write the adjusted net price of the line item to this field. Salesforce uses this field along with the quantity field to calculate sales price. If you prefer to enrich your opportunity line item with the adjusted annual price or the adjusted monthly price, let us know. |
Line Description | Not Enriched |
Created By | User Account authenticated in RevOps. |
Managing opportunity line item sync for line items with multiple service periods
When a line item uses multiple service periods is used, RevOps will create an Opportunity Line Item for each period. This enrichment allows you to get the most granular view of pricing and quantities sold per period. Whether you are ramping over multiple years or months, the start date, quantity, and price of each period will be inserted as an individual Opportunity Line Item. For example, if your deal looks like this:
Opportunity Line Items would look like the following: