Skip to Content
Technical Articles
Author's profile photo Soumyajit Roy

Propagating Original Start Date to Rehire with new employment.

Hi Successfolks!

Trust everyone is keeping safe during this challenging times. This blog is an workaround for a most frequently asked requirement from the Employee Central customers .

Introduction: Employees’ original start date is a very important field in Employee Central as it is required in many calculations such as Benefits eligibility, Payroll, Time Account accruals.

Background: In employee central, when you Rehire Inactive employee with New Employment, the Original Start Date in the employment details portlet will not be the same as the old employment’s Original Start Date, because the new employment will have a new user id and the original start date for the new employment will be set from the date of rehire. Please refer to the KBA-2080126 – How do Employment Information > Hire Date and Original Start Date fields work?

It’s been an ask from many customers on how to bring the Original Start Date from the Old Employment in case of rehire with new employment.

As it is possible to override the Original start date field defaulted value during the hire/rehire process, I have tried this as a workaround that can automate the propagation of the Original Start Date from the old employment during rehire on new employment using intelligent services and integration center.

Workaround: Below are steps for configuration.

  • Create a custom MDF lookup table to store the Original Start Date for terminated employees. The key fields should be Userid(optional), PersonID, Original Start date. As the PersonID of an employee is the same across all the assignments, we will store the Original Start Date of terminated employee from the old assignment.
  • Run the ODATA API Meta-data refresh in the Successfactors System.
  • Make the standard Original Start Date field read-only for the EC data model in the Manage Business Configuration
  • Create an intelligent services integration to populate Original Start Date, PersonId, Userid in the custom MDF table on employee termination event.
    • Step 1: Launch the Intelligent Services tool and Choose the Employee Termination Event to build an integration.
    • Step 2: Choose Custom Activities–>Integration
    • Step 3: Choose to Create New Integration from the Pop-Up screen. This will redirect you to the integration center.
    • Step 4: Choose Destination Type: Successfactors and Format: OData V2 and choose to create.
    • Step 5: Follow the wizard to create a custom integration and maintain the field mappings as below:
    • Step 6: Click Next –> Next –> Review and Run Tab. Save the integration and Click “Go to intelligent Service Center”
    • Step 7: In the Intelligent Service Center, Choose the integration we built above and click Add Integration to add it to the event flow.
  • Create an onPostSave rule for the Job Information portlet to raise the employee termination event which will trigger the integration that we built before. The event reasons in the rule configuration must be changed as per your EC configuration.
  • Create an onSave rule for the Employment Details portlet to default the Original start date from the lookup table using the PersonId field as query parameter. The first match in the lookup should be sufficient to pull the Original Start Date from the employee’s hire record.
    • Make sure that rule condition value is set only for rehire on new employment event. (a new event reason will be required for rehire with a new employment use case).
    • Please note that while running the Add new employee wizard or Manage Pending Hires wizard, the Original Start Date will appear to default from the latest hire date but after the hiring is completed and the data is saved, it will be updated from the old employment.


  1. Terminate an employee.
  2. Rehire the employee with new employment.
  3. Check the Employment Details portletàOriginal Start Date.
  4. The Original Start Date should have the same value as the Old Employment.
  5. Snapshot of the Old Employment and new employment after testing.


The workaround has worked for me and did run several rounds of tests. I recommend thorough testing of this integration before production deployment and validation from the customer.

Please share your thoughts and comments if you find any broken scenarios. I will also try the same and amend the blog as needed.


Happy implementing and using Successfactors.

Thanks, and regards,

Soumyajit Roy

Assigned Tags

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



      Very Well explained - Step by Step. Good

      Author's profile photo Soumyajit Roy
      Soumyajit Roy
      Blog Post Author

      Thank you.

      Author's profile photo Niranjan Ghosh
      Niranjan Ghosh

      Very Nice and Useful 🙂 Keep up the good work.

      Author's profile photo Soumyajit Roy
      Soumyajit Roy
      Blog Post Author

      Thanks Niranjan.

      Author's profile photo Adam Panuchno
      Adam Panuchno

      Great article thanks. How does this comply with concurrent employment?

      Author's profile photo Soumyajit Roy
      Soumyajit Roy
      Blog Post Author

      Hi Adam,

      Thanks for your comment. Could you please elaborate on the scenario further?

      Rehire with new employment will not be applicable if you terminate the additional assignment of an employee. The main assignment will still be active.

      thanks and regards,


      Author's profile photo Adam Panuchno
      Adam Panuchno

      Hello Roy,

      True. Thanks.




      Author's profile photo Lalit Sharma
      Lalit Sharma

      Nice blog, very informative.

      Author's profile photo Gaetano Clemente
      Gaetano Clemente


      great article. I'm trying to apply this workaround to Concurrent Employment with errors. I traced the onSave rule for the Employment Details portlet and this is the result:

      The expression 'context.userId.employmentInfo.personInfo.person_id_external' could not be evaluated completely as the property 'userId' of 'context' is found to be NULL at 'context.userId'. Evaluation result is NULL.

      It seems that at the time I save the concurrent employment, the new userID is not yet generated, therefore the person-id cannot be retrieved and the lookup on the MDF table cannot be performed.

      You should have faced the same issue in the Rehire with new Employment scenario.

      How did you solve this?


      Author's profile photo Daniel George
      Daniel George



      Thanks for this great article!

      Quick question, from my understanding for this to work, the admin/HRBP must enter users Person IDs into the custom MDF lookup table before actioning the process. Is there a way to automate this step?


      Author's profile photo Soumyajit Roy
      Soumyajit Roy
      Blog Post Author

      Hi Daniel,


      Thanks for your comment. You see we have created a onPostSave rule for the Job Information portlet to raise the employee termination event which will trigger the integration to save the PersonId in the mdf lookup table automatically. This will automate the process henceforth. But for employees who are already terminated, a data import will be required.

      Hope this helps.

      Thanks and regards,