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
4/ Quote creation from Pricing campaign CPCs
A. Rejected CPCs
If Account Manager Review ISCHANGED to Rejected - is not auto-saved, but instead:
Message pop's up: “To Reject this CPC, please provide a Reason for Rejection.”
If the User then changes Reason for Rejection from null to not null:
auto-save and commit both values to database (Account Manager Review = Rejected and Reason for Rejection with whatever value the User chose).
if the User does not change Reason for Rejection from null to not null and instead refreshes the page:
do not save any changes made by the User - returning Account Manager Review to the value it had before it was changed to Rejected.
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:
“Please choose Rejected on Account Manager Review field before providing a Reason for Rejection”.
Do not auto-save Reason for Rejection until User chooses Account Manager Review = Rejected.
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
- Message pop's up: “To Reject this CPC, please provide a Reason for Rejection.”
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/ Permissions & Sharing
A. Pricing Campaign object
Profile Object Permissions - only the Profiles meeting the following criteria should be able to Read Pricing Campaigns:
Profile.User License = Salesforce
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:
Profile.User License = Salesforce
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)















