SuccessFactors Employee Central & Recruiting: configuring the New Hire process integration
Like any integrated system, customers using both SuccessFactors Recruiting and SuccessFactors Employee Central can have seamless integration between the applications. Application, Requisition, Offer, and Candidate data from Recruiting can be mapped to Employee Central fields in the New Hire process so that data is pre-filled for the end user. In this blog, we’ll go through the steps to configure the mapping and how to operate the integration.
Prerequisites
Before mapping the fields, the Hirable status needs to be added into the Base list of statuses in Recruiting. The steps for this can be found in the SuccessFactors Recruiting Management Implementation Guide on SAP Service Marketplace in the Hire & Onboard section, in sub-section 8.1.1 Employee Central (RCM to EC Integration).
The consultant(s) doing the mapping should be familiar with the Employee Central data model and/or the Recruiting data model.
Whoever will perform the hire in Employee Central needs to have permission to access the Manage Pending Hires transaction.
The mapping template
The process of hiring an employee in Employee Central that has originated in Recruiting is called Candidate to Employee Conversion. The mapping of the Recruiting fields that need to be used in the New Hire transaction in Employee Central is made in the transformation XML template, which can be downloaded from Provisioning using the Import/Export Candidate to employee integration template option under the Managing Recruiting heading, as seen below:
The transformation template is made up of one main XML element (<object-mappings>), which has two child elements that represent the two major sections of the template. The <object-mappings> element has 3 mandatory attributes that must be applied. It should look like this:
The two child elements within the <object-mappings> element are:
- <entity-mapping-details>: this element is for mapping the fields
- <role-mapping>: this element is for mapping roles
The <entity-mapping-details> element contains a number of <mapping-attribute> elements that represent each mapping. We’ll look at these shortly. The <role-mapping> element contains <target-roles> and <manager-roles> elements, which we’ll discuss a little later in this blog.
A basic example of the transformation XML can be seen here:
Configuring the mapping
The mapping itself is fairly straightforward. There is an element called <mapping-attribute> that has two child elements: <source> and <target>. Each element represents one field mapping. The child elements have attributes to define:
- <source>: source field and source element (Job Requisition, Application, or Offer Letter)
- <target>: target HRIS element and field
This is formatted as such:
To look at a practical example, let’s look at the mapping of surname:
This tells us that the Recruiting fields is lastName and it comes from the Application (application). It will be mapped to the Employee Central field last-name that is in the personalInfo HRIS element (Personal Information portlet on the Personal Information screen).
The three entity types used for the <source> entity-type attribute are:
- Application: application
- Job Requisition: jobrequisition
- Offer Letter: offerletter
The following target HRIS elements can be mapped to:
- personalInfo
- personInfo (only field date_of_birth is supported)
- emailInfo *
- phoneInfo *
- imInfo *
- recurringPayComponents *
- nonRecurringPayComponents *
- addressInfo (only address type home is supported)
- jobInfo
- compInfo
- employmentInfo
- emergencyContactInfo
- nationalId
Those marked with * can have multiple values sent to Employee Central by mapping a different keys for each entityType. Let’s look at Phone Number as an example:
Here we can see that both phone numbers (homePhone and cellPhone) are mapped to the same field in Employee Central (phone-number). However, these are differentiated by the Picklist external code of the value: H for Home phone and C for Cell phone.
Role Mapping
Because the candidates in Manage Pending Hires are not yet an employees, the permissions of the user cannot be applied to them. In order to apply permissions to enable the user to view and hire them, target roles are mapped with the <target-roles> element within the <role-mapping> element. Typically the user can only view candidates in Manage Pending Hires where at least one requisition operator is in the Target Population that is subject to the Permission Role containing the Manage Pending Hires access permission. However, mapping different roles (using the <roles> element) enables additional permissions to be available to the user that accesses Manage Pending Hires. There are five roles available:
- O: Recruiting Operator
- V: Requisition Approver
- R: Recruiter
- T: Sourcer
- G: Manager
While many customers do not change the recruiter role (R), some customers do re-use the Sourcer role (T) for another purposes (e.g. HR). Some caution should be applied when using the Requisition Approver role (V) as approvers can be added to a requisition on an ad-hoc basis and therefore it reduces how secure access to Manage Pending Hires can be.
In addition to mapping permissions, the manager role can be mapped using the <manager-roles> element within the <role-mapping> element. Again, the <role> element is used to map the role, although only one value can be mapped within the <manager-roles> element. Typically, this would be the manager role (G).
A sample code might look like:
Notes on the integration
There are a few notes to consider for the integration, including:
- The country used to determine country-specific fields for address, Job Information, and Compensation Information is derived from the address of the candidate
- If the country is passed over from the address it will be overwritten by the country of the Company if the country of the Company is different from the country passed from Recruiting
- The National ID country and type are not stored in Recruiting and therefore no values are transferred to Employee Central, although the values can be selected during hire
- A single frequency is used for all Pay Components sent to Employee Central and it must match the Code of the corresponding Frequency Foundation Object
For more details please see section 16.1.1.3.3 (Configuring Transformation Template) of the SuccessFactors Recruiting Management Implementation Guide.
How the integration works for the end user
In order for a candidate to be hired into Employee Central, a candidate must go through an approved Offer Approval process and then have their status set Ready to Hire in Recruiting.
Candidates are hired into Employee Central using the Manage Pending Hires transaction in OneAdmin, seen below:
The Pending Hires screen shows all of the candidates that are in Hirable status in Recruiting, as seen below:
To hire a candidate, the user simply selects the Hire button and this will launch the New Hire transaction in Employee Central. In this example, I’ll select the Hire button for Caroline Matthews. As we move through each stage of the New Hire process, we can see different data that has been pre-populated from Recruiting. For example, the employee’s address:
And Job Information:
And Compensation Information:
Once the candidate is hired in Employee Central then the User ID is sent to the Candidate Profile and the Candidate Profile background elements synchronize with the Employee Profile. We can now see the employee in Employee Central!
Summary
With a simple knowledge of XML – the staple of most SuccessFactors’ consultant’s weaponry – and a knowledge of Employee Central HRIS elements it is possible to quickly configure the transformation template that defines the field mapping used for the candidate to employee conversion between Recruiting to Employee Central. The robust integration is already in place, so simply configuring the transformation template should get the integration running quickly. This is another example of cross-suite integration in the SuccessFactors HCM suite at work.
Luke, Thanks for the excellent article, Knowledge of XML & Employee Central HRIS elements really enables us to give robust Integration solutions to clients.
Thanks for sharing, Luke!
Do you know, is it possible to configure the Internal Hire screen - visibility of pay components from offer, for example?
Thanks Vasily. I've not seen the Internal Hire screen at any of my customers or in my demo systems. I'll look into it.
Hi Luke! The Internal Hire screen appears when hiring existing (active) EC employee. The standard event-derivation and workflow rules are used at this case and the process looks like transfer.
But there are some problems with data from the offer - I'll open the ticket.
Interesting Vasily as I've not seen it and I also reached out to a consultant with 4 years of implementing EC and she has never seen it.
Hi Luke,
Great article ! .Thanks for sharing.
I am trying to establish an integration between RCM and EC but no candidates are showing in “Manage Pending Hires” despite moving them to the “Ready to Hire”(Hireable) status.
Please find below the steps carried out at my end:
Please let me know if there are any other prerequisites that I might be missing.
Any inputs would be highly appreciated!
Thanks,
Sahiba
Hi Sahiba,
For all candidates to be hired in the Managed Pending Hires, they would first need to go through an Offer Approval stage. It is a manadatory step that needs to be done.
Hope this helps!
Luke,
That was a very well written article. Thank you so much for sharing.
Regards,
Sui Lin
Thanks Sui Lin for checking into this.
Candidates have passed through the offer approval stage.
If you see my response above, we have taken care of this as a prerequisite.
Is there any anything else that we might be missing ?
Thanks,
Sahiba
Did you check the permissions?
Hi Sahiba,
did you get the solution for this? if yes, can you share that with me please.
I'm also facing the same issue,
Thanks,
Laxman Keetha
Hi Laxman,
Please check these links (3rd link is well explanation of candidate not visible in MPH) , hope this help:
2252280 - Candidates not appearing in Manage Pending Hires (https://launchpad.support.sap.com/#/notes/2252280/E) 2386726 - Candidates in Manage Pending Hire not visible to HR Manager
https://launchpad.support.sap.com/#/notes/2386726/E
2329965 - Manage Pending Hires - How to control which candidates you see in MPH wizard
https://launchpad.support.sap.com/#/notes/2329965/E
Regards,
Ankur
Thank You Luke!
Your postings are always very elucidative and helpfull!
Hi Luke,
Can you please us in a issue we are facing in RCM and EC integration for employee hiring. We are not able to pass Hiring Manager from RCM to auto populate in EC as Line manager when we are hiring a employee.
We use the below code in integration template.
<mapping-attribute>
<source refid="hiringManagerName" entity-type="jobrequisition"/>
<target refit="jobInfo.manager-id"/>
</mapping-attribute>
Hi Rohit,
Does the field hiringManagerName contain the name of the manager? The field jobInfo.manager-id is a User Id field (not name).
Best regards,
Luke
Hi Luke,
We are able to make the mapping right. Have to correct the mapping field of EC used.
Thanks,
Rohit
Another great blog Luke!
Question: What source and target fields did you use to map the Pay Component?
I've been trying to get it working using the implementation guide but I'm not able to transfer the Pay Component.
Kind regards,
Maxime
Hi,
Try to use below code for mapping pay component.
<mapping-attribute>
<source refid="offerSalaryBase" entity-type="application"/>
<target refit="payComponentRecurring.paycompvalue.Base Salary"/>
</mapping-attribute>
source you can change as per your field mapping.
Thanks,
Rohit
Hi,
I have multiple pay components to be pre-filled from Job Application to Compensation portlet in EC. But the mapping is pre-filling only first pay component and neglecting all other subsequent. Is there a way to pre-fill all the pay components from application to EC?
Regards,
Goutham
Hi Luke,
Thank you for preparing and sharing this Brilliant article!
I am facing an error when I try to hire the pending hires. Please see the below error and let me know what could be probable reason behind this.
Best Regards
Aswathy
Hi Aswathy,
You need to pass a country over to EC in your configuration. The country is used for country-specific configurations within EC.
All the best,
Luke
Sure, thank you!
Hi Luke!
Thank you for the article, brilliant as usual.
Can you please inform if country specific fields (globalInfo_BRA) are also integrated between RCM and EC?
Kind regards and thank you once again.
Thanks Michelle. globalInfo is not supported by the integration.
Hi Luke,
thanks for the article. Are you planning for any article on RCM-ONB-EC integration? If there is already one, would you please direct me?
Thanks
Joe
There are some blogs already and you can find them in SuccessFactors - Useful Resources and Documents
Hi Luke,
Thanks for such an informative article. We are trying to configure this in a demo system and have followed all the steps mentioned in the handbook but still facing an issue. The name of the employee for example is not populating. Similarly we are unable to get in other fields like position information, location, department for the new hires in EC. Attaching a screen sot for reference
Any help will be highly appreciated.
Thanks in Advance!
Regards,
Manali
Hi Manali,
These values need to be mapped from the Offer Letter to show here.
Best regards,
Luke
Thank you so much for the details provided. Post is very helpful.
Are there any alternatives to map or migrate EP background information to EC MDF objects?
Thank you in advance!
Kind Regards,
Maria
Hi Maria,
I don't believe there is today.
Best regards,
Luke
Hi Luke,
Thanks for this post. Every blog post I have read from you has been very informative.
How do we default the Event Reason when we run Manage Pending Hire?
Best Regards,
Harshal
Thanks Harshal! It’s not possible to default the Event Reason in the Add New Employee Wizard.
Hi Luke,
I have an issue with one of the customers, wherein - when adding an employee via "manage pending recruits": the address field (address line 1-3, city, zip, state, country) mapping does not work.
The customer added the mapping attributes to the integration template according to the implementation guide. It worked fine in Dev instance, but fails in Prod instance with absolutely no change in configurations.
Is there anything specific that they need to check? This issue has been open for a long time. Any help/pointers here is highly appreciated.
Regards
Chetan
This comment is a few months old so not sure if you got this resolved or not, but I had to help a customer with this integration recently and they had a similar issue where the address was not defaulting although other fields were and the mapping was identical to what is shown in the implementation guide. I have set this integration up before between EC and RCM and recently did it with the FO/GO which was a bit different so I am familiar with how to do it, but for a while could not figure out why it was not working in this particular instance.
Ultimately after looking into it and banging my head against the wall for a while I found in their data model the "country" field was marked as a custom field when it should not be. Once I changed the XML for country from custom="true" to custom="false" then the address data started getting filled in correctly from manage pending hires into Employee Central. Hope that this may help someone who faces this issue in the future as sometimes the smallest things can cause issues.
Hello Imran,
I know this is an old post but I am facing some issues with the mapping between HRIS address fields and de standard fields; I am on a global implementation that has two countries (MEX and USA), and for the mapping of the field state I am facing issues as I need to select a picklist into the standars SATE field (that would be the state picklist) but for each country by default we have to different state picklists on Address HRIS section STATE_MEX and STATE_USA so I am not sure how to continue.. have you faced this?
I Luke, one question. What´s the purpose of a hiring manager? must be always the manager of the position we are integrating? Thanks in advance.
Hiring manager is someone that manages the hiring of employees or manages job openings, etc.
Hi Luke,
I am trying to enable enhanced manage pending recruits (the one allowing searching options) and I am stuck with configuration columns task. I simply do not have this option available to me in Sandbox where I test.
Do you by any chance know if configuration of columns should be enabled in provisioning?
Thank you in advance for your reply.
BR,
Joanna
Did you follow all of the steps in the guide:
https://help.sap.com/viewer/42b5f850176d4b5cbdb876653046274e/1905/en-US/4db7d98a065f40a7b44285094256f035.html
Yes, that was exactly the instruction I used. I got stuck with columns configuration as this option is unavailable.
BR, Joanna
Hi Luke,
Any idea on what might have happened?
BR,
Joanna
I'm not really sure. I am able to access the "Configure Columns for the Manage Pending Hires" transaction via the Action Search.
Hi Luke,
Thanks a lot for such a wonderful and helpful article.I have an issue with pay competent mapping. Could you please help me?
I have multiple pay components to be pre-filled from Job Application to Compensation portlet in EC. But the mapping is pre-filling only first pay component and neglecting all other subsequent. Is there a way to pre-fill all the pay components from application to EC?
ex: I have basic pay, car allowance, HRA and so on. Currently only Nasic pay is flowing to EC not all other. Please help me.
Regards,
Thanks Gouthamrushi. All pay components should be pre-filling. Have you checked out the configuration from SAP? It can be found here:
https://help.sap.com/viewer/8477193265ea4172a1dda118505ca631/2005/en-US/7ada56fff84042c890dcceb8a315fcfb.html
Hello Luke,
Thanks for this informative article. I do have another questions though, could we do a hiring directly into EC without going through recruitment? If so, could we automate it using an Inbound Integration Center interface?
Looking forward to your answer. Thanks a lot.
KR,
Chris
Thanks Chris. You can hire employees directly in Employee Central or you can use an API to insert the employee data directly into the system.
Hi Luke
Thanks for your contribution to the SF fraternity.
Are we able to set up RCM-Employee Profile integration in a Non-EC environment?
Thanks to answer.
Praveen
Thanks Praveen. The Candidate Profile syncs with the Employee Profile automatically when Employee Central is not used.
Hello!
Thanks for this blog! I am facing currently some issues mapping between HRIS Address fields and Standard fields for different countries;
we need to associate to the standard field “COUNTRY” the picklist “country” that is used for RCM, but in the Address Section on EC it is not allowed to do this association as it has a standard configuration and association to the MDF object “Country” so if this is changed then we cannot capture any address info into the employee.
The second issue that we have is that we also need to map states into the standard field “STATE” the problem is that we have two countries right now and each country has got their own state picklist for example for Mexico we have: “STATE_MEX” and for USA we have: “STATE_US”, and on the standard STATE field we can only associate one picklist “state”; so before we do anything we would like to know what is SAP’s recommendation to do this because this is not specified in any guide.
Hi Vianey,
I missed your original message. Are you still facing this issue?
Best regards,
Luke
Hi Luke,
I'm having the same issue. Could you please suggest?
Best regards,
Kantiya
Hi Kantiya,
In Employee Central, Country comes from an MDF object and not a Picklist. When country isn't mapped, the other fields cannot be correctly mapped.
Best regards,
Luke
Hi Luke,
Thank you for your reply.
However, It's not yet answered my questions. Let me give you more details about Address mapping for country-specific fields.
In RC, we have a country-specific address field for each country but we need to map multiple RC fields to the same EC field.
For example, RC-Field: Region_THA and Region_KHM. These two fields have different picklists in Recruiting. But we would like to map the following RC-Field to the same field id=state in EC (Field ID= "state" is used by multiple countries but it has a different picklist in EC Data Model).
Currently, we use a XML mapping like this. You may notice that the mapping doesn't have country identifier.
<mapping-attribute>
<source entity-type="application" refid="state"/>
<target refid="homeAddress.state.current-local"/>
</mapping-attribute>
Could you please help suggest how to map the country-specific address field?
Thank you for your help
Regards,
Kantiya
Hi Kantiya,
I apologize I didn't see your message until now. You've probably got the solution by now, but from what I know there is no need to add a country identifier as the system reads the country from the application and the target refid to find the right information.
Best regards,
Luke
Hi Luke,
Is it possible to integrate Recruiting and EC having them on different instances?
Thank you for sharing your knowledge!
Regards,
Marcus
Hi Marcus,
Not using the standard integration. You would need to use API-based integration.
Best regards,
Luke
Thank you for your answer, makes sense.
Do you know if there is any material about this kind of integration available?
There's only the documentation for the standard integration:
https://help.sap.com/viewer/8477193265ea4172a1dda118505ca631/2011/en-US/599d161ac5334e108efa5e09b06b902b.html
Thank you for sharing!
Hi Luke,
what is the standard process for internal hires in an EC environment, no ONB in place? As these employees are active in the system and already hired do they get into Manage Pending Hires as Internal Hires?
Thank you!
Hi Emese,
Internal Hires go through Manage Pending Hires.
Best regards,
Luke
Hi Luke,
Thank you for the above article, it is very informative.
A quick clarification: SF delivered a field ID 'state' and not delivered 'county'. However, you have shown 'county' as application field in the mi mapping configuration in your article. Please can you clarify, thanks in advance.
As mentioned in the article, the XML is an example of a transformation mapping. In some countries, county is used instead of state.