SAP Knowledge Base Article - Public

3063896 - Variable Pay - Salary Earnings Table

Symptom

In this article we outline the process of using Variable Pay salary earnings table.

**Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental**

Environment

  • SAP SuccessFactors HXM Suite
  • SAP SuccessFactors Variable Pay

Resolution

In this section we walk through the process of enabling a salary earnings table, what this would like look as well as looking at various outcomes when using different configuration options.

Configuration Overview - Annualization "TRUE"

From Plan Setup go to Settings> Set Bonus Calculation> Basis Calculation Equation.

From the available drop-down menu select "Employment history from EC or imported column from Employee History file".

Select "Salary/Earnings and bonus target % derived from job info".

Select "No" next to the "Eligible salary/earnings considered as annualized for the program" for this example.

salary earnings table.png

We will also derive our target percent from a custom-double column which is maintained within Employee Central: Compensation Information.

This is a requirement to calculate basis.

Click on "Example import file" to download a blank copy of the earnings table. In this file, we have the following columns.

  • userID - User ID used to map against employee history
  • startDate - Start date to map against assignment start date in the employee history
  • endDate - End date to map against assignment end date in the employee history
  • currencyCode - Code for the target amount
  • bonusTarget - Target amount
  • annualized - Should the target bonus be annualised or not

These columns need to be populated to align with user data from employee history.

Note

note text grid.png

In this example we have populated the following table for sample user. Note this is based on 5 decimal places, so using a smaller decimal precision will impact the outcome.

userID startDate endDate currencyCode bonusTarget annualized
sampleUser 01/01/2021 31/01/2021 EUR 49999 TRUE
sampleUser 01/02/2021 31/12/2021 EUR 12254 TRUE

The template bonus start/end date is 01/01/2021 - 31/12/2021. This is maintained within Plan Setup> Settings.

Based on the selections we have made from the basis equation page and the earnings table we've imported, so we would expect to see the following within employee history.

Row User ID Assignment Start Date Assignment End Date Assignment Bonus Target Proration Assignment Basis Target % Assignment Target Amount
1 sampleUser 01/01/2021 31/01/2021 49999 0.08493 9999.8 20 849.283014
2 sampleUser 01/02/2021 31/12/2021 12254 0.91507 2250.8 20 2242.653556

The following is a breakdown of this sample calculation taking into account annualization is TRUE for each assignment per the imported table.

  • Proration

Calculation for this is (endDate - startDate +1) / (Template Bonus End date - Template Bonus Start Date +1)

Note

The proration value which is being calculated is the start/end dates of the earnings table and NOT the employee history assignment start/end dates.
Please refer to VRP-12026 where this was corrected following a defect.

Assignment One

endDate (31/01/2021) - startDate (01/01/2021+1 / Template Bonus End date (31/01/2021) - Template Bonus Start Date (01/01/2021+1

Outcome = 0.08493%

Assignment Two

endDate  (31/12/2021) - startDate  (01/02/2021+1 / Template Bonus End date (31/01/2021) - Template Bonus Start Date (01/01/2021+1

Outcome = 0.91507%

  • Assignment Basis

Since we have annualized "TRUE" in our table, the calculation for this would be bonusTarget*target%

Assignment One

bonusTarget (49999)*target% (20)

Outcome = 9999.8

Assignment Two

bonusTarget (12254)*target% (20)

Outcome = 2450.8

  • Assignment Target Amount

This calculation depends on what comes into basis. So, this would be Proration*Assignment Basis

Assignment One

Proration (0.08493)*Assignment Basis (9999.8)

Outcome = 849.283014

Assignment Two

Proration (0.091507)*Assignment Basis (2450.8)

Outcome = 2242.653556

Configuration Overview - Annualization "FALSE"

Using the same dates and values used in the above example, we update the earnings table for this user and update annualized to "FALSE".

userID startDate endDate currencyCode bonusTarget annualized
sampleUser 01/01/2021 31/01/2021 EUR 49999 FALSE
sampleUser 01/02/2021 31/12/2021 EUR 12254 FALSE

From the employee history, we will see the following values.

Row User ID Assignment Start Date Assignment End Date Assignment Bonus Target Proration Assignment Basis Target % Assignment Target Amount
1 sampleUser 01/01/2021 31/01/2021 49999 0.08493 117741.6696 20 9999.80
2 sampleUser 01/02/2021 31/12/2021 12254 0.91507 267826.5051 20 2450.80

As we can see above, the calculation for Assignment Basis column has changed as well as the Assignment Target Amount.

This is due to the change in calculation which is triggered from updating annualized "TRUE" to "FALSE".

  • Assignment Basis

So, with this now set as FALSE the following calculation will happen since we will now take into consideration the proration.

Please also note there is no change in how the assignment proration is being calculated, this remains the same.

bonusTarget*Target%/Proration

Assignment One

bonusTarget (49999)*target% (20)/Proration (0.08493)

Outcome = 117741.6696

Assignment Two

bonusTarget (12254)*target% (20)/Proration (0.91507)

Outcome = 267826.5051

  • Assignment Target Amount

Also note, Assignment Target Amount has also updated based on this change in basis as the calculation here would be Proration*Assignment Basis.

Assignment One

Proration (0.08493)*Assignment Basis (11774166.96)

Outcome = 9999.80

Assignment Two

Proration (0.91507)*Assignment Basis (267826.5051)

Outcome = 2450.80

Configuration Overview - Annualization "FALSE" (When merging similar records)

When merging records and annualization is FALSE, records in the history will be merged together and the system will first look for the earliest start date and align with the salary earnings table.

From that, the system will then obtain the latest end date from employee history and align with the salary earnings table.

userId startDate endDate currencyCode bonusTarget annualized
Sample User 01/01/2021 28/02/2021 USD 49999 FALSE
Sample User 01/03/2021 18/07/2021 USD 12254 FALSE
Sample User 19/07/2021 31/12/2021 USD 14444 FALSE

Below is what our history looks like before merging.

Row User ID Assignment Start Date Assignment End Date Assignment Bonus Proration Assignment Basis Target % Assignment Target Amount
1 Sample User 01/01/2021 28/02/2021 49999 0.16 62498.75 20% 9999.8
2 Sample User 01/03/2021 12/06/2021 12254 0.38 6449.5 20% 2450.8
3 Sample User 13/06/2021 30/06/2021 12254 0.38 6449.5 20% 2450.8
4 Sample User 01/07/2021 18/07/2021 12254 0.38 6449.5 20% 2450.8
5 Sample User 19/07/2021 31/12/2021 14444 0.45 6419.6 20% 2888.8

When importing history with merging enabled, we will see the following.

Row User ID Assignment Start Date Assignment End Date Assignment Bonus Proration Assignment Basis Target % Assignment Target Amount
1 Sample User 01/01/2021 28/02/2021 49999 0.16 62498.75 20% 9999.8
2 Sample User 01/03/2021 18/07/2021 12254 0.38 6449.5 20% 2450.8
3 Sample User 19/07/2021 31/12/2021 14444 0.45 6419.6 20% 2888.8

As we can see, rows 3 and 4 have merged to give us one assignment record. Due to the dates in the history, these have been aligned to the second entry within the earnings table.

Additional information

  • Should the annualized column be blank (NULL) within the earnings table, then the range will be based on the "Yes" or "No" in the below section of Set Bonus Calculation.
    Eligible salary earnings considered as annualized for the program.png
    Yes = When the annualized column is BLANK within the earnings table, it will be considered as annualized "TRUE"
    No = When the annualized column is BLANK within the earnings table, it will be considered as annualized "FALSE"

Note

This selection will be ignored for all entries containing a value within the annualized column.

  • If the table is changed once history is already available, calculation needs to be executed. If not, please import history again.
  • When using different number formatting you may see differences in assignment basis. So it is important to understand the calculations and the decimals you are using.
    For example, above we when using annualized FALSE we have 49999*20/0.08493=117741.6696 on 5 places. Should we use 2, then it would show 49999*20/0.08=124997.5.

Keywords

salary earnings table, point in time calc, data file, salary table, annualisation, annualized TRUE, annualized FALSE, Eligible salary/earnings considered as annualized for the program, salary/earnings, VRP-10828, VRP-12026 , KBA , LOD-SF-VRP , Variable Pay Programs , LOD-SF-VRP-BON , Bonus, calculating bonus, payouts, etc. , LOD-SF-VRP-HIS , History Data, History Processor , How To

Product

SAP SuccessFactors Compensation all versions ; SAP SuccessFactors HXM Suite all versions