I recently spoke with a customer who is exploring options to manage their Employee Referral Program in SuccessFactors. However, the current Employee Referral functionality available in Recruiting only allows you to track and report the potential Amount employees can receive if the candidate referred by them is hired, and the candidate status in the process.
The problem is customers need a solution that allows the tracking of Candidate Referrals, but that also integrates with Employee Central to capture the payment dates and details of the Referral Bonuses for their employees. So currently customers (if using the tool to track Employee Referral) must generate reports and manually manage and control these payments.
In addition to the requirement above, customers also need the flexibility in how these Referral Payments are recorded in Employee Central. For example, it is very common that a Referral Bonus will only be paid to an employee 6 months after the hire date of the referred candidate and only if both are still employed and active in the organization.
In this blog post I’ll share a solution I created to handle the Employee Referral process end-to-end in SuccessFactors, from the Referral in Recruiting all the way to the Referral Bonus payment in Employee Central.
Terminology used in this blog post:
RCM = SuccessFactors Recruiting Management
EC = SuccessFactors Employee Central
ONB = SuccessFactors Onboarding
ECP = Employee Central Payroll
The overall solution design is represented in the picture below:
This solution has 3 major steps:
- Employee Referral recording and tracking in RCM or 3rd Party software
- Referral Bonus Details and Payment Schedule in EC
- Payment Recording in One-Time Payments section in EC
I’m not covering Payroll processing in this blog post, but after we have these payments recorded in EC they can be processed and paid via the standard employee data integrations with ECP or SAP HCM on-premise, or extracted via APIs or reports to integrate with 3rd party payroll systems.
1 – Employee Referral recording and tracking in RCM or 3rd Party software
For this solution I’m using the Employee Referral functionality in RCM, however this part can also be performed using a 3rd party solution and integrated directly with the object described in the next step.
In RCM the employee referral tracking uses one standard field in the Job Requisition to capture the Referral Amount, this field is required if you want to use the Referral Tracking dashboard under the Careers tab for internal employees.
In addition to the field above I created a custom field with a picklist to indicate what is the payment schedule and conditions (number of payments and dates).
With this, after the above requisition is approved and posted, an internal employee can add a referral using the “Refer Friend to Job” in the Job Search page.
Or using the “Add Referral” option in the Referral Tracking page.
And the Referral Tracking becomes visible using the Amount provided in the Requisition and reflecting the Application status of the referred candidate.
Referral Tracking in RCM – ERP Amount and Application Status
2 – Referral Bonus Details and Payment Schedule in EC
The next step is to integrate the Referral Bonus payment details from RCM into EC so we can manage and schedule the payments amounts, dates and also check the required conditions before processing as pay components in the One-Time Payments section.
I created a custom MDF object to store the Referral and Candidate data from Recruiting, the New Hire information from Onboarding and EC and payment schedule (dates and amounts). Using a MDF object gives us the advantage of making this solution easy to integrate with other sources for the Referral and Candidate information, for example if you are using a 3rd party ATS you can integrate the required data into this MDF object using API and/or file uploads.
Object Definition (Parent):
Object Definition (Child):
To integrate the data from RCM into the Employee Referrals Tracking MDF object I’m using Integration Center, where a scheduled job runs daily (it can be more frequent if needed), creates the record and populate some fields.
This Integration Center job only insert the new referral information if the referred candidate has Application Status equal to “Hired”
The Integration Center job populates the MDF object with data from the CandidateEmployeeReferral API, and the key IDs (e.g. Candidate Id and Requisition Id) so we can match the candidate information with the employee information using business rules.
Other fields are populated via Business Rules, the new hire ONB information is populated via a look-up on the Process Trigger and Process objects created for all candidates when their ONB process is initiated and maintained.
Fields populated by the above rule:
To make this solution possible to integrate with other ATS or Employee Referral systems, I added the Source of Record field, so the rules to populate/update fields based on SF ONB objects only trigger if Source of Record is equal to “ONB”. This way if you want to populate this object from another system via API or even manually or via file import, you just need to select a different Source of Record and bypass these rules (picklist options can be expanded).
And lastly another Business Rule takes care of updating the Payment Amounts and Dates, based on the selected Pay Schedule on the Requisition or directly in the object. In this example I’m using the candidate Hire Date as the reference for the payment dates, however the rule can be easily adjusted to reflect the customer business requirement.
Fields populated by the above rule, in this example 2 payments, first with 50% of the amount on the candidate’s Hire Date and another after 6 months for the other 50%:
3 – Payment Recording in One-Time Payments section in EC
The final step is to publish the One-Time Payment in EC when the scheduled payment date becomes effective, having the payment recorded as a Pay Component in EC means that the payment can be sent (via integration or reports) and processed in payroll.
Pre-requisites in EC:
- A non-recurring Pay Component must exist in the system (example below)
- Assign the Pay Component to all countries, if you are restricting via association with the Country/Region object
- Grant permission in RBP to view/edit the above pay component
The publishing process happens via Integration Center, this integration runs daily (or more frequently if needed) and creates the corresponding One-Time Payments based on the Payment dates in the MDF object.
However, we also need to confirm the payment is still valid according to the Employee Referral Program company rules. In my business example here I’m considering that both Employee and Referred Candidate (now also an employee), must still be active in the Organization on the effective date of payments.
After the Integration runs, we can see the pay component published in the One-Time Payment section of the Employee and ready to be processed by payroll.
And in 6 months, if the above conditions are still true, then the second payment will also be published accordingly.
If you want to make the Employee Referral custom MDF object visible on the People Profile, so employees and/or managers can see it. This is easily achievable by creating a screen UI for the object and assigning it to a sub-section in the People Profile configuration.
Then on the Profile Page:
Also, like any other MDF object, this data can also be used in Reports and Dashboards. This way Managers, HR and Payroll can see what Referral Bonus payments are planned.