Introduction
One of the most common requirements in Salesforce Revenue Cloud implementations is carrying custom field values from your Product catalog down to Quote Line Items. Whether it’s a pricing method, product category, or any other custom attribute, you need these values available on the quote line for reporting, pricing procedures, or downstream processes.
In this guide, I’ll walk you through the complete setup for mapping a custom field from Product to Quote Line Item using Context Definitions and cross-context mappings.
The Challenge
When a user browses your product catalog and adds a product to a quote, how do you ensure custom field values automatically populate on the Quote Line Item?
Revenue Cloud doesn’t automatically transfer custom fields between objects. Instead, it uses Context Definitions as an intermediary layer—a bridge between Salesforce objects and the Revenue Cloud engine.
For our example, we’ll use a picklist field called Pricing_Method__c with values:
- Standard
- Cost
- Block
This field exists on the Product object, and we want it to automatically populate on the Quote Line Item when a product is added to a quote.
Prerequisites
Before starting, ensure you have:
- A Revenue Cloud-enabled Salesforce org (Enterprise, Unlimited, or Developer Edition)
- Admin access to modify Context Definitions
- The custom field created on both Product2 and QuoteLineItem objects
- An active Product Discovery (Browse Products) context definition
- An active Sales Transaction context definition
Understanding the Architecture
Revenue Cloud uses two key context definitions for this flow:
Product Discovery Context
- Used when users browse and add products to a quote
- We’ll create a custom Product node here to hold our custom field attributes
Sales Transaction Context
- Used when building and managing the quote
- Contains the SalesTransactionItem node that maps to Quote Line Item
The Data Flow
Product (Salesforce Object)
↓ Object Mapping
Product Discovery Context (Product Node)
↓ Cross-Context Mapping
Sales Transaction Context (SalesTransactionItem Node)
↓ Object Mapping
Quote Line Item (Salesforce Object)
Context Definitions act as the bridge between Salesforce objects and the Revenue Cloud engine. Data flows through these contexts via mappings that you configure.
Step-by-Step Guide
Step 1: Create the Custom Fields
If you haven’t already, create your custom field on both objects:
- Navigate to Setup → Object Manager → Product → Fields & Relationships
- Create a new picklist field called
Pricing_Method__cwith values: Standard, Cost, Block - Repeat for Quote Line Item object
Note: The field API names should match on both objects to keep things simple, though this isn’t strictly required.
Step 2: Modify the Product Discovery Context Definition
Navigate to your Product Discovery context definition:
- Go to Setup → Context Definitions
- Click the Custom Definitions tab
- Find and open your active Product Discovery context definition (e.g., “Browse Products Context Definition”)
- Click Edit
Create a New Product Node
- Click Next to get to the Structure page
- Locate the Category node in the structure
- Click on the Category node and select Add Child Node
- Name the new node:
Product(it will automatically get the__csuffix) - Click Next
Add the Attribute
- On the Edit Attributes page, select your new Product node on the left
- Click Add Attribute
- Configure the attribute:
- Name:
PriceMethod(or match your field name) - Type: Input/Output
- Data Type: Picklist
- Name:
- Click Next
Add the Tag
- On the Attribute Tags page, expand your Product node
- Find your new
PriceMethodattribute - Click Add Tag
- Enter the tag value (use the same name as the attribute for simplicity):
PriceMethod - Click Done
- Click Save
Step 3: Configure the Product Discovery Mapping
Now we need to map the Salesforce Product object to our new context node:
- In your Product Discovery context definition, go to the Map Data tab
- Find the active Product Discovery Mapping record
- Click the dropdown arrow and select Edit S Object Mapping
- In the popup, click Map
Add the Product Object
- On the mapping page, click the + (plus) icon in the top right
- Search for and select the Product object
- Click Done
Map the Node and Field
- On the left side (Context), select your Product node
- On the right side (Salesforce Objects), select the Product object
- This maps the node to the object
- Expand the Unmapped Fields section on both sides
- Select
PriceMethodon the left - Select
Pricing_Method__con the right - Click Save and Publish
Step 4: Modify the Sales Transaction Context Definition
Navigate to your Sales Transaction context definition:
- Go to Setup → Context Definitions
- Click the Custom Definitions tab
- Find and open your active Sales Transaction context definition
- Click Edit
Add the Attribute
- Click Next to skip the standard data page (no changes needed)
- On the Edit Attributes page, select SalesTransactionItem on the left
- Click Add Attribute
- Configure the attribute:
- Name:
PriceMethod - Type: Input/Output
- Data Type: Picklist
- Name:
- Click Next
Add the Tag
- On the Attribute Tags page, expand SalesTransactionItem
- Find your new
PriceMethodattribute - Click Add Tag
- Enter the tag value:
PriceMethod - Click Done
- Click Save
Step 5: Configure the Quote Entities Mapping
Map the Sales Transaction context to the Quote Line Item object:
- In your Sales Transaction context definition, go to the Map Data tab
- Find the Quote Entities Mapping record
- Click the dropdown arrow and select Edit S Object Mapping
- Click Map
Map the Field
- On the left side, expand SalesTransactionItem and find
PriceMethodin the Unmapped section - On the right side, expand QuoteLineItem and find
Pricing_Method__cin the Unmapped section - Select both fields to create the mapping
- Click Save and Publish
Step 6: Configure the Cross-Context Mapping
This is the critical step that links the Product Discovery context to the Sales Transaction context:
- In your Sales Transaction context definition, go to the Map Data tab
- Find the Product Discovery Context Mapping record
- Click the dropdown arrow and select Edit S Object Mapping
- Click Map
Add the Data Source
- On the mapping page, you’ll see the Sales Transaction context on the left and nothing on the right
- Click Add Data Source
- Select Context Definition Objects (not Salesforce Objects)
- Choose your active Product Discovery context definition (e.g., “Browse Products Context Definition”)
- Click Done
Map the Nodes
- On the left side, select SalesTransactionItem
- On the right side, select your Product node
- This maps the nodes together
Map the Fields
- Expand the Unmapped Fields on both sides
- Select
PriceMethodunder SalesTransactionItem on the left - Select
PriceMethodunder Product on the right - Click Save and Publish
Testing the Configuration
Now let’s verify everything works:
- Update a Product record with a value for
Pricing_Method__c(e.g., “Block”) - Create or open a Quote
- Browse the catalog and add the product you updated
- Save the quote
- View the Quote Line Item record – the
Pricing_Method__cfield should now display “Block”
If the value appears on the Quote Line Item, your mapping is working correctly.
Troubleshooting
If the field value isn’t mapping:
- Verify all mappings are published – Each mapping must be saved and published
- Check the context definition is active – Only active context definitions are used
- Confirm the field has a value on the Product – Blank values won’t display anything
- Review the cross-context mapping – This is the most commonly missed step
- Clear your browser cache and refresh the quote page
What’s Next
This is part of a series on field mapping in Revenue Cloud:
- Product → Quote Line Item (this guide)
- Quote Line Item → Order Product
- Order Product → Asset Action Source
By implementing all three mappings, you can carry custom field values through the entire quote-to-cash lifecycle.
Summary
Mapping custom fields in Revenue Cloud requires understanding how Context Definitions work as the intermediary layer between Salesforce objects. The key steps are:
- Create fields on both source and target objects
- Add a custom node (for Product Discovery) or use existing nodes (for Sales Transaction)
- Add attributes and tags to the context definitions
- Configure object mappings for each context
- Create the cross-context mapping to link the two contexts
Once configured, your custom field values will automatically flow from Product to Quote Line Item whenever users add products to quotes.
Have questions about Revenue Cloud context definitions? Drop a comment below or reach out on LinkedIn.