Integration between Compensation and Employee Central in SuccessFactors
Compensation Planning is an objective way of rewarding employees based on the performance and retaining valuable employees. Compensation Planning focuses on how a company allocates salary, bonus, stocks and one time lump sum disbursements. Employee Central captures information about a company’s organization, pay, job structure and employees.
Compensation can be implemented as a standalone module in SuccessFactors. If Employee central is also implemented, then Compensation plan template can be configured to fetch employee data from Employee central.
1. Enabling integration
Preparing the Compensation Plan Template for Integration
The compensation plan template is EC-enabled when it includes the attribute ‘effectiveDate’ in the comp-config section. The data as on the ‘effectiveDate’ would be fetched from EC into the Compensation form.
<comp-config showFormRatingAs=“number-text” functionalCurrencyCode=“EUR”
baseCurrencyView=“localCurrencyCentric” autoSyncP4PData=“true”
effectiveDate=“2015-04-01” >
With 1505 release, this option is available in compensation form template ‘Settings’.
The effective date would be displayed on the compensation form as shown in the sample screenshot below.
i. Hybrid mode
A compensation plan template can be hybrid or non-hybrid. A hybrid template is used when a company has some users that are not in Employee Central. It is NOT possible to select some data from Employee Central and the remaining data from the user directory (UDF) for the same user. In this mode, both importkey and mapping with EC field has to be maintained. System automatically fetches the data for EC employees from EC and that for non-EC employees from the user directory (UDF) This mode is not recommended.
<comp-config showFormRatingAs=“number-text” functionalCurrencyCode=“EUR”
baseCurrencyView=“localCurrencyCentric” autoSyncP4PData=“true”
effectiveDate=“2015-01-01” isHybridMode=“true”>
ii. Non-hybrid mode
If the tag ‘isHybridMode’ is not set to ‘TRUE’, it is non-hybrid mode. All employee data must come from EC. It is not possible to have a combination of data sources. The data source is always EC. ‘importkey’ tag is not supported in custom fields and hence they should be removed from the template. This includes importkeys defined in the Budgets and Rating Source sections also. Data cannot be imported for any employee.
2. Mapping the fields to fetch information from Employee Central to Compensation
Compensation can currently retrieve data from the following Employee Central components
- jobInfo
- compInfo
- payComponentRecurring
- payComponentNonRecurring
- personalInfo
- employmentInfo
Compensation fields can be mapped to individual pay components, a pay component group or to any of the other EC components mentioned above. Related salary fields (e.g. curSalary, salaryRateType, salaryRateUnits, localCurrencyCode etc.) must be mapped from the same recurring pay component.
The xml code to map a field is <comp-field-definition……………………/>
Complete code is given below.
<comp-field-definition id=“salaryType” isCustomField=“false” isVisible=“true”
useFor=“salary” importKey=“SALARYTYPE” readOnly=“true” hidePercentage=“false”
hideAmount=“false” percentageReadOnly=“false” reloadable=“true”>
<comp-field-label><![CDATA[Salary Type]]></comp-field-label>
<comp-ect-input-field-map componentType=“payComponentRecurring” componentCode=“Base Salary” fieldName=“frequency”/>
</comp-field-definition>
In this mapping,
- componentType specifies the type of EC component from which the data will be retrieved.
- componentCode is only valid for the component types payComponentRecurring, payComponentNonRecurring and payComponentGroup. It will be ignored for all other component types.
- fieldName is the EC hris-field from which data will be retrieved.
Mapping for paygrade is given below.
<comp-field-definition id=“payGrade” isCustomField=“false” isVisible=“true”
useFor=“salary” importKey=“PAYGRADE” readOnly=“false” hidePercentage=“false”
hideAmount=“false” percentageReadOnly=“false” reloadable=“false” >
<comp-field-label><![CDATA[Pay Grade]]></comp-field-label>
<comp-ect-input-field-map componentType=“jobInfo” fieldName=“pay-grade”/>
</comp-field-definition>
Referring to a Foundation object
It is possible to define mapping to a foundation object or a property of the foundation object. Mapping for Location is given below.
The mapping below, gives the location code
<comp-field-definition id=“CLOCATION” isCustomField=“true” isVisible=“true”
type=“string” useFor=“salary” readOnly=“true” hidePercentage=“false”
hideAmount=“false” percentageReadOnly=“false” reloadable=“false”>
<comp-field-label><![CDATA[Location]]></comp-field-label>
<comp-ect-input-field-map componentType=“jobInfo” fieldName=“location”/>
</comp-field-definition>
If the name of the location is required, then the code has to refer to the respective property of the foundation object.
<comp-ect-input-field-map componentType=“jobInfo” fieldName=“location.name”/>
Mapping PM rating (Performance management module is not implemented in SF)
In such case, PM rating has to be stored in a custom field in EC e.g. in ‘Employment Details’ portlet. Same is mapped in the rating source section in the form template.
<comp-rating-source useFor=“salary” form-id=“0” is-default=“true”
completed-only=“false” use-calculated-rating=“false”
import-from-assignment=“false” scaleId=“Rating_scale”>
<comp-ect-input-field-map componentType=“employmentInfo” fieldName=“custom-double3”/>
Mapping PM rating from Performance management module in SF
In such case, PM form has to be linked to the Compensation template. The configuration in the instance as well as the xml code is given below.
<comp-rating-source useFor=“salary” form-id=“1000” is-default=“true”
completed-only=“false” use-calculated-rating=“false” import-from-assignment=“false”
scaleId=“IntScale” ratingType=“overallPerformance”>
Proration Configuration
For configuring proration based on hire date, hire date from EC has to be mapped to the standard ‘Salary Proration Start Date’ field in the template. No mapping required for ‘Salary Proration End Date’ or ‘Prorating’ fields. Details are given below.
<comp-field-definition id=“salaryProratingStartDate” isCustomField=“false” isVisible=“false” useFor=“salary” readOnly=“true” hidePercentage=“false”
hideAmount=“false” percentageReadOnly=“false” reloadable=“false” displayOrder=“23” exportable=“false”>
<comp-field-label><![CDATA[Proration Start Date]]></comp-field-label>
<comp-ect-input-field-map componentType=“employmentInfo” fieldName=“start-date”/>
</comp-field-definition>
For proration based on percentage, the percentage has to be stored in Employee central and mapped to the standard ‘Prorating’ field in the template.
3. Eligibility rules
For the EC integrated compensation template, the eligibility rules are created as business rules in EC. For creating eligibility rules go to Admin Tools > Company Settings > Configure Business Rules
Rules can be defined at –
- Compensation Plan Level – At the Plan level, compensation rules define who should not be part of the plan. By default, Compensation assumes all users are eligible to be part of the plan.
- Component Level – At the Component level, rules can be defined to apply to the Salary, Bonus, and Stock tab.
- Field Level – At the field level, rules can be applied to: promo, merit, extra, extra2, lumpSum, lumpSum2, stock, options, stockUnits, stockOther1, stockOther2, and stockOther3.
A rule that excludes employees based on hire date and employee class is given below. The field that determines the eligibility should be a part of the base object. The rule type should be ‘compensationEligibility‘
This rule will be available in compensation plan template.
This rule will be available in compensation plan template.
4. Pay range (Pay matrix)
Pay range from Compensation as well as the pay range foundation object from EC can be used. Below setting has to be done for using the foundation object.
Attribute 1 and 2 are additional fields used for determining the pay range.
Pay range foundation object in EC
The pay ranges in EC are foundation objects. The pay range associations are used as pay range attributes in compensation. In the example given below, Geo Zone and Legal entity are the associations (attributes).
Corporate data model has the definition of the pay range. The associations can be modified in corporate data model. Paygrade should be the first association defined, followed by the other associations.
<hris-associations>
<association id=“id” multiplicity=“ONE_TO_ONE” destination-entity=“payGrade” required=“false”/>
<association id=“id” multiplicity=“ONE_TO_ONE” destination-entity=“geozone” required=“false”/>
<association id=“id” multiplicity=“ONE_TO_ONE” destination-entity=“company” required=“false”/>
</hris-associations>
5. Publishing Compensation data to Employee Central
Once the compensation process is complete, data can be published to EC. The compInfo record that is effective as of the publish date is the basis from which a new compInfo record is created. The new compInfo record copies information from the base record, modifying it according to the publishing configurations in the compensation template and user data in the compensation form. Final salary, merit, promotion, adjustment are stored in compensation form and updated in the compensation cycle. They are published to the recurring pay components. Lump sum is stored and edited in the form, and since it is a onetime payout, it is published as a non-recurring pay component.
Field mapping for publishing to EC
The section <comp-ect-output-component…………../> defines the mapping for publishing fields to EC. This code supports recurring and non-recurring pay components. A combination of the component type, component code, and effective date is used as a unique identifier for each recurring pay component. For non-recurring pay components, the pay-date is used.
Publishing recurring pay components
Sample code to publish new salary is given below.
<comp-ect-output-component componentType=“payComponentRecurring”
componentCode=“Base Salary” eventReason=“PAYMER” effectiveDate=“2015-07-01”>
<comp-hris-field-map>
<comp-field-id><![CDATA[finSalary]]></comp-field-id>
<hris-field-id><![CDATA[paycompvalue]]></hris-field-id>
</comp-hris-field-map>
</comp-ect-output-component>
Here
componentType specifies the pay component type (payComponentRecurring or payComponentNonRecurring)
componentCode specifies the pay component code. This code is not mandatory for recurring pay components. When not specified, the pay component which has the UsedforCompPlanning attribute set to COMP or BOTH is used.
eventReason specifies the reason for the change in compinfo record. This is not required for non-recurring pay components.
effectiveDate specifies the default start date of the new compinfo record (recurring pay components) and the pay date for the non-recurring pay components.
comp-hris-field-map specifies the mapping between compensation fields (comp-field-id) and employee central fields (hris-field-id).
The record created in EC is given below.
Publishing non-recurring pay components
Sample mapping for non recurring pay component is given below.
<comp-ect-output-component componentType=“payComponentNonRecurring”
componentCode=“SPOTBONUS” effectiveDate=“2015-08-15”>
<comp-hris-field-map>
<comp-field-id><![CDATA[lumpSum]]></comp-field-id>
<hris-field-id><![CDATA[value]]></hris-field-id>
</comp-hris-field-map>
</comp-ect-output-component>
The record created in EC is given below.
Steps to publish compensation data to EC
Once the compensation process is complete, the data can be published to EC. Click on ‘Complete Compensation Cycle’, then on ‘Publish Data’ and then on ‘Publish in Employee Central’. Click on the button ‘Check Form Status’. Screen similar to the one given below would be displayed. Click on ‘Submit’ button to publish the data from the completed forms to EC.
6. Field mapping tool for EC-Enabled Plans
With 1505 release, field mapping is possible from admin tools. Validation also happens and in case of an error, a message is displayed.
Mapping option is available in ‘Design Worksheet’ section, for all standard and custom fields.
EC category refers to the ‘componentType’ in the xml code.
EC Component Name refers to the ‘componentCode’ in the xml code.
EC field refers to the ‘fieldName’ in the xml code.
Summary
This write-up was an effort to consolidate the steps required in enabling integration between Compensation and Employee central in SuccessFactors. Not all functionality in Compensation would be working well in a template with EC integration. E.g. the fields in country specific data model cannot be mapped to Compensation. Similarly some types of budget calculation do not work with EC integration.
Vinod,
Great article! You have jotted some of the key points of the integration between EC and COMP.
An important thing we just learned when using standard EC/COMP integration is that Cascading Budgets does NOT work when doing the integration.
Margaret is correct, not all budget modes are available with EC-enabled plan templates. Budgets based on user and planner are currently supported.
Hi Vinod,
This was a very helpful article for EC integration. You have put down base points, easy to understand and implement.
I have few more points needing clarifications...
1) Can we implement Job Selector in EC integrated scenario. If so, how would we update the New job family, Job code, Job role and Pay grade back to EC.
2) I have always seen scenarios where we only update Basic Salary component code. Is there possibility to update 2 or more Component codes under Recurring Pay. For instance, Base Salary, HRA(House Rent Allowance), Special allowance etc.
Thanks
Rajesh
1) Currently publishing to EC is limited to compinfo and that also to pay components. So we will have to import the data to the jobinfo manually.
2) Yes multiple pay components can be updated together.
Regards
Vinod V.
Thanks for taking time and answering my queries.
Rajesh K
Hi Vinod ,
very helpful article . But i am getting an error that after launching the form the message i am getting in monitor job is :
The creation of compensation plans has completed SUCCESSFULLY.
There were 0 plan(s) created.
the form is EC Enabled and the planner for whom i am launching the form has 5 direct sub-ordinates. Can you please help me in this by suggesting the cause of this issue.
one more doubt is that i am not getting the option of adding the attributes while using EC pay matrix.
Thanks in advance.
Prashant
Hi Prashant,
You would need to add the Legal Entity and Geo Zone as Custom fields in the Worksheet. After adding that you will see the Attribute option available.
Thanks
Rajesh
Hello,
I tried to Integrate Existing Compensation module with EC and made all the above prescribed changes in the XML but when I upload the xml ,its throwing the below error. It would be great help if anybody let me know why this issue is coming.
Thanks and Regards,
Ritika Mehta
Hello,
Can anyone please suggest as how can we post revised pay grade to Employee Central from Compensation. Since Compensation is used for performing promotion as well, is there any way of doing the same ?
The solution for this is available in 1608 release. Please refer to the release notes for details.
Hi Vinod,
It is still not available. Hopefully in coming releases, we will have these updates.
Planning for promotions in Compensation and publishing in Employee Central is available as a Beta feature in Q3, with enabling required via Provisioning. Customers and partners are invited to enable this feature and provide feedback. In Q4 the feature will be GA, with the additional enhancement of support for custom promotion-related fields displaying on the worksheet.
Hi Amy Dines,
Can you please tell me is it possible to publish the promoted Pay grade (New Pay- Grade) from Compensation to Employee central ??
Please suggest me on this, if possible please let me know the sample XML code for Pay grade publishing.
Regards,
Naresh.KM
Can anyone tell me how (using EC business rules for eligibility) you can limit someones eligibility to compensation if they do not have a Performance rating? In the old rules there was a radio button in the rule set up for this function, and given PM is not part of MDF i cannot work out how to create this restriction using the new EC business rules.
Thank you
Hi Lynsye,
It is late, but still, for EC integrated templates, as the eligibility rules are created as business rules in EC, PM rating should be available in a field in EC to use them in Eligibility rules.
Regards
Vinod
Hi Vinod,
Can you please provide a screenshot of the "Last Review Rating" XML that you configured in your Test Data Model?
I am trying to integrate "Last Review Rating" in the Employee Central's "Job Information" portlet.
I am looking forward to checking how it is configured in the Data Model.
Thanks a lot!
Regards,
Ramel Garcia
Hi Ramel,
That field was configured directly in the instance in 'Manager Business Configuration'. It is added in employment information portlet. Please see the attached screenshot.
Regards
Vinod
Hi Vinod,
In Compensation template EC Effective date is 12/01/2017 but when worksheet is created data related future dated changes Compa Ratio for CompInfo entry starting example 1st Dec 2017 is coming, how to make sure that only data changes within effective date are picked up by form
Thanks.
Hi Vinod,
Great Article! Need your expert advice on the issue that I am facing while publishing non recurring components from Comp to EC. I am able to post one non recurring component (SRA1) however when I am trying to publish the second component (SRA2) with different dates for the same template, the new component is overwritten. So For example, SRA1 is published in EC with effective date as 01.11.2017. For second time, for same employee when I am publishing SRA 2 with 01.12.2017, old record of SRA1 is overwritten with SRA2. Can you suggest possible reasons for the same.
Regards,
Chetan Wahane
I really need help as i am getting error uploading the Compensation Plan upon the addition of effectiveDate to the plan.
Error: comp-ect-input-field-map on budget-calc(budgetOn=merit) is required for Comp-EC integration template. Error: comp-ect-input-field-map on budget-calc(budgetOn=lumpSum) is required for Comp-EC integration template. Error: comp-ect-input-field-map on budget-calc(budgetOn=extra) is required for Comp-EC integration template. Error: comp-ect-input-field-map on budget-calc(budgetOn=promotion) is required for Comp-EC integration template. Error: comp-ect-input-field-map on budget-calc(budgetOn=merit+extra) is required for Comp-EC integration template. Error: comp-ect-input-field-map on budget-calc(budgetOn=merit+promotion+extra) is required for Comp-EC integration template.
Hi There,
in my compensation template i have enabled EC but pay ranges are not pulling from EC what could be the matter? i already have geozone and Legal Entity and all other configuration but the pay ranges are still not pulling through.
I require help urgently