You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »


1/ Pricing Campaign processes

  • Data extracted from other tools can be found in GooglSheet:

 


  • Template to fill in to upload data in Salesforce :

 


  • Only Data Steward and Pricing Manager profile will upload Pricing Campaing and CPC into Salesforce. Uploading process below:

 

 


2/ User Access to Pricing Campaign feature

User, with the correct profile and permissions, can access to the Pricing Campaign feature through the top menu:



Otherwise, they can also access to the Pricing Campaigns through the App Launcher:


3/ Lightning Web Component - Pricing campaign


A. Table 'Pricing Campaign CPC'

Pricing campaign CPC records are displayed in the LWC below.



  • First part of this WBL: filters

The main goal of these filters on this LWC for users were to be as useful and helpful as possible.


User must easily find CPCs with key information. Due to this requirement, we implemented logic explained below:

  • Once a first filter is applied, the remaining filters only display the values of the remaining records still being displayed in the LWC instead of all the CPC records initially loaded in the table.
  • Users can select multiple items per dropdown filter (e.g. multiple Sold-To Account Names), and consequently the table present the records matching the 2 (or more) items selected.
  • Button 'Clear Filter' clears all values selected for all filters 


  • Second part of this WBL: CPCs

1/ Frozen Column

Two columns have been frozen for helping the user during the navigation of this table from left to right:

  • Account (Sold-to)
  • Product


2/ Quote History Link

Quote history link redirect the user to a Salesforce report 'Account and Product Price History'


3/ Rationale link

Rationale link redirects the user to a google sheet: 


  • Third part: Pricing Campaign information

At the bottom of this LWC, Pricing campaign layout is available with Pricing Campaign key information:



B. Table 'Related'

  • Pricing Campaign CPC
  • Pricing Campaign History


E. Filtering and field dependencies

  • 'x' function to clear individual filters

    There is the cross option on each filter. When the AM clicks on the cross, the system will clean all the values previously selected for that filter.

  • Filter dependency function

    When the AM is opening one filter to select some values, the system must filter on the other filter in the back-end, so when the AM is opening another filter, he is not seeing the values that do not match the first filter(s).

    Since the values that didn’t apply are hidden, the list of options is reduced.

    After the AM selects the values in a filter, when he opens that filter again, the system should

    • display the values selected on the top of the filter list, ordered alphabetically

    • the remaining values from the list, if they exist, should come after, ordered alphabetically




4/ Quote creation from Pricing campaign CPCs

A. Rejected CPCs

If Account Manager Review ISCHANGED to Rejected - is not auto-saved, but instead:

  1. Message pop's up: “To Reject this CPC, please provide a Reason for Rejection.”

  2. If the User then changes Reason for Rejection from null to not null:

    1. auto-save and commit both values to database (Account Manager Review = Rejected and Reason for Rejection with whatever value the User chose).

  3. if the User does not change Reason for Rejection from null to not null and instead refreshes the page:

    1. do not save any changes made by the User - returning Account Manager Review to the value it had before it was changed to Rejected.

  1. Alternatively, if the User just changes the Reason for Rejection from null to not null and the Account Manager Review != Rejected, present User with a validation Error:

    1. “Please choose Rejected on Account Manager Review field before providing a Reason for Rejection”.

    2. Do not auto-save Reason for Rejection until User chooses Account Manager Review = Rejected.

  2. Note: If User changes Account Manager Review value from Rejected to Not Yet Reviewed or Committed - the system needs to automatically make Reason for Rejection and Rejection Description = null

B/ CPCs automatically rejected by the system

  1. The Account Manager can iinputs the Committed Price when the Account Manager Review is Committed . When the Committed Price entered by the Account Manager is equals or less than the last price, the system should automatically Reject the CPC.

    When the Recommended Price is equal or lower than the last price, the system should keep the Account Manager Review as Committed.

    1. When the Account Manager is updating the Account Manager Review to Committed or when the CPC Account Manager Review is Committed and the AM is updating the Committed Price, the system will evaluate

      • if the Committed price is equal or lower than the Last Price, evaluate the following:

        • if Last Price is greater than the Recommended Price - the system should do nothing

          • Committed Price <= Last Price && Last Price >= Recommended Price

          • Committed Price > Last Price

        • if Last Price is less or equal than the Recommended Price - the system should reject the CPC

          • Committed Price <= Last Price && Last Price < Recommended Price

      The comparision of the values should be done after the system round up the values.


      If the condition above is met, the system will automatically fill-in:

      • The 'Account Manager Review field in the CPC with Rejected value

      • The 'Reason for Rejection' field with 'Other (Please describe)'

      • The ‘Reason for Rejection' field with 'Committed Price equal or lower than Last Price''


C/ Committed CPCs

User is able to create a quote only if at the CPC level:

  • Account Manager review = Committed
  • CPC Status = Committed
  • Checkbox = TRUE


  • No pricing setting matching

one

  • Pricing_Setting__r.Product_Pricing__r.Product__r.Product_Availability__c != Inactive

    • AND

  • Pricing_Setting__r.Product_Pricing__r.Valid_Active__c EQUALS TRUE

    • AND

  • Pricing_Setting__r.Region__c EQUALS Pricing_Campaign_CPC__r.Pricing_Region__c

    • AND

  • Pricing_Setting__r.CurrencyIsoCode EQUALS Pricing_Campaign_CPC__r.Pricing_Currency__c (only need to compare the first 3 characters of the Pricing Currency field of Pricing Campaign CPC)


Screen below is displayed to the user to explain the reason why a quote cannot be created:



  • One pricing setting is matching

After clicking the button 'Create Quote' and only if there is a Pricing setting matching, a screen dedicated to create a quote appears:



Logic has been implemented for the fields below in order to make the quote creation the easiest possible for the user:

  • Contact: user can paste the name of the Account name = contacts related to this account will be display in the dropdown
  • Stage = Draft by default
  • Quotation date = Today
  • Quote valid From (internal only) = Quote valid From (internal only) FROM the Pricing Campaign record
  • Quote valid to (internal only) = Quote valid to (internal only) FROM the Pricing Campaign record
  • Offer expiration date = Offer expiration date FROM the Pricing Campaign record
  • Region = Pricing region FROM the CPC record
  • Currency = Pricing currency FROM the CPC record
  • Close date = 30 days after the creation date so 'Today + 30 days'


5/ Forecasted Annual Volume field editable

SpP wants to transfer the accountability on the figures to Account Managers, so they should be able to edit the forecasted annual volume. The system by default an populate the Forecasted Annual Volume with the MoQ if the Forecasted Annual Volume is below MOQ. The Forecasted Annual Volume can be changed or updated by the account manager if needed (with a value higher than the MOQ).

The Forecasted Annual Volume should be updated in the CPC and in the OLI, to keep consistency.

Flow Diagram - https://app.diagrams.net/#G1KW2yeZrTajQ4qgYA2lwDof8ta-IgfbIm

Adjustment the Forecasted Annual Volume in the Market Segment Selection screen


When the AM clicks on Add Product button, the system will confirm if the Forecasted Annual Volume in the CPC is below the MOQ from the corresponding Pricing Setting.

if the Forecasted Annual Volume in the CPC is below the MOQ in the Pricing Setting, the system will display:

  • in edit mode the ‘Forecasted Annual Volume field

  • in read only the MOQ field according to the selected Pricing Market

  • the products impacted with Forecasted Annual Volume highlighted in red

  • an error message at the bottom of the screen, to advise the account manager to edit the Forecasted Annual Volume for the products highlighted in red:
    Forecasted Annual Volume < MOQ for the products highlighted in red, please edit the forecasted annual volume (equal or above MOQ) directly in the field to be able to proceed with the creation of the quote'

The AM should change the Forecasted Annual Volume to a value equal or greater than the MOQ shown in the screen and then press the ‘Add Products’ button.

The system will validate again the Forecasted Annual Volume and will allow the AM to save the quote with the selected products. The system will update the Forecasted Annual Volume field in the CPCs linked to the OLis that were updated before.

For the products with Forecasted Annual Volume above MOQ, they will appear in the quote with the original Forecasted Annual Volume value from campaign.

Remarks:

1 - if the AM also updates the Pricing Market along with the MOQ, when he clicks on Add Products, the system will validate the Forecasted Annual Volume against the MOQ again.

Different Pricing Markets can have different MOQ thresholds and the MOQ value provided by the AM could end-up again in error-

The system will run the rules described in the previous slide and, in case of non compliance, the same behavior will be applied.

2 - If the quote is not created from the pricing campaign, if it’s a quote renewal or a quote created from scratch, the Forecasted Annual Volume and MOQ fields are grey out

  • MOQ is already grey out

  • Forecasted Annual Volume is empty and grey out when the OLI is not created from a CPC

6/ Market Segment, End Use and Market Cluster automatically calculated  and assigned for CPCs

1)

When the CPC is created and every time the Account or the Product or the End Use are updated to a different Account/Product in the CPC,, the system will:

  • Get the Account and the Product in the CPC and search for them in the End Use (end_use_c rules) table

    • If there is one match, populate the end use and market segment in the CPC

    • Otherwise, leave them blank (if business needs to update the end use or market segment on the CPC, the update must be done at end use rules by updating the rule or creating a new rule. The account manager needs to request the GBU Data Steward to manage the end use rule).

2)

When there is a new end use rule created or updated (end_use_c rules), take all the CPCs from all campaigns with the Account and Product present in the rule and update the End Use and Market segment in the CPC.

3)

When the End Use is updated by the system, the system will: calculate the market cluster, reusing the existing logic:

  • If Account Team Cluster equals to null/Empty then Market Cluster = "Not Identified" If not, the system goes to the next rule.

  • If Account Team Cluster equals to ''Channel Partners & Digital Sales" then Market Cluster =  ''Channel Partners & Digital Sales". If not, the system goes to the next rule.

  • If End Use equals to null/Empty then Market Cluster = "Not Identified". If not, the system goes to the next rule.

  • If End Use not equals to null/Empty then we use the end use mapping to get the Market Cluster for each specific End Use (using End_Use_Maping__mdt.). If not, the system goes to the next rule.

  • If End Use equals to null/Empty then Market Cluster = "Not Identified"

If the code reaches the last rule, create an app log twith the end use value o alert admins that an end use is missing from the metadata.

4)

When the Account Manager ir creating the quote from CPC in the Market Segment Selection' screen (in the screenshot below), the system should

  • display the end use and market segment fields as read-only and pricing market as editable.

  • when the end use or market segment are empty,, all the fields end use, market segment and pricing market must be editable (but the values selected by the account manager will not be copied from the OLI into the CPC)

7/ Permissions & Sharing

A. Pricing Campaign object

Profile Object Permissions - only the Profiles meeting the following criteria should be able to Read Pricing Campaigns:

  1. Profile.User License = Salesforce

  2. Profile.Custom = TRUE


  • System Administrator, System Admin (Lite) and GBU Data Steward must have full permissions for this object (Read, Create, Edit, Delete, View All and Modify All).

  • All other Profiles meeting criteria 1 and 2 above should not have anything other than Read permission for this object (no Create, no Edit, no Delete, no View All, no Modify All).


B. Pricing campaign CPC Permissions & Sharing

Only Owner can see Pricing Campaign CPC records (Private object).

  • Grant Access Using Hierarchies = TRUE

    • no other Sharing Rules will be implemented

Profile Object Permissions - only the Profiles meeting the following criteria should be able to Read and Edit Pricing Campaigns:

  1. Profile.User License = Salesforce

  2. Profile.Custom = TRUE

  • System Administrator and GBU Data Steward must have full permissions for this object (Read, Create, Edit, Delete, View All and Modify All).

  • System Admin (Lite) Profile will have access to this object via the z__Object_Permissions_for_AdminLite Permission Set

    • adjust this permission set to grant Access to Pricing Campaign CPC (Read, Create, Edit, Delete, View All and Modify All).

  • All other Profiles meeting criteria 1 and 2 above should only have Read and Edit permission for this object (no Create, no Delete, no View All, no Modify All)


8/ Link Committed CPCs belong to an Active Campaign with a quote created outside of a Pricing Campaign

The data steward wants to monitor and identify which OLIs were created outside of the campaign, that can match with any CPC inside an active campaign, so he can link the OLI with the matching CPC.

It was created an automation in the system to identify and link Committed CPCs with matching quote line items (OLI), if the AM or KAM is not creating the quote from the Active Pricing Campaign. 

To identify OLIs created outside of an active campaign and populate the CPCs with a matching OLI, the system should check for the following criteria:

1 - CPCs included within an active campaign (Quote Valid From (Internal Only) less or equal than today and Quote Valid To (Internal Only) greater or equal than today)

2 - With the status equals to Committed

3 - with the same Account, Product, Region and Currency

4 - with the same Account, Product, Region

The logic is 1 AND 2 AND 3

if no matches found in the logic above, run the logic 1 AND 2 AND 4


Important Assumptions:

1 - Sometimes the currency in the CPC is not matching the currency in the OLI, that’s why the system evaluates the rule with and then without currency matching.

2 - Due to the final consignee at the OLI level, we can have multiple OLIs matching one CPC. In the CPC we don’t have the final consignee to add into the criteria for comparison.

If the system finds more than one OLI matching the CPC, we take one of the CPCs randomly.





The field OLI Matching Criteria describes how the field Generated Opportunity Line Item was populated in the CPC:

  • if the quote was created from the campaign tool, the field contains 'CPC created inside an active campaign'

  • if the quote was created from the quotation tool and the system finds an OLI to match with the Committed CPC following rule 1, the field contains 'CPC created outside an active campaign'

  • if the quote was created from the quotation tool and the system finds an OLI to match with the Committed CPC following rule 2, the field contains CPC 'created outside an active campaign with currency mismatch'

  • if the system doesn't find any OLI to match with the committed CPC, the field contains 'no active OLI for this CPC'


The report CPCs with or without OLIs was provided to business for them to have this analysis consolidated.

In the transparency dashboard, the OLI will be visible, regardless if the quote was created in the campaign tool or in the quotation tool

Reference Jira story: Unable to locate Jira server for this macro. It may be due to Application Link configuration.



  • No labels