![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > Diagrama.jpg](/download/attachments/919023656/Diagrama.jpg?version=1&modificationDate=1741777219370&api=v2)
iCARe Quote creation and price calculation Epic Links:
On the end_use__c object, the system searches for the account in the quote and product(s) selected.
If there is an end_use__c record matching, the systems gets the market segment and end use values and automatically populate them in the OLI.
The system also displays the values in the screen below as read-only.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image.png](/download/attachments/919023656/image.png?version=1&modificationDate=1741777219417&api=v2)
If there is no end_use__c record matching the account and products, the system dispkays the fields as editable, so the account manager must select the values manually.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_11-25-54.png](/download/attachments/919023656/image2023-3-15_11-25-54.png?version=1&modificationDate=1741777219395&api=v2)
The pricing market is the pricing setting selected by the system, based on the Region and Currency in the quote.
The pricing market by default is the generic one (with the market segment empty), named BLANK.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_12-20-4.png](/download/attachments/919023656/image2023-3-15_12-20-4.png?version=1&modificationDate=1741777219490&api=v2)
Usually, we have one pricing setting for each region and currency with market segment empty. The system displays it as BLANK.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_12-18-45.png](/download/attachments/919023656/image2023-3-15_12-18-45.png?version=1&modificationDate=1741777219470&api=v2)
Additionally, we could also have pricing settings for specific market segments, like in the screen below.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_12-22-27.png](/download/attachments/919023656/image2023-3-15_12-22-27.png?version=1&modificationDate=1741777219524&api=v2)
If we have the BLANK market segment and the specific market segment, the account manager is able to select between them.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_12-45-2.png](/download/attachments/919023656/image2023-3-15_12-45-2.png?version=1&modificationDate=1741777219597&api=v2)
If we don't have the blank market segment or the price list for the currency and the region, the system presents the pricing market without options and an error is displayed after click on "Add Product"
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image.png](/download/attachments/919023656/image.png?version=1&modificationDate=1741777219417&api=v2)
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_12-39-19.png](/download/attachments/919023656/image2023-3-15_12-39-19.png?version=1&modificationDate=1741777219570&api=v2)
When the account manager is adding product(s) into the quote, after clicking on Save button, the system should verify the following:
Compare if the Product Pricing Valid From is equal or less than Quote Valid From and Product Pricing Valid Until is equal or greater than the longest date between Quote Valid Until (Internal) and Quote Valid Until external
if yes, do nothing
if no, display an error message n the top of the page saying “The quote validity dates are outside the price list validity dates for [Product Name]. Please contact the PM or update the validity date of this quote“ and hide the button “Send for Approval”
To be able to proceed the account manager should remove the product(s) from the quote or extend the quote valid From and/or Quote Valid To (Internal Only) and Quote Valid To (external) date(s).
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image-20221120-214253.png](/download/attachments/919023656/image-20221120-214253.png?version=1&modificationDate=1741777219925&api=v2)
From the example below, the quote validity dates in the green rectangle and the opportunity line items below, the opportunity line items allowed in this quote are OLI1, OLI7 and OLI8, because the validity dates are equal or longer than the quote.validity dates.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-6-6_14-26-28.png](/download/attachments/919023656/image2023-6-6_14-26-28.png?version=1&modificationDate=1741777219876&api=v2)
Diagram Flow: https://app.diagrams.net/#G1EyofPlJM7TMbEKk4wHzSSH58p973JI7r
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > Final Consignee Diagram.jpg](/download/attachments/919023656/Final%20Consignee%20Diagram.jpg?version=1&modificationDate=1741777219975&api=v2)
A final consignee is an SAP customer account or distributor that could be assigned to a quote line item, by clicking on the pencil next to the field, as you can see in the screenshot below:
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > Screenshot 2023-03-15 12.49.22.png](/download/attachments/919023656/Screenshot%202023-03-15%2012.49.22.png?version=1&modificationDate=1741777219623&api=v2)
In the final consignee screen, the account manager can search by the name or the PRS Code.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_16-30-33.png](/download/attachments/919023656/image2023-3-15_16-30-33.png?version=1&modificationDate=1741777219743&api=v2)
The final consignee could be a non-SAP customer, the account manager can chosse an account without SAP/PRS Code as the final consignee.
However, the CSR will not be able to automatically send the prices to SAP (the "Send to SAP" button will be disabled because the PRS Code is missing).
The final consignee can be assigned in the quote or in the quote line items.
Final Consignee is assigned in the quote:
Final Consignee assigned in the quote line item:
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_15-39-51.png](/download/attachments/919023656/image2023-3-15_15-39-51.png?version=1&modificationDate=1741777219700&api=v2)
In order to fix the errors above, the account manager should follow the rule:
HOW Is it working ?
Market Cluster is automatically populated based on the end use value. The calculation rules are inside EndUse_TriggerUtility class, on the method getMarketCluster and the possible values assigned to Market Cluster are the following:
There is a configuration matrix called End Use Mapping (End_Use_Maping__mdt) in iCARe that contains all the End Use values + the corresponding Market Cluster. This matrix must be updated every time we update or create new Market Cluster or End Use.
in the End Use Mapping then Market_Cluster__c = Not Identified
If this condition fails, tries the following:
Every time there is an error message displayed in red in any OLI or the system displays a warning icon next to the product name, the button Send for Approval is disabled.
Price deviation might trigger an approval process depending on the quote price after discount amount (available in the column Quote Price (after discount)).
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_20-38-14.png](/download/attachments/919023656/image2023-3-15_20-38-14.png?version=1&modificationDate=1741777219766&api=v2)
The approval thresholds are configured in the product bracket. Every quote line item is linked to a pricing setting that has product brackets.
The product bracket is pointing the reference price for the product on each quote line item, based on the annual volume filled-in by the account manager.
After having the annual volume, the system determines the product bracket and the pricing setting and displays the reference price.
The account manager can deviate the price proposed on the price list and some scenarios can happen:
In a quote, if there is at least one quote line item that requires regional sales director approval, the system assigns all the other quote line items that require approval,
to the same regional sales director, in order to avoid have different people approving the deviations.
The thresolds can be found in the product brackets, as we can see below:
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > Screenshot 2023-03-15 20.53.53.png](/download/attachments/919023656/Screenshot%202023-03-15%2020.53.53.png?version=1&modificationDate=1741777219789&api=v2)
The sales director is determined by the routing matrix - Local Empowerment (Sales QUotes)
Sales director is identified depending on:
Market Segment is automatically calculated for Opportunity Products (Opportunity_Line_Item__c ) inside Opportunity_Line_Item_TriggerHandler class and is also automatically calculated for Sold and Pending (Sales_Order__c) inside SoldAndPendingTriggerUtility class.
The rules to determine the Market Segment for both are the following:
OR if AccountId + Product_Hierarchy__c (Match_Type__c = 'Product Hierarchy') matches on End_Use__c object records then get End_Use__c from End_Use__c object to populate End_Use__c from Opportunity_Line_Item__c/Sales_Order__c and get Market_Segment__c from End_Use__c object to populate Market_Segment__c from Opportunity_Line_Item__c/Sales_Order__c
The rules to calculate Market Cluster for Sold & Pending are inside SoldAndPendingTriggerUtility class. They are the following:
The rules to calculate Market Cluster for Realized Sales are inside SalesTriggerUtility class. They are the following:
Market cluster field is automatically populated according to the different scenario below in the priority order:
In case, market cluster= Not identified, the approver would be the Product manager by default.
For all combination between Market Cluster and Reporting ECCO region, a Sales director is identified in the Routing Matrix.
For instance:
Standard incoterm is automatically populated from the pricing setting linked to the OLI. This value can be edited in the “Deviated incoterm” column.
If the incoterm is deviated, the Sales director will be the approver depending on the combination in the routing Matrix.
Documentation:
Diagram Flow: To be done
The last quoted price is calculated by the system for quote line items and opportunity brackets (when release order volume is selected).
For quote line items, the system does the following calculation:
For opportunity brackets (when the order release volume is selected), the system does the following calculation:
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > Screenshot 2023-03-15 21.36.40.png](/download/attachments/919023656/Screenshot%202023-03-15%2021.36.40.png?version=1&modificationDate=1741777219812&api=v2)
When there is an error in a quote line item, the warning icon is displayed next to the product name, so the account manager can quickly identify that there is one or more errors to fix. The error message appear next to the fields that are in error.
When the error is red, is a blocking error and the system will not allow the account manager to proceed.
When the error is orange, is not a blocking error and the account manager can proceed but is an important alert for an action that needs to be taken as soon as possible.
![Pricing Front End - 11240 > FD - [iCARe] Price Execution CM > image2023-3-15_16-23-22.png](/download/attachments/919023656/image2023-3-15_16-23-22.png?version=1&modificationDate=1741777219723&api=v2)
| Field | Error | Color Code |
| Annual Volume | Enter a quantity above MOQ | Red |
Final Consignee | Multiple line items with same Product and Final Consignee | Red |
Final Consignee | Please click the "Create SAP account" - at the account level - to allow the price to be entered in SAP | Orange |
| Rationale & Description | Rationale is mandatory to fill a Discount Description is mandatory to fill a Discount | Red |
| Order Volume | Is mandatory when Offer pricing per release order volume is ticked | Red |
| Deviated Incoterm | Must be different from Standard Incoterm | Red |
| Order Volume | Must be blank when "Offer pricing per release order volume?” is not ticked | Red |
| Product | Quote validity dates are outside the price list validity dates. Contact the PM to update price validity dates or update the validity dates from this quote Today in UAT, to reduce the amount of text, we have: Pricing dates are not valid | Red |
| Final Consignee in the OLI | In order to proceed with different Final Consignees please remove the final consignee at the quote level | Red |
| Rationale next to Deviated Payment Term | The Payment Term deviation rationale is mandatory. | Red |
| Product | Quote validity dates are outside the price list validity dates. Contact the PM to update price validity dates or update the validity dates from this quote | Red |
| Deviated Payment Term | Deviated payment term and Standard payment term must be different. | Red |
| Justification Comment | If Deviated payment term is “Other (Please Describe)” the Payment term description is mandatory. | Red |