Salto for
Salesforce
Articles
SHARE
Alyssa Lefebvre
October 10, 2024
4
min read
Salesforce CPQ is unquestionably an invaluable tool for sales teams, helping them streamline the process of configuring complex product offerings, pricing them accurately, and generating quotes efficiently. But how can CPQ admins make the best use of the tool from the backend side of things?
In this blog, you’ll learn what twin fields are, explore their use cases, and find out how you can use Salto to improve their deployment and ongoing maintenance.
Twin fields are exactly how they sound - they are pairs of fields, created on multiple objects, to help with maintaining data integrity and consistency across various objects. They are useful for ensuring that data remains accurate and synchronized, particularly in complex configurations where maintaining identical data points across multiple records is vital. For example, if you have information on the Quote Line Item, you likely want that same information on the Order Product level, and possibly even the Opportunity Line Item.
Under normal circumstances, an admin would need to create the fields and then create an automation to map the data between them, using Flow or code; but with twin fields, Salesforce CPQ has already built the mechanism to map the data between certain objects automatically.
Twin fields work by creating a mirrored relationship between two (or potentially more) fields across objects. This means that any update or change made to one field is automatically reflected in its twin, ensuring both fields hold the same data.
Let’s say you capture a configuration attribute when configuring your product in Salesforce CPQ, such as the amount of online storage your customer is entitled to as part of your backup solution. This could be one of many configuration attributes, and you would like to maintain this information on the quote line after the configuration is complete.
You can create a twin field between the configuration attribute object and the quote line object and Salesforce CPQ will automatically ensure the values are synchronized. Furthermore, if you wanted to maintain this attribute information on the Subscription object, you could create another twin field which would also be automatically synchronized with the value on the Quote Line.
Critical data must remain accurate and consistent across multiple objects if you want your quotes and product configurations to be accurate. Without twin fields, discrepancies can arise between different records.
Without Twin Fields:
With Twin Fields:
After looking at the potential issues that can arise without twin fields, the value of using twin fields in Salesforce CPQ becomes clear.
If you’re an experienced Salesforce Administrator, you might be wondering why you can’t just use a cross object formula to achieve the same result as Twin Fields. Although cross-object formula fields can be used in a similar way, i.e. you can simply create a text formula field and directly pull the value of a field on one object to another, however, this method poses limitations that Twin Fields avoids.
Static vs. Dynamic:
Consistency vs. Calculation:
Use Case Specificity:
Limitations of Cross-Object Formula Fields
Salesforce allows a maximum of 10 unique relationships per object in cross-object formulas. The limit is cumulative across all formula fields, rules, and lookup filters. For example, if two different formulas on opportunities reference two different fields of an associated account, only one unique relationship exists (from opportunities to accounts).
Formula fields are also unable to be history tracked, meaning any Cross-Object formula field would not be able to be history tracked by default. You also cannot have a Cross-Object formula field that references a value that is calculated by a formula field.
Cross-Object formula fields do have their uses, but when it comes to passing data between Salesforce CPQ objects specifically, twin fields are a much better resource without the limitations posed by formula fields.
Twin fields in Salesforce CPQ provide specific advantages over cross-object formula fields and other automations like flows. Here are some detailed examples illustrating why you’d use twin fields:
Scenario: When configuring product bundles, it is essential to keep related product data synchronized across quotes, orders, order products, contracts, subscriptions and more.
Without Twin Fields:
With Twin Fields:
Billing Consistency
Scenario: Maintaining consistent billing information across various sales documents is critical for accurate quoting.
Without Twin Fields:
With Twin Fields:
Scenario: Synchronizing data between Salesforce and external systems requires consistent and accurate data.
Without Twin Fields:
With Twin Fields:
Scenario: Managing contracts that involve multiple related records requires consistent data to avoid discrepancies.
Without Twin Fields:
With Twin Fields:
By understanding these detailed use cases, it becomes clear that twin fields play a vital role in ensuring data consistency and accuracy across various Salesforce CPQ processes. They offer significant advantages over other methods like cross-object formula fields and flows, particularly in maintaining static data consistency and supporting complex configurations.
Setting up Twin Fields is simple. A good place to start is by reviewing the official Salesforce Knowledge article on twin fields, to know exactly which objects are “twinned” with each other.
These mappings include, but are not limited to:
The next step is to simply create the fields required on the required objects, most importantly with exactly the same API name. This is the key component to ensuring the twin fields are recognized by Salesforce CPQ’s out of the box feature that automatically maps the values between the defined objects.
Another important thing to note is that users must have Read access on all twin fields to ensure they are populated across objects. What this means in practice is that all users who use CPQ should at least have Read access to every twin field, across all Salesforce CPQ objects. Without this, fields may not be populated, depending on how related records are generated.
For example, if a sales rep closes an Opportunity, and off the back of that, there is an automation, running as the sales rep, that creates the Order record, the Order won’t have the twin fields copied from the Primary Quote if the sales user doesn’t have access to the twin fields on the Order object. The information will not be copied over and once this lack of data is realized, the information will need to be manually filled in for every affected record.
This can lead to mass data inconsistencies across the platform if permissions are set up incorrectly, so make sure this set up is correct before putting any Salesforce CPQ functionality live!
Salto is a dedicated tool to deploy Salesforce CPQ metadata and data. Due to the complicated setup of Salesforce CPQ, specialized tools like Salto make deploying Salesforce CPQ simple and straightforward. While Twin Fields are classed as “metadata”, Salesforce CPQ also relies heavily on data deployments with complicated relationships to be deployed smoothly, to avoid disrupting users' use of the platform.
Salto analyzes your deployments to ensure you are deploying everything, in the correct order, and alerts you if you’re missing anything crucial, something you don’t get with a basic data loading tool. The analysis can be crucial, for example, if users don’t have access to the right fields, data can be lost throughout the system and require extensive and time consuming manual backfilling once the issue is caught.
In summary, Twin Fields are an extremely useful feature built into Salesforce CPQ’s arsenal of tools designed to ensure data consistency across not only Salesforce objects, but also downstream applications as well. When used correctly, Twin Fields provide a quick and easy way for admins to get data exactly where it needs to go, without having to build and maintain automations that push data to the relevant objects with Salesforce CPQ.
Additionally, tools like Salto can help you get the most ROI out of your Salesforce CPQ implementation, as well as helping you deploy complex data with ease. Try Salto for free today to elevate your Salesforce CPQ experience!
Salto for
Salesforce
SHARE
Alyssa Lefebvre
October 10, 2024
4
min read
Salesforce CPQ is unquestionably an invaluable tool for sales teams, helping them streamline the process of configuring complex product offerings, pricing them accurately, and generating quotes efficiently. But how can CPQ admins make the best use of the tool from the backend side of things?
In this blog, you’ll learn what twin fields are, explore their use cases, and find out how you can use Salto to improve their deployment and ongoing maintenance.
Twin fields are exactly how they sound - they are pairs of fields, created on multiple objects, to help with maintaining data integrity and consistency across various objects. They are useful for ensuring that data remains accurate and synchronized, particularly in complex configurations where maintaining identical data points across multiple records is vital. For example, if you have information on the Quote Line Item, you likely want that same information on the Order Product level, and possibly even the Opportunity Line Item.
Under normal circumstances, an admin would need to create the fields and then create an automation to map the data between them, using Flow or code; but with twin fields, Salesforce CPQ has already built the mechanism to map the data between certain objects automatically.
Twin fields work by creating a mirrored relationship between two (or potentially more) fields across objects. This means that any update or change made to one field is automatically reflected in its twin, ensuring both fields hold the same data.
Let’s say you capture a configuration attribute when configuring your product in Salesforce CPQ, such as the amount of online storage your customer is entitled to as part of your backup solution. This could be one of many configuration attributes, and you would like to maintain this information on the quote line after the configuration is complete.
You can create a twin field between the configuration attribute object and the quote line object and Salesforce CPQ will automatically ensure the values are synchronized. Furthermore, if you wanted to maintain this attribute information on the Subscription object, you could create another twin field which would also be automatically synchronized with the value on the Quote Line.
Critical data must remain accurate and consistent across multiple objects if you want your quotes and product configurations to be accurate. Without twin fields, discrepancies can arise between different records.
Without Twin Fields:
With Twin Fields:
After looking at the potential issues that can arise without twin fields, the value of using twin fields in Salesforce CPQ becomes clear.
If you’re an experienced Salesforce Administrator, you might be wondering why you can’t just use a cross object formula to achieve the same result as Twin Fields. Although cross-object formula fields can be used in a similar way, i.e. you can simply create a text formula field and directly pull the value of a field on one object to another, however, this method poses limitations that Twin Fields avoids.
Static vs. Dynamic:
Consistency vs. Calculation:
Use Case Specificity:
Limitations of Cross-Object Formula Fields
Salesforce allows a maximum of 10 unique relationships per object in cross-object formulas. The limit is cumulative across all formula fields, rules, and lookup filters. For example, if two different formulas on opportunities reference two different fields of an associated account, only one unique relationship exists (from opportunities to accounts).
Formula fields are also unable to be history tracked, meaning any Cross-Object formula field would not be able to be history tracked by default. You also cannot have a Cross-Object formula field that references a value that is calculated by a formula field.
Cross-Object formula fields do have their uses, but when it comes to passing data between Salesforce CPQ objects specifically, twin fields are a much better resource without the limitations posed by formula fields.
Twin fields in Salesforce CPQ provide specific advantages over cross-object formula fields and other automations like flows. Here are some detailed examples illustrating why you’d use twin fields:
Scenario: When configuring product bundles, it is essential to keep related product data synchronized across quotes, orders, order products, contracts, subscriptions and more.
Without Twin Fields:
With Twin Fields:
Billing Consistency
Scenario: Maintaining consistent billing information across various sales documents is critical for accurate quoting.
Without Twin Fields:
With Twin Fields:
Scenario: Synchronizing data between Salesforce and external systems requires consistent and accurate data.
Without Twin Fields:
With Twin Fields:
Scenario: Managing contracts that involve multiple related records requires consistent data to avoid discrepancies.
Without Twin Fields:
With Twin Fields:
By understanding these detailed use cases, it becomes clear that twin fields play a vital role in ensuring data consistency and accuracy across various Salesforce CPQ processes. They offer significant advantages over other methods like cross-object formula fields and flows, particularly in maintaining static data consistency and supporting complex configurations.
Setting up Twin Fields is simple. A good place to start is by reviewing the official Salesforce Knowledge article on twin fields, to know exactly which objects are “twinned” with each other.
These mappings include, but are not limited to:
The next step is to simply create the fields required on the required objects, most importantly with exactly the same API name. This is the key component to ensuring the twin fields are recognized by Salesforce CPQ’s out of the box feature that automatically maps the values between the defined objects.
Another important thing to note is that users must have Read access on all twin fields to ensure they are populated across objects. What this means in practice is that all users who use CPQ should at least have Read access to every twin field, across all Salesforce CPQ objects. Without this, fields may not be populated, depending on how related records are generated.
For example, if a sales rep closes an Opportunity, and off the back of that, there is an automation, running as the sales rep, that creates the Order record, the Order won’t have the twin fields copied from the Primary Quote if the sales user doesn’t have access to the twin fields on the Order object. The information will not be copied over and once this lack of data is realized, the information will need to be manually filled in for every affected record.
This can lead to mass data inconsistencies across the platform if permissions are set up incorrectly, so make sure this set up is correct before putting any Salesforce CPQ functionality live!
Salto is a dedicated tool to deploy Salesforce CPQ metadata and data. Due to the complicated setup of Salesforce CPQ, specialized tools like Salto make deploying Salesforce CPQ simple and straightforward. While Twin Fields are classed as “metadata”, Salesforce CPQ also relies heavily on data deployments with complicated relationships to be deployed smoothly, to avoid disrupting users' use of the platform.
Salto analyzes your deployments to ensure you are deploying everything, in the correct order, and alerts you if you’re missing anything crucial, something you don’t get with a basic data loading tool. The analysis can be crucial, for example, if users don’t have access to the right fields, data can be lost throughout the system and require extensive and time consuming manual backfilling once the issue is caught.
In summary, Twin Fields are an extremely useful feature built into Salesforce CPQ’s arsenal of tools designed to ensure data consistency across not only Salesforce objects, but also downstream applications as well. When used correctly, Twin Fields provide a quick and easy way for admins to get data exactly where it needs to go, without having to build and maintain automations that push data to the relevant objects with Salesforce CPQ.
Additionally, tools like Salto can help you get the most ROI out of your Salesforce CPQ implementation, as well as helping you deploy complex data with ease. Try Salto for free today to elevate your Salesforce CPQ experience!