Skip to Content
Technical Articles
Author's profile photo Eduardo Martins

Employee Referral: End-to-end solution with SuccessFactors Recruiting, Onboarding and Employee Central


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.

Solution Details

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:


Overall Recruit-To-Hire process (solution steps in yellow)

This solution has 3 major steps:

  1. Employee Referral recording and tracking in RCM or 3rd Party software
  2. Referral Bonus Details and Payment Schedule in EC
  3. 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. I’ll not cover this configuration in here but details can be found in the RCM implementation guide and in the KBA – 2081998 – Employee Referral – Recruiting Management.


ERP Amount – standard Requisition field

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).


Picklist and fields can be adjust as per customers requirements

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.


Refer Candidate via Job Search

Or using the “Add Referral” option in the Referral Tracking page.


Add a Referral

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.


MDF Object – Employee Referrals Tracking

Object Definition (Parent):

Parent Object Configuration – Extension Center

Object Definition (Child):


Child Object Configuration – to capture each Referral Details

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.


Integration Center – EE Referral – Create Items

This Integration Center job only insert the new referral information if the referred candidate has Application Status equal to “Hired”


Integration Center Job – Filter only Hired Candidates

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.


Fields mapped from RCM to EE Referral MDF object

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.


Business Rule – Lookup Employee ONB data (Save Rule Trigger)

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).


Source of Record field and Picklist

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.


Business Rule to populate Payment Details (Save and Change Rule Triggers)

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.


Integration Center – Mapping MDF to One-Time Payments

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.


Both Employee and Referred Candidate must be Active on the Effective date of payment

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.

Additional Options/Information

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:


Data can be viewed and maintained directly via People Profile

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.


The above described solution represents an easy way to integrate Employee Referral from RCM to EC, still allowing the flexibility to integrate with 3rd party ATS systems, or even manual data entering.

Automation via Integration Center allows for systematic data validation before payments are recorded in EC, ensuring compliance with the company policies.

And the MDF object/rules configuration also gives the flexibility to adjust and meet the different business requirements, to accommodate additional payment options as schedules as needed.

Hope you enjoyed this blog post and feel free to reach out to me if you have any questions.

Assigned Tags

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

      Congrats Eduardo, very detailed and nicely explained solution.

      Author's profile photo Eduardo Martins
      Eduardo Martins
      Blog Post Author

      Thanks Guilherme!

      Author's profile photo Syambabu Allu
      Syambabu Allu

      Hi Eduardo,

      Nice blog..with detailed information.

      Thank you,


      Author's profile photo Eduardo Martins
      Eduardo Martins
      Blog Post Author

      Thanks Syam!

      Author's profile photo Rinky Karthik
      Rinky Karthik

      Hi Eduardo,


      Nice use case, explanation of configuration and very helpful feature. Thanks for sharing.



      Author's profile photo Eduardo Martins
      Eduardo Martins
      Blog Post Author

      Thanks Rinky, I'm glad you enjoyed it 🙂

      Author's profile photo Gaurav Gupta
      Gaurav Gupta

      Hi Eduardo,

      Very detailed and useful business case. Hope you are doing well.




      Author's profile photo Eduardo Martins
      Eduardo Martins
      Blog Post Author

      Thanks Gaurav, it's all good here hope you're doing well too.

      Author's profile photo Eduardo Haesbaert
      Eduardo Haesbaert

      Hi Eduardo,
      Great blog post!

      Everything is very well explained, and the approach is very clever. Given that I mostly work with RCM, that was something that I always wondered, to transfer this information. It always felt somehow disconnected from the Referrer or Referee when on EC.

      Thanks for sharing!

      Author's profile photo Eduardo Martins
      Eduardo Martins
      Blog Post Author

      Thanks Eduardo!

      Author's profile photo Karthikk Prabakaran
      Karthikk Prabakaran

      Thank you for sharing this Eduardo. It's very detailed and well explained.



      Author's profile photo Eduardo Martins
      Eduardo Martins
      Blog Post Author

      Thanks Karthikk!