Symptom
How to configure a business rule for calculating remaining amount based on Calculated Amount of a pay component in Compensation Information portlet?
Environment
Employee Central: Compensation Information
Employee Central: Business rule
Reproducing the Issue
In the example, we have the following pay components: AnnualCTC, MonthlyCTC, BasicSalary, CEA, SPAllowance, HRA. HRA is calculated based on Basic amount (50% of Basic). All these pay componets are with Monthly frequency.
MonthlyCTC = AnnualCTC / 12. This is done through an onSave business rule on Compensation Information portlet and it works fine.
SPAllowance = Calculated Amount of MonthlyCTC - (Calculated Amount of BasicSalary + Calculated Amount of CEA + Calculated Amount of HRA). This is done through a business rule.
The rule is added as an onSave rule on Compensation Information portlet.
On changing amounts/entering new values for pay componets for any user and saving it, we see that though HRA is calculated correctly, SPAllowance = Calculated Amount of MonthlyCTC - (Calculated Amount of BasicSalary + Calculated Amount of CEA). Clearly HRA value was not considered.
Cause
At present it is not possible to use business rules which are based on the field calculatedAmount of the recurring/nonRecurring pay components. This field is recalculated only when the pay components are saved, i.e, after all rules are processed.
Resolution
- Create a pay component group that has the pay component MonthlyCTC.
- Create a second pay component that has pay components BasicSalary, CEA and HRA.
- SPAllowance = (first pay component - second pay component) / 12. We divide by 12 because pay component groups are calculated annually.
Keywords
pay_component
compensation , KBA , LOD-SF-EC-CMP , Compensation Information & One-Time Bonus , LOD-SF-EC , Employee Central , LOD-SF-EC-RUL , DO NOT USE - Business Rules & Event Derivation , How To