In order to control price deviations at One Quote level, a custom approval process has been built. We built it in order to manage potentially different approvers per product lines.
I/ Approval fields calculation during price configuration
At One Quote line item level as soon the "Quoted price" is edited, the system calculates dynamically if there is an approval needed or not:
Depending on the deviation one of the 3 roles below may need to approve:
- RMD (Regional market director)
- GMD (Global market director)
- PAM (Product Attribute Manager)
To calculate the RMD and GMD approver role we use the corresponding approval thresholds % stored on the related volume bracket and we calculate at OQLI level the "GMD approval" and "RMD approval" threshold unit values.
The logic of these two fields calculation is different depending on the GBU:
- If the GBU is Novecare we calculate a margin threshold we compare with the quoted margin and margin floor.
- If the GBU is different than Novecare we calculate a price threshold we compare with the quoted price and price floor.
For GBU = "Novecare":
- If the quoted margin is below "RMD approval" and above "GMD approval" and Price floor the approver role will be RMD
- If the quoted margin is below "GMD approval" and above price floor the approver role will be GMD
- If the quoted margin is below "Price floor" the approver will be PAM
For GBU different than "Novecare":
- If the quoted price is below "RMD approval" and above "GMD approval" and Price floor the approver role will be RMD
- If the quoted price is below "GMD approval" and above price floor the approver role will be GMD
- If the quoted price is below "Price floor" the approver will be PAM
TS only use the last part linked to the price floor. They don't need any GMD or RMD approvals. But it's important to know that the logic is in place for future GBU's we'll onboard on the process.
Absolute thresholds:
We also implemented an absolute threshold logic to request an approval if the annual impact of the deviation will raise a certain amount.
Absolute thresholds are maintained at Custom metadata level (One Quote Approval) and at the moment only Novecare use it.
For Novecare values are the below:
- RMD Absolute threshold = 20 000€
- GMD Absolute threshold = 100 000€
To give a concrete example how it works the system calculates the price impact versus the estimated annual volume.
Egs:
If an OQLI has a estimated annual volume at 150 000 kg, a price guidance at 2€/kg and a quoted price at 1,5€/kg. The annual impact is (2€-1,5€)*150 000 = 75 000€. On this example we meet the RMD aboslute thresold and an approval will be require even if we are above the RMD approval threshold.
Differencies between Novecare and Technology solutions:
- As described above for Novecare the approval logic is based on margin instead of the price for TS.
- For TS we request an approval only by the PAM team when the quoted price is below the price floor. We never request an approval by a GMD or an RMD.
- At TS they don't use the absolute threshold logic
Approver matrix:
For the system to find the right approver after an approver role is defined at OQLI level we maintain a matrix at utility level on the "One Quotes price deviation" record type.
We look at the record with the same combination of GBU/BU/Region/Role and we retrieve the approver.
Edit access to this matrix is managed via sharing rule.
For Novecare all users part of the group below can edit it: CS-SHR-Utility Edit
For TS all users part of the group below can edit it: TS-SHR-Utility Edit
List of OQLI fields used on the approval process:
- GBU
- Estimated Annual Volume
- Quoted Price
- Quoted Margin
- Price Guidance
- Margin Guidance
- Price Floor
- Margin Floor
- GMD Approval
- RMD Approval
- Approver Role
- Approval Status
- Approver
II/ Approval process
- Send for approval by AM
- Approval / Rejection process
3/Notifications