Skip to Content
Technical Articles
Author's profile photo Xavier Le Garrec

Compensation Eligibility Rules : lesser-known rule conditions and overall limitations


This blog post will present some lesser known compensation eligibility rules configuration options that can prevent many manual workarounds for customers.

All business rules below have been implemented successfully in environments that are now live. Please comment below with comments or better alternative ideas to meet a specific customer requirement.

In the appendix at the bottom of this post we added information about business rules limitations when applied to Compensation eligibility.


Please note :


  • As much as these are tips and tricks to meet complex requirements we would suggest keeping rules as simple as possible. We would advise against building a rule like this for example which is both hard to understand (hence hard to edit by a system administrator if needed) and also could potentially be too long to handle as a server job because it needs to calculate something inside the rule to then compare the outcome to each position in the system (although to be fully transparent in this specific case this complex rule applied much faster than the original leading practice build..). We should also keep in mind that the larger the number of employees in an environment the longer eligibility rules take to finish running.


Did you know : we can use Variables to tremendously reduce the speed of Comp and VP eligibility rules jobs. Adding the below instead of hard coding Pay Grades in my Main record Employee history Rule in Variable Pay brought down the speed of the job from 12 hours to 7 hours (260,000 active employees in EC + 800,000 inactive employees in the UDF kept for data retention purposes) and improved stability as well (credit goes to Tatiana Caraiman for first using a similar config and sharing it with me). Please find on the links here after the full rules BEFORE and AFTER (the AFTER version is also partly displayed in the screenshot below).





Rule 1 – include users if :

  • {they are active}​ OR​ {they are retired AND at termination date they are age 55 or over AND their age and service is 70 or over​}

(credit Skip Jones)




Rule 2 – include users if :

  • {they have Senior in their Job Title}

Variant – {include users if they have “Pending Retirement” in their Local Job Title} :

(credit Skip Jones)




Rule 3 – exclude users if :

  • {they had 10 consecutive days of leave of absence during the fiscal year}

Note : Please find below a recording for this rule as setting it up is a bit more complicated than others.

Please find below another rule also starting with “Get Absence in Days For Period” function but with a twist (credit Nagesh Polu for sharing it on Linkedin) :




Rule 4  – exclude users if :

  • {they were on leave of absence for more than a day during the year}



Rule 5 – exclude users if :

  • They DON’T have pay component 1111 in Comp Info.


Rule 6 – exclude users if

  • They have pay component 1111 in Comp Info.




Rule 7 (Using RBP for eligibility) – include users if :

  • {they are in the RBP permission group called “Compensation Eligible 2019”}

Note : in this example the “Compensation Eligible 2019” RBP group is a “static” group where userIDs were uploaded via CSV into the static group.

(credit Skip Jones)




Rule 8 – exclude users if :

  • {they were hired less than 12 months ago}

(credit Alan Carbajal)





What are the known limitations of Compensation eligibility rules ?

  • The date used in compensation eligibility rules must always be BEFORE the template’s EC effective date. Example : if a template’s EC effective date is 12/31/2019, we cannot create a rule that will exclude all employees with event reason TRANSFER on or after 1/1/2020, but we can exclude employees with event reason TRANSFER on or after 6/1/2019​To exclude all employees with event reason TRANSFER on or after 1/1/2020 while keeping our template’s effective date as 12/31/2019, we would need to use a workaround like the one I wrote about in this blog post :


  • Cross portlet rules (looking at both information from Job Info and from Comp Info in AND or OR conditions) are not supported and will return a red error message when running the rules. In order to use Compensation portlet data in compensation eligibility rules, it is recommended to use the following path : JobInfo > Employment Details > Compensation (see Rules 5 and 6 above).


  • It is not possible to compare in a rule the value from the same field at different dates such as : “If the employee had no increase in 2 years”. This would require us look at the salary from 2 years ago to compare it with the current salary which is not possible. To meet this requirement we would need the EC team to add a field on Comp Info called “Date of last salary increase” with a business rule to update it on Save (see this blog for design options)


  • Some Pay Components attributes cannot be used in compensation eligibility rules.​ For example “currency” will NOT work but “value” will. 


  • EC Compa-Ratio, Range Penetration and Time in Position cannot be used in compensation eligibility rules because they are values calculated “on the fly” in EC and not stored on the employee’s profile. All fields “on the fly” (or “transient” to use the proper EC name) cannot be used in eligibility rules.



Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Nicolas CHILLES
      Nicolas CHILLES

      Thanks a lot Xavier that's really useful to see unusual configurations of business rules for eligibility! I like very much the last ones around # of days of unpaid leaves... if only customers were making the effort of capturing these events more accurately in EC!! That would help a lot! 🙂

      Author's profile photo Xavier Le Garrec
      Xavier Le Garrec
      Blog Post Author

      Thank you Nicolas, I am only at the beginning of my exploration of what we can achieve with all those "GET" and other initially-built-for-EC functions. It's great news for us in Compensation that they can also be used for our module. What I've come to realize so far during my testing is that we can only use the ones that have a "User ID" field in their parameters (screenshot below). I will test more functions in the upcoming weeks and will update this post if I am able to make additional ones work.


      Author's profile photo Shiva Shukla
      Shiva Shukla

      Hi Xavier,

      Thanks for the wonderful article.

      Had one question here. In case, we want employee to be included for variable pay for duration the employee has worked during the financial year and exclude the duration when the employee is on unpaid leave, is it possible.

      For eg.

      Variable pay period - 1st july 2021 to 30th June 2022.

      Employee record for 1st july 2021 - 30th sep 2021 _ Salary 100,000

      Employee record for 1st October 2021 - 31st Dec 2021 _ Salary 150,000

      Employee record from 1st Jan 2022 till 30th June 2022 : Unpaid leave.

      Requirement is that the employee's variable pay should be calculated for the time he was working i.e from 1st July 2021 till 31st Dec 2021 considering variations in salary in first 3 month and next 3 months and should exclude the record from1st Jan 2022, when employee is on unpaid leave.

      Is this achievable?



      Author's profile photo Xavier Le Garrec
      Xavier Le Garrec
      Blog Post Author

      Hi Shiva Shukla

      Yes it is possible, most customers have these kinds of set up that are configured at the Record Eligibility rule level which is mandatory for any EC integrated Variable Pay template.

      You can look at recording #1 here for more information on the two types of Record eligibility rules :

      All the best,

      Author's profile photo Shiva Shukla
      Shiva Shukla

      Thanks a Lot Xavier for sharing this.

      It is definitely very very helpful and the way you have explained everything with the examples gives so much clarity. Thanks again. Really appreciate your prompt response.




      Author's profile photo Lakshmi Ramaswamy
      Lakshmi Ramaswamy

      Hi Xavier,

      Thank you for all the articles provided. I have referred to all the articles you mentioned.

      In VRP, what if LOA overlapped with salary change in comp info?

      Eg: LOA was in 1 Jan to 31 July and a salary change happened in this period.

      Wouldn't the rule for trigerring record adding still consider salary change in comp info?

      So should care be taken that these records don't overlap? If there are many employees that way it is painful right?


      Lakshmi R

      Author's profile photo Xavier Le Garrec
      Xavier Le Garrec
      Blog Post Author

      Hi Lakshmi Ramaswamy

      Sorry for the late reply.

      The records rule takes priority over the salary changes. So if you say "no LOA record" in the main VP record rule, then even if someone had a salary change during that time it won't get picked up.

      Using your example with a twist. If EC is as below :

      • Jan 1 to March 1 : active, salary 50k
      • March 2 to May 1 : LOA salary 50k
      • May 2 to June 1 : LOA salary 55k
      • June 2 to October 1 : active salary 55k
      • October 2 to December 31 : active salary 60k

      AND your main VP record rule says "Is not equal to LOA" (it's always an inclusion rule) then in Variable Pay employee history after the job runs you will get :

      • Jan 1 to March 1 : 50k
      • June 2 to October 1 : 55k
      • October 2 to December 31 : 60k


      Hope this helps,

      All the best,