Human Capital Management Blogs by Members
Gain valuable knowledge and tips on SAP SuccessFactors and human capital management from member blog posts. Share your HCM insights with a post of your own.
Showing results for 
Search instead for 
Did you mean: 

Hello everyone!

We have an increasing amount of customers that have been implementing the SAP HXM SuccessFactors solutions which includes the Recruiting, Onboarding and Employee Central modules.

And today I bring you a solution that I have delivered for a customer that I believe others have faced as well.

Process Requirement

Considering that integrated landscape, several EH&S systems will need to consume data from the SAP SuccessFactors platform at some points as some candidates goes through the Health Checks before starting to work as an employee.

However, we find some different states that a person can become within that process flow as I describe below:

  • Recruiting: the person applies for a job requisition, fill out the profile and goes through the recruiting process as CANDIDATE.

  • Onboarding: after completing the Recruiting process that person is chosen and has some activities to do such as providing further personal information, signing contracts as an ONBOARDEE.

  • Employee Central: finally, after the Onboarding process is finished, the person is hired as an EMPLOYEE.

Person: Candidate - Onboardee - Employee

The SAP SuccessFactors platform does integrate in a smooth way, that is seamless to the end-user.

However we may find some technical limitations that makes us struggle to "link" the person throughout that process for other systems in the API, let me put some light into it considering that Health Check scenario:

  • Recruiting: The person while in Recruiting module is considered a Candidate as I described above, and receives a Candidate ID. Then we can use a status in the Recruiting pipeline as Health Check to send this candidate information to the EH&S system.

    • Often, the EH&S systems also works with Candidate / Employee definitions.

  • Employee Central: After that person is hired as an Employee, it receives an Employee ID which is different from the Candidate ID.


Technical Challenge

From an API perspective, there's no link from between Candidate and Employee tables. That means that if we use the API to check on Candidate data and Employee data, we will not find a connection of that person as candidate and employee even though we have that same person in both tables.

That makes it difficult or impossible for the EH&S system to link the Candidate and the Employee.

So let's consider John Lastname as our person:

  • In Recruiting, John is the Candidate 2345, and his information such as Name, Date of Birth is sent to EH&S for Health Check using the API.

  • Then after he's gone through hiring process in Employee Central, he is now the Employee 20000123.

    • Then the EH&S system needs to convert the Candidate 2345 to the Employee 20000123 in their system.

Candidate ID vs Employee ID



In the searches for the solution, I found a PDC post (Partner Delivery Community - Partners and SAP Only) which Andy Athanur (SAP Employee):

So in order to create a way that other systems can merge the person in their system, we can set up some configurations in Recruting and Employee Central:

First, in Recruting, in the Candidate Profile Template (CPT) datamodel, add Candidate ID field below if not configured yet:

Candidate Profile Template - Candidate ID

In Employee Central, add a custom-string field for the External Candidate ID in Employment Info block (portlet):

Employment Information - External Candidate ID (custom-string)

Then on Candidate to Employee integration template, add below field-mapping in order to link the External Candidate ID to that custom string field created in Employee Central.

Candidate to Employee Integration Template - Field-mapping

The look of the information in the Manage Pending Hires is this:

Manage Pending Hires - External Candidate ID


After that, set a onSave rule to take out the .00 of the end of the "double" number of the External Candidate ID:

Business Rule - .00 Substring


Then the final result is that:

Final result


We have some KBA's that could have helped if were clearer into the system behavior:

2829436 - How to find the Employee Id from the Candidate entity - Recruiting Management

  • The User ID is synced to the Internal Candidate profile ONLY (as per some of my personal testings)

    • External Candidate: Someone "outside" of the organization that registers itself as a External Candidate using its own personal email for a Job requisition.

    • Internal Candidate: Every employee is granted a Internal Candidate Profile to apply to internal opportunityes (Careers tab)

    • KBA = 2921329 - Internal candidates must apply on the internal career site

2249476 - External to Internal Candidate Profile conversion - Recruiting Management

2711168 - Candidate Search using Employee ID does not show any result


So if anyone has faced this and could manage to "link" Candidate into Employee in a standard way please let me know in the comments.


Hope it can be helpful for you as it was for me and my customer.


Thank you Andy!