---
schema_version: "1"
id: 5518d9bee7fd5d8c15dd57f16adcaecb1ead598b2e56584a5ddd3723d9876d47
title: Default Pricing Plan in EPC
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_default_pricing_plan_in_epc.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_default_pricing_plan_in_epc.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 9da10e35ff5ccd4b19d1a12fb0a70da98ee78872c180f791e8abfbbb3c2c281e
description: Salesforce provides a default pricing plan with nine steps. You can rearrange the steps and add new steps to provide additional logic to your pricing plan.
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# Default Pricing Plan in EPC

Salesforce provides a default pricing plan with nine steps. You can rearrange the steps and add new steps to provide additional logic to your pricing plan.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small " summary="Default Pricing Plan Sequence">
        <colgroup>
          <col>
          <col>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d94463e41">
              <p style="margin-bottom:0;">Sequence</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d94463e47">
              <p style="margin-bottom:0;">Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d94463e53">
              <p style="margin-bottom:0;">Description</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d94463e59">
              <p style="margin-bottom:0;">Parameters</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">10</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Initialize Pricing Context</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Initializes a pricing plan context map that includes information
                that subsequent steps need. Each step can set or retrieve objects from
                the context map. Information in the map includes the line items being
                priced, the cart header object, the list of associated line adjustment
                records and promotion item records, and maps that enable efficient
                hierarchy information processing.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">
              <p style="margin-bottom:0;">
                <a href="https://help.salesforce.com/s/articleView?id=ind.comms_base_pricing_adjustments.htm&amp;release=264.0.0&amp;type=5" title="Salesforce records the base price for every line item in the pricing log. The pricing log is a JSON field on the line item object that enables the pricing waterfall in the Price Details in the Industries CPQ Cart. Although the pricing log is efficient for the Cart's operations, it is not recommended for configurations or services that need to evaluate past pricing history.">Enabling Base
                  Pricing Adjustments</a>
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">20</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Load Price List Entries</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Queries the price list entries associated with the cart products
                and price list. Calls the tightest match service to determine the
                matching recurring and one-time charges for a product.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">30</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Initialize Pricing Variables</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">After the service finds the tightest price list entries, the
                plan applies the charges to the recurring and non-recurring pricing
                variables associated with each line item in the cart being
                priced.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">35</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Apply Context Discounts</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Applies any context-defined overrides and adjustments loaded in
                the Initialize Pricing Context step.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">
              <p style="margin-bottom:0;">
                <a href="https://help.salesforce.com/s/articleView?id=ind.comms_sequential_promotions_and_discounts.htm&amp;release=264.0.0&amp;type=5" title="By default, multiple promotions or discounts for a product apply to the original base price. But you can enable each discount or promotion to be applied in sequence to the product price that’s calculated after each promotion or discount is applied. You can enable this sequential pricing for promotions, contextual discounts, or offer adjustments across an org.">Sequential Promotions and Discounts</a>
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">40</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Apply Offer Adjustments</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Applies any offer-defined overrides and adjustments that the
                plan loaded in the Initialize Pricing Context step. The plan applies
                overrides first, before any adjustments that adjust the pricing
                variables associated with them.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">
              <p style="margin-bottom:0;">
                <a href="https://help.salesforce.com/s/articleView?id=ind.comms_sequential_promotions_and_discounts.htm&amp;release=264.0.0&amp;type=5" title="By default, multiple promotions or discounts for a product apply to the original base price. But you can enable each discount or promotion to be applied in sequence to the product price that’s calculated after each promotion or discount is applied. You can enable this sequential pricing for promotions, contextual discounts, or offer adjustments across an org.">Sequential Promotions and Discounts</a>
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">50</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Apply Promotion Adjustments</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Applies any promotion-defined overrides and adjustments loaded
                in the Initialize Pricing Context step. The plan applies overrides
                first, before any adjustments that adjust the pricing variables
                associated with them.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">
              <p style="margin-bottom:0;">
                <a href="https://help.salesforce.com/s/articleView?id=ind.comms_sequential_promotions_and_discounts.htm&amp;release=264.0.0&amp;type=5" title="By default, multiple promotions or discounts for a product apply to the original base price. But you can enable each discount or promotion to be applied in sequence to the product price that’s calculated after each promotion or discount is applied. You can enable this sequential pricing for promotions, contextual discounts, or offer adjustments across an org.">Sequential Promotions and Discounts</a>
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">60</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Apply Charge Manual Adjustments</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Applies any manual overrides or adjustments loaded in the
                Initialize Pricing Context step.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">70</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Calculate Rollups</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Calculates line-level totals and rollup pricing variables. The calculation starts
                from the child item items and moves up the hierarchy tree because the parent rollups
                are dependent on their children pricing variable totals. This step calls the
                DefaultPricingVariableCalcImplementation, which contains the pricing formula for
                calculating the line-level pricing variable totals. The quantity is multiplied with
                the One time or Recurring prices to get the total outcome for
                DefaultPricingPlanImplementation. For example, Current calculation is One Time
                Charge x Discount X Quantity =&gt; 82.69 x -10% Off =&gt; 74.42 * 10 Qty =&gt; 744.20.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">80</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Save Line Items</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Saves the line items to the database.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e41 ">
              <p style="margin-bottom:0;">90</p>
            </td>

            <td data-label="Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e47 ">
              <p style="margin-bottom:0;">Apply Parent Variables</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e53 ">
              <p style="margin-bottom:0;">Calculates and saves any parent object-level pricing variables.
                Parent objects include Opportunity, Order, and Quote.</p>
            </td>

            <td data-label="Parameters" class="slds-cell-wrap" style="vertical-align:top;" headers="d94463e59 ">&nbsp;</td>

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

## Set Up a Default Pricing Plan in EPC

If a pricing plan is not specified, ​Salesforce Industries Communications, Media, and Energy (CME) uses the pricing plan named in this custom setting. Define the default pricing plan using the **DefaultPricingPlan** custom setting. To set up a default pricing plan, use the **DefaultPricingPlan** custom setting and then run the INSTALL DEFAULT PRICING PLAN DATA administration job.

This custom setting is usually created during installation. If your implementation has been upgraded from an earlier version of ​Salesforce Industries Communications, Media, and Energy (CME), you might need to create this custom setting manually.

To install the default pricing plan, simply run the INSTALL DEFAULT PRICING PLAN DATA administration job. This job is usually run as part of the installation process or during an upgrade. If the job was not run or if you wish to restore the default pricing plan, run the job.

1. If you don't have the **DefaultPricingPlan** custom setting, create it:
    1. Go to **Vlocity CMT Administration**.
    2. Under **Custom Settings**, click **CPQ Configuration Setup**.
    3. Search the list of existing custom settings for DefaultPricingPlan.
    4. If the custom setting does not exist, then clear the search dialog and click **Add**.
    5. In the first box, enter the name of the custom setting, which is DefaultPricingPlan.
    6. In the second box, enter the **Code** of the pricing plan that you want to use as the default. If you are using the default pricing plan provided by CME, the code is DEFAULT\_PRICING\_PLAN.
2. Run the INSTALL DEFAULT PRICING PLAN DATA administration job.
    1. Go to **Vlocity CMT Administration**.
    2. Under **Admin Console**, click **EPC Jobs**.
    3. Next to INSTALL DEFAULT PRICING PLAN DATA, click **Install**.
    4. Follow the remaining steps of the import process to install the default pricing plan data.