---
schema_version: "1"
id: ef5efe06f0f010680dab8dedc39b6e49408eecc2301f29e50e58975721be4cd8
title: Customize Multisite Quote
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/ene_customize_multisite_quote.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.ene_customize_multisite_quote.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 6b6454905be675c9ef4ae7dc35ebd60b309b59d83da0e46afaf134082671894a
description: You can synchronize custom fields, add new price-impacting attributes, and Read Quote Line Item Recipient (QLIR) Custom Field Values in CML.
products:
  - Energy and Utilities
release: "264"
---
# Customize Multisite Quote

You can synchronize custom fields, add new price-impacting attributes, and Read Quote Line Item Recipient (QLIR) Custom Field Values in CML.

## Synchronize Custom Fields from OPR to QLIR

Propagate custom field values from Opportunity Product Recipient (OPR) records to Quote Line Item Recipient (QLIR) records by configuring the data mapping.

## Create Custom Fields on QLIR

Customize the transaction data structure by adding attributes and aligning the field mappings to the Quote and Order objects.

1. From **Setup**, open the **Object Manager**.
2. Select the **Quote Line Item Recipient** object.
3. Create custom fields that correspond to the fields on the OPR object.

## Extend and Configure Context Definition

Edit the extended context definition, mappings, and activate the context definition.

1. Extend the **SalesTransactionRecipient** node.
2. Edit the extended context definition.
3. Add the custom attributes corresponding to the OPR custom fields you want to map.
4. Add the tag values for the custom attributes.
5. Click the **Map Data** tab to edit the mappings.
6. Mark **OppLineItemRcpntMapping** as default.
7. Edit the **OppLineItemRcpntMapping** mapping and map the newly added custom attributes to the corresponding OPR custom fields.
8. Edit the **QuoteLineItemRcpntMapping** mapping and map the newly added custom attributes to the corresponding QLIR custom fields.
9. Save the mappings and then activate the context definition.

## Add New Price-Impacting Attributes

Configure new product attributes that affect pricing, such as contract duration, by modifying the Product Catalog Management settings.

1. From the **App Launcher**, find and select **Product Catalog Management**.
2. Go to the home page.
3. Create attributes according to the Revenue Cloud Product Catalog Management guidelines.
4. Follow the standard procedures to create a new product and bind the attribute as price impacting.
5. In the Constraint model expression set, add the attribute to the parent product type definition using the **DeveloperName** of the Attribute Definition.
6. In the product group type definition, add the attribute, the parent reference, and the constraint.

## Read Custom Field Values in CML

Populate product attribute values using custom fields from the Quote Line Item Recipient (QLIR) to drive logic in the Constraint Model Language (CML).

## Create and Map Custom Fields

Create a custom field on the Quote Line Item Recipient object, extend the sales transaction context definition, and map the new attribute to Quote and Order entities.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col style="width:100%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
            <colgroup>
              <col style="width:50%">
              <col style="width:50%">
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d101779e362">User Permissions
                  Needed</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d101779e362 ">To create user profiles and users:</td>

                <td class="slds-cell-wrap" style="vertical-align:top;" headers="d101779e362 ">Energy &amp; Utilities Cloud Features</td>

              </tr>
            </tbody>
          </table>

1. Create a custom field on the **Quote Line Item Recipient (QLIR)** object.
2. Edit the extended SalesTransactionContext definition.
    1. From **Setup**, in the Quick Find box, enter Context Definitions, and then select **Context Definitions** .
    2. Click the **Custom Definition** tab.
    3. Select the extended **SalesTransactionContext** definition and click **Edit**.
3. Add the new attributes under the **SalesTransactionItem** node, and then click **Next**.
4. Add the tags for the newly created attributes, and then save your changes.
5. Click the **Map Data** tab.
6. Next to **QuoteEntitiesMapping**, click the dropdown menu and select **Edit SObject Mapping**.
7. Map the newly created attributes to the custom SObject fields.
    1. Under **QuoteLineItem SObject**, click the **+** icon next to **QuoteLineItemRecipientId** and select the new custom field.
    2. Map **SalesTransactionItem.<customField>** to **QuoteLineItem.QuoteLineItemRecipient.<customField>**.
8. Save your new mappings.
9. Next to **OrderEntitiesMapping**, from the dropdown menu, select **Edit SObject Mapping**.
    1. Under **OrderItem SObject**, select the **+** icon next to **QuoteLineItemRecipientId** and select the new custom field.
    2. Map **SalesTransactionItem.<customField>** to **OrderItem.OrderItemRecipient.<customField>**.
10. Save your new mappings.

## Update the Constraint Model Expression Set

Deactivate the custom expression set, update it, and reactivate it.

1. From the **App Launcher**, search for and select **Constraint Model**.
2. Click the **EU product constraint**.
3. Open the activated version and deactivate it.
4. Update the CML to read the newly created tag in the context definition.
5. Add constraints to set the value.
6. Activate the constraint model.