Skip to Content
Product Information
Author's profile photo Bijolesly Kurian

Reimagining Automatic Enrollment Jobs in Global Benefits

The Benefits Auto Enrollment Job analyzes all employee records with each run, even those records where there are no changes as per the eligibility rule.

This approach slows down jobs, affecting the performance with respect to time. Occasionally, it also makes the job fail due to memory consumption issues if the volume to be processed is too high for some customers based on their setup and number of employees.

To improve performance, two new jobs have been introduced to replace the Benefits Auto Enrollment job.

1. Create or Update Benefit Enrollments for Benefit Master Data Changes

Run this job:

  • To create initial enrollments for a benefit in each period
  • To handle automatic enrollment updates caused due to any changes to benefits master data. For example, changes to eligibility rule, rate chart, benefit schedule, and so on.

For more details, refer to the blog.

2. Create or Update Benefit Enrollments for Employee Master Data Changes 

Schedule this job:

  • To trigger updates to enrollment records due to any change in employee master data , such as Job information, Personal information, Compensation Information, which will have an impact on eligibility of benefit.
  • To trigger updates to insurance enrollment contributions due to change in employee age which will have an impact on insurance rates
  • To update or create enrollments due to change in eligibility

For more details, refer to the blog.

Migrating from Benefit Auto Enrollment Job to New Tracker-Based Jobs

New customers

We recommend that you start using the new jobs instead of the Benefit Auto Enrollment jobs. Refer to the above blogs for more details.

Customers who are already using the ‘Benefit Auto Enrolment’ job

Please follow the below steps if you are using Benefits Auto Enrollment job and plan to shift to the new tracker-based jobs.

1. Set up the configurations mentioned for both the jobs

Please refer to the above-mentioned blogs for more details on the configurations.

2. Set up and run the job ‘Create or Update Benefit Enrollments for Benefit Master Data Changes’ with the Job Run Context / Evaluation Scenario as ‘Determine Next Job Run Date for Enrollments’

This is a one-time job run, it is not necessary to schedule it.

Following are some examples which will explain why this step is required.

Example 1: An organization provides a ‘Company car’ benefit to employees, but employees will be eligible for this benefit only after they complete 5 years of service with the company.

Employee John Smith joins the organization on March 1, 2020. When he joined, the Benefits Auto Enrollment job evaluated and marked his record as ineligible. This process continues daily, the job will create an enrollment once the employee completes 5 years of service (March 1, 2025).

If the organization migrates to the new tracker-based job before this employee completes 5 years, say in June 2023 itself. Then this job should know when to pick this employee to create enrollment as it is based-on tracker records and should not evaluate daily.

So, when the job runs with the context ‘Determine Next Job Run Date for Enrollments’ (mentioned in Step 2), the system will evaluate all users and create the tracker records. For this employee ‘John Smith’, the job will evaluate and create a tracker record for March 1, 2025 which is when the Employee master data job should pick this user and create enrollment.

Example 2: An Insurance Plan has the following age groups configured in the rate chart: 0-30, 31-60, 61-80

Let’s consider the employee John Smith (30 years as of June 30 2021, DOB – June 1, 1991) is enrolled into the benefit using the Benefits Auto Enrollment job and he falls into the 0-30 age category.

The company migrates to the new job and run the job with the context Determine Next Job Run Date for Enrollments (mentioned in Step 2). This will create a tracker record for June 1, 2022 as the employee will move under the next age group 31-60 on this date. The employee master data changes job will read this entry on June 1, 2022 and update the enrollment record.

3. Schedule the Create or Update Benefit Enrollments for Employee Master Data Changes job daily (or based on your requirement).

4. Run Create or Update Benefit Enrollments for Benefit Master Data Changes job on required basis.

Note: Once the tracker based jobs (the new jobs) are configured, it is recommended to cancel the scheduled Benefit Auto Enrollment jobs (the legacy job) from provisioning, if a partner is available and has access to provisioning. Otherwise, leave the job as is and it will be deleted automatically once it is deprecated. In case you do not cancel it, then both the Benefit Auto Enrollment job and tracker based jobs would run in parallel, if both are scheduled at the same time. In this situation you may track the execution logs of both the jobs.


With the introduction of these two new jobs, you can achieve overall performance improvements while performing automatic benefit enrollment creation and updates.


Assigned Tags

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

      Hi Bijolesly Kurian !

      Thank you for this update. I'm just wondering, due to the decommissioning of Benefit Auto Enrolment Job, how, for example, Job Information deleted records should be processed? Previously, Benefit Auto Enrolment job managed such cases, but with Create or Update Benefit Enrollments for Employee Master Data Changes job it not possible, since we have no onDelete event type in Data Model and onPostSave event type there is nothing happens during record deletion.

      To be more clear, just imagine the following case: HR created a record in Job Information, with a change wich leads to the enrolment update, onPostSave rule created a record in the Benefits Employee Master Data Change Tracker, job updated an enrolment. After a few days HR realised that there was a mistake and deleted an incorrect record in Job Information. However, new update to the enrolment will not happen with new approach, while for the old approach this scenario can be managed.

      Author's profile photo Bijolesly Kurian
      Bijolesly Kurian
      Blog Post Author

      Hi Alexander Berezin,

      Thanks for reaching out to me. This is a valid point and currently it’s a limitation, deletion of time slice will not create a tracker entry as the delete event can’t be captured currently. But we are looking out for options in the upcoming releases to close this gap.

      With Benefit auto enrollment job also there is a problem in case of delete but with the next job run, the enrollment will get updated as of that job run date. There is still a manual effort required from admin to correct the enrollment data that was updated due to the new insertion of time slice in Job information.

      For Example: Consider that a Health Insurance enrollment is created from Jan 1st 2022 and the Employee contribution is 20$. On April 1st admin has inserted a new time slice in Job information effective from April 1st and on the same day when the benefits auto enrollment job ran, it updated the enrollment record with 30$ due to a change in employee parameter in Job information which has an impact on the employee contribution.

      Admin realized later on May 1st that this job info record is invalid and deleted it. When Benefit auto enrollment job runs on May 1st , it inserts a new time slice in the enrollment record with Employee contribution as 20$. Even though the job corrected the entry from May 1st,  there is still a wrong enrollment time slice exists from April 1st to April 30th which needs to be deleted manually by Admin.

      Similarly in the new jobs case also, admin should correct this record manually. But instead of correcting the enrollment records, admin can run the ‘Create or Update Benefit Enrollments for Benefits master data changes’ job (from admin center) on May 1st by choosing the ‘Evaluation date’ as April 1st for that specific employee, and this will automatically adjust the enrollment data as of April 1st with the Employee contribution 20$.

      So in both jobs, manual effort is required to correct the data in such cases. I hope this will be a corner case and also such mistakes will not be happening for many users.



      Author's profile photo Alexander Berezin
      Alexander Berezin

      Thank you Bijolesly Kurian !

      Author's profile photo Paco Adrian Paul Pascua
      Paco Adrian Paul Pascua

      Hi Bijo,

      I noticed that the depreciation of the old enrollment job as moved from H1 2023 to H2 2023, is there a specific reason for this? is there a limitation to the new job that might have caused the delay in the depreciation of the old one? would love to hear from you.


      Paco (ex SAP)