Technical Articles
SuccessFactors Recruiting Checks & Balances
Introduction
For many companies, the internal business process for job posting approvals and offer approvals vary based on the pay grade and amount of the offer being extended in relation to the pay range. While we anxiously await the announcement for when business rules functionality will be available for route maps for offer approvals and requisition approvals (see IR’s below), I wanted to share a process I have configured using recruiting business rules and different offer detail approval templates to accomplish similar business goals. Hopefully when the IR”s are delivered they will be a much more robust solution allowing for dynamic route maps based on all organizational data – something similar to how business rules work to assign a workflow for employee central transactions would be amazing!
IR 228802 – [Rules] [Offer Approval] – Define Offer Approval Flow with Business Rules
IR 230867 [Approval] – Dynamic Route Maps for approval scenarios
From a user experience and process integrity perspective, the solution(s) I will outline here are less than ideal as they still allow for user error, utilize alert/pop up message boxes to force user behavior which detract from the recruiter experience/increase time spent on the task, and require duplication of data (fields added to the requisition template and duplicate offer and/or requisition templates). All screenshots are from our test environment.
Use-Case Scenario
Offers exceeding a certain pay grade level or exceeding the midpoint of the pay range must go through Compensation Committee approval. Offers to candidates below a certain pay grade and also at or below midpoint do not require any additional approvals.
Step 1
Add pay grade & pay range fields to the job requisition template to be able to be referenced by recruiting business rules. These fields do NOT need to be visible to the recruiter, but you should add field permissions for the system admin to confirm they are populating correctly.
All fields were added to the requisition template as custom text fields (using the naming convention of preceding the field name with “req” to identify it as being a requisition field).
new custom fields on requisition to hold pay grade and range data
Step 2
Create and assign recruiting business rule to auto-populate the new requisition fields.
So that the rule won’t trigger on old/closed requisitions, the rule checks to see if the requisition status is closed before updating these fields.
business rule to populate requisition fields with pay grade and range data
Manage Recruiting Rules: assigned as on-save rule on requisition
Step 3
Duplicate/create new Offer Detail templates to be able to configure the different route maps required. For our use-case, we needed two versions: one that routes to comp committee then recruiter, and one that routes to recruiter only. Best practice is to name the templates in a manner that indicates what the expected route map will be (HRBP, Comp Committee, RM, etc.)
Approver Types available for Offer Detail (Approval) Configuring Predefined Approvers are role (operator role on requisition, including upline managers and matrix managers (most of these will work in recruiting KBA 2087940 – User Roles & Role Usage in Forms & Routing Maps within SuccessFactors Modules), user (a non-dynamic person), and recruiting group.
new approval steps for offer detail template
Step 4
Create/update/assign business rule that defaults offer approval template and assign it in recruiting rules. This needs to be done for each requisition template in your instance. It is possible for the recruiting user to over-ride the default offer approval template selection.
rule to select a default offer approval template
This rule is assigned in Manage Rules in Recruiting > Job Application > (select Job Requisition Template) > Rule for Offer Template Selection
rule assignment to default offer approval template selection
Step 5
Now it is time to create the validations on the offer approval form itself to attempt to force users to select the correct offer approval template to ensure the correct routing process for approvals.
Some rules can be used across all offer templates but some will need to be created specifically for each offer template to be able to provide a meaningful warning message.
Important Differences in Recruiting Business Rules vs Employee Central Business Rules
- OnSave rules on the Offer Detail template will NOT raise a message to the user. They execute successfully as observed in rule trace but do not display to the user. This means you MUST use an On-Change rule for the message to be observed/dismissed by the user to proceed. KBA 2716802 – Raise Message – How to prevent users from saving invalid value on Offer Detail/Job Requisition by onChange trigger – Recruiting Management
- Message severity doesn’t impede user progression in Recruiting. While if you choose “Error” severity in Employee Central, it drops changes and/or will not allow the user to proceed, in recruiting all it does is change the appearance of the message box. They can still dismiss the message and continue without changing their entry. KBA 2610536 – SuccessFactors Recruiting Business Rules: Raise Message
Please vote for IR 278565 Recruiting Business Rules Raise Message Enhancements!
To workaround these limitations, I have the validation rule on template selection also set a required field value to Null (in this case, annualized salary). This prevents the user from moving the offer approval forward to the next step simply by dismissing the message.
Here is the rule that tells users when they are using the Recruiter-Only template when they should have used the template that routes to the Comp Committee. This is a rule created with the specific template as the base object (it really should be named something better than the generic “Offer Approval”).
Here is the rule assigned on the other template – where they selected the Comp Committee template but do not actually need Comp approval.
Both of these rules are necessary, because the offer amount vs midpoint calculation is not available until after the recruiter has filled out the amount field (in our instance – if your recruiters populate this value as an application field that then propagates to the offer approval you can include it in the default template selection rule) and because the user is able to over-ride the default template selection.
End Result
If I enter a value over midpoint, I receive this warning message and the Annualized Salary field is reverted to Null.
message box warning
If I dismiss the message and try to send the offer for approval anyway, I am unable to do so as Annualized Salary is a required field.
required field error on offer detail
Conclusion
While business rules that enable dynamic route mapping for job requisitions and offer approvals in recruiting will be a much better solution when finally available, it is possible to accomplish similar business goals today using recruiting business rules.
Hi Angela Pullano,
This is a good workaround. But I also want to discuss my idea about this issue with you.
I think that it also is applicable for JR approval.
Do you think this idea is feasible? I appreciate it if you could give comment.
I am unsure of what happens if there is an invalid approver assigned to the offer detail AND the Approval Workflow Editable attribute is set to False. (We have it set to False so that recruiters can't remove/change the Comp Committee approver)
In your scenario, do you have to set the Approval Workflow Editable attribute to True to enable the recruiter to correct the invalid approver value to be able to send the form to the next step?
Without position can pay range display in Job req. ? I mean customer has not implemented position management and wish to display pay ranges based on Jobcode/Jobclassification.
This depends on how/where the pay ranges are configured in your system. If the range values are included as fields in the job classification object, then it is pretty straightforward to reference those values to populate fields on the job requisition or to validate offers.
Best regards,
Angie
Hi Angela,
Thanks for this! May I ask please - do you have a workaround for the scenario where an approver (at step 4 of the route map) wants to reject the requisition and send it back to the originator (step 1). At the moment, the only solution is to 'Send to Previous' step and like this until it goes back to Step 1. However, this is not something that we would like to do everytime a req is rejected as it involves multiple approvers needing to take action and send to Step 1.
Thanks for your advice,
Steffie
Hi Steffie,
While there are a few customer influence requests in progress, unfortunately the current tools and functionality supported for requisition approvals and routing management are simply not as robust as those for other forms and EC workflows.
To send a requisition back to the originator without the req needing to go backwards through the approval chain one step at a time (with each approver clicking the 'send to previous step' button), a system admin will need to use the route form tool, which SF recommends against using. (KBA 2351811 - Can I Route Recruiting Forms Using Route Form From Admin Center? - Recruiting Management)
Here's a few related Influence Requests to vote for!
IR: [Approval] - Job Requisition rejection and submission to another approver
IR: [Approval] - Remove ad hoc approvers from the requisition
IR: [Approval] - Ability for Admins to Add/Replace/Delete & Change order of Approvers
Best regards,
Angie
Thanks for replying Angie. I have voted on the enhancements, eagerly waiting for SAP to release a worthy solution 🙂