payslip_header

Payslips in SuccessFactors

This website is obsolete, the article moved to:

http://scn.sap.com/people/josef.sysel/blog/2016/06/06/payslips-in-successfactors-without-ec-payroll

This is simple solution how to get payslips into SuccessFactors so employees can access them and you can use them for reporting. We have at least three options how to do it. Now let’s start with two simplest options how to get the data into SuccessFactors and enable them for the employees.

Now let’s show two possible solutions. First is simpler and done as background element. The output looks like following picture

background_payslips

Why it is so complicated (4 different portlets)?

  1. There is some limitation on the number of integer/float fields in one portlet (4 integers, 4 floats, 5 dates, 13 varchars).
  2. If you will put it into one big portlet, it will not be user-friendly and people will need to scroll to the side.

These fields/portlets can be filled by the integration platform like Boomi/HCI or basic scheduled import from FTP server (Provisioning/Manage Scheduled jobs/Live profile import – background element import – incremental)

Now the source code of these background elements, if you want to add some attachment to be in these fields, you can add type attachment to it:

<background-element id="payslip1" type-id="3">
 <label>Payslip 1</label>
 <data-field id="year" field-name="vfld1" required="true" max-length="255" max-file-size-KB="1000">
 <label>Year</label>
 </data-field>
 <data-field id="salaryMonth" field-name="vfld2" required="true" max-length="255" max-file-size-KB="1000">
 <label>Salary Month</label>
 </data-field>
 <data-field id="payrollID" field-name="vfld3" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>PayRoll ID</label>
 </data-field>
 <data-field id="positionTitle" field-name="vfld4" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Position Title</label>
 </data-field>
 <data-field id="costCentre" field-name="vfld5" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Cost Centre</label>
 </data-field>
 <data-field id="businessUnit" field-name="vfld6" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Business Unit</label>
 </data-field>
 <data-field id="basicSalary" field-name="ifld1" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Basic Salary</label>
 </data-field>
 <data-field id="actualBasicSalary" field-name="ifld2" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Actual Basic Salary</label>
 </data-field>
 </background-element>
 <background-element id="payslip2" type-id="6">
 <label>Payslip 2</label>
 <data-field id="year" field-name="vfld1" required="true" max-length="255" max-file-size-KB="1000">
 <label>Year</label>
 </data-field>
 <data-field id="salaryMonth" field-name="vfld2" required="true" max-length="255" max-file-size-KB="1000">
 <label>Salary Month</label>
 </data-field>
 <data-field id="quaterlyAverage" field-name="ifld1" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Quarterly Average</label>
 </data-field>
 <data-field id="holidayBalance" field-name="ifld2" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Holiday Balance</label>
 </data-field>
 <data-field id="supplementaryWage" field-name="ifld3" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Supplementary Wage</label>
 </data-field>
 <data-field id="performanceBonus" field-name="ifld4" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Performance Bonus</label>
 </data-field>
 <data-field id="otherBonuses" field-name="ifld5" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Other Bonuses</label>
 </data-field>
 </background-element>
 <background-element id="payslip3" type-id="7">
 <label>Payslip 3</label>
 <data-field id="year" field-name="vfld1" required="true" max-length="255" max-file-size-KB="1000">
 <label>Year</label>
 </data-field>
 <data-field id="salaryMonth" field-name="vfld2" required="true" max-length="255" max-file-size-KB="1000">
 <label>Salary Month</label>
 </data-field>
 <data-field id="severancePayment" field-name="ifld1" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Severance Payment</label>
 </data-field>
 <data-field id="incomeDeductions" field-name="ifld2" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Income Deductions</label>
 </data-field>
 <data-field id="totalTaxableSalary" field-name="ifld3" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Total Taxable Salary</label>
 </data-field>
 <data-field id="employeeContributionSocHealthIns" field-name="ifld4" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Employee Contribution (Social/Health insurance)</label>
 </data-field>
 </background-element>
 <background-element id="payslip4" type-id="8">
 <label>Payslip 4</label>
 <data-field id="year" field-name="vfld1" required="true" max-length="255" max-file-size-KB="1000">
 <label>Year</label>
 </data-field>
 <data-field id="salaryMonth" field-name="vfld2" required="true" max-length="255" max-file-size-KB="1000">
 <label>Salary Month</label>
 </data-field>
 <data-field id="employerContributionGovCosts" field-name="ifld5" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Employer Contribution (Government costs)</label>
 </data-field>
 <data-field id="employerContributionBen" field-name="ifld1" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Employer Contribution (Benefits)</label>
 </data-field>
 <data-field id="netSalary" field-name="ifld2" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Net Salary</label>
 </data-field>
 <data-field id="currency" field-name="vfld3" display-size="100" max-length="255" max-file-size-KB="1000">
 <label>Currency</label>
 </data-field>
 </background-element>

Another option is to create MDF object (this will allow to easily display only last payslip and you will have button to display historical entries).

current_payslip

This is done as MDF object. You can see the history so there will be always only last payslip on your profile. But with permissions to display the historical payslips when click on the history button.

previous_payslips

The specification is done in Configure object definitions:

cust_payslip

The MDF object can be populated by the API (Boomi, HCI or any other) or by importing the file regularly using configuration in provisioning.

scheduled_job

Why to use background elements? Easy to report in ad hoc reporting. MDF objects are not available in Ad Hoc reporting and you will need Online report designer to generate reports on these data.

 

8 thoughts on “Payslips in SuccessFactors”

  1. Thanks for sharing, Josef!
    Standard Employee Payroll Run Results MDF can be also used for ORD reporting.

    By the way, why you use different type-id for background elements in SDM?

     
      1. Now I know, from sf-form.dtd
        type-id: INTEGER. No default Value and Required. Must be unique within the data model. For the moment, it has no purpose other than being the unique id for the section.

         
  2. If customer is using ECC payroll and SF EC so employee can see their payslip in SF EC? Right? their payroll in processed in ECC but they can see their payslip in SuccessFactors?

     
    1. Hi,
      if customer has EC payroll than the payslips are available to the employees from EC payroll. I don’t think that data are published to SF directly but they are definitely available to the employees.

       
    1. Hi Filippos,
      MDF objects can be reported currently only by ORD. The MDF parts that can be reported in Adhoc/BIRT are related only to positions used for Succession Planning.

       

Leave a Reply

Your email address will not be published. Required fields are marked *