Product Mapping allows customers to define which fields from Product (OpportunityLineItem) to be sent to Oneflow when creating a contract. This feature is flexible enough to work with quantities, checkbox or single choices on Oneflow Contracts. Also it is possible to define a field which will be updated once a contract is signed.
How to configure Product Mapping?
To configure Product Mapping, on Salesforce navigate to
Setup > Custom Settings > Oneflow Product Mapping > Manage > Product Mapping > Edit
Here you can change the Product Mapping configuration to the use Salesforce fields which suit your company best:
- Name (Product's Name shown on Oneflow)
- Description (Product's Description shown on Oneflow)
- Price1 (Product's Price1 shown on Oneflow)
- discount1 (Product's Discount1 shown on Oneflow)
- Price2 (Product's Price2 shown on Oneflow)
- discount2 (Product's Discount2 shown on Oneflow)
- quantity (Product's Quantity shown on Oneflow)
- quantity_type (Product's Quantity Type shown on Oneflow)
- default_quantity_type (Product's Default Quantity Type shown on Oneflow, choose number, checkbox, single-choice)
- Customer_selection - Field that is updated when contract is signed.
Example for Out-of-the-box Product Mapping Settings:
- Name - PricebookEntry.Name (Product's Name is coming from OpportunityItemLine > PricebookEntry > Name)
- Description - Product2.Description (Product's Description is coming from OpportunityItemLine > Product2 > Description)
- Price1 - UnitPrice (Product's Price1 is coming from OpportunityItemLine > UnitPrice )
- discount1 - Discount (Product's Discount1 shown on Oneflow)
- Price2 - Optional
- discount2 - Optional
- quantity - Quantity (Product's Quantity comes from OpportunityItemLine > Quantity)
- quantity_type - Optional
- default_quantity_type - Optional (Default option for Product's Default Quantity Type is number)
- Customer_selection - Optional
As shown on the configuration above it is possible to use fields from the OpportunityLineItem itself or fields from other objects related to the OpportunityLineItem (like the Product's Name shown on the Contract is coming from the field Name from PricebookEntry related to this OpportunityLineItem).
Advanced Configuration
Oneflow Product Table allows you to work with quantities, checkboxes or single choice selection.
Let's take a different scenarios and how configure them using Product Mapping.
- Number
When creating a contract, a customer would like to display the quantity for a given product.
- Checkboxes
When creating a contract, a customer would like to allow product selection by selecting a given checkbox for a product.
To use checkboxes, on Product Mapping settings change Oneflow Default Quantity Type to checkbox.
- Single choice
When creating a contract, a customer would like to allow product selection for one and only product.
To use single choice, on Product Mapping settings change Oneflow Default Quantity Type to exclusive.
Default Quantity Type vs Product Quantity Type
Product QuantityType takes a field from Product and shows that product on Oneflow Contract accordingly.
Product field for this purpose is required to be text/dropdown field with values "number", "checkbox" or "exclusive".
Also, keep in mind that if Product Quantity Type is set than takes precedence over Default Quantity Type (value for Default Quantity Type is ignored). When Product Quantity Type is not mapped or it might be mapped but not set for a specific product than product type fallback to Default Quantity Type.
This mapping is specially useful for creating contracts where you would like to have both Product Selection and Product Quantity. For example,
2-Way Sync for Products
When a contract gets signed it's possible to sync the product selection back to Salesforce. This is useful to keep track of the products that the customer signed for. For example syncing back the number of licenses a customer have bought or any other extras it might be interested in.
To enable 2-Way Sync for Products you will need to fill the Product Customer Selection on Product Mapping with a field (Editable). from OpportunityLineItem.
For example, check our video where we are syncing back the quantity of the products to Salesforce after a contract is signed.
Here is another example on where we are syncing back the customer's selection of the products.
Oneflow Product Table
Product Reorder is not supported
Product Renaming is not supported
Adding/Removing Products is not support
Salesforce Opportunity Products
Product Reorder is not supported
Product Renaming is not supported
Adding/Removing Products is not support
Any of the above changes will require a new contract, existing contracts will not be updated.
One of the previously mapped field does not exist (might have been deleted) or is misspelled or is missing namespace.
User trying to create the contract does not have access to the field specified by the error message.
Product Mapping Custom Settings is missing.
Product Name on Product Mapping configuration is mandatory.