SAP Knowledge Base Article - Public

2077491 - Manage Data - Business Goals - Variable Pay

Symptom

  • General information on Business Goals Import Files. Business Goal Import (required) – this flat file contains the business goal definitions, goal forecasts, and goal results.  The variable pay module requires this information to determine the goal-level payouts which impact the bonus calculation.
     
  • How do I import business goals and what is the file format required?

Environment

  • Variable Pay

Resolution

  • Business goals contain the business goal definitions, goal forecasts, and goal results for every participating employee. The variable pay module requires this information to determine the goal level payouts which impact the bonus calculation. Two files are needed to manage business goals: the Business Goals import file and the Business Goal Weights import file.

 

 The business goals file is imported into SuccessFactors at: Admin Tools > Compensation Home > Select correct plan > Plan Setup > Plan Details > 1. Import Business Goals. Business goals must be imported prior to calculating bonus payouts.

 

  • Important! The business goal weights file needs to be re-imported every time after importing a business goals file. If business goals are added or changed, the business goal weights file needs to be re-imported and the Calculate Bonus Payout process needs to be re-run to update already-existing VP forms.
     
  • Ensure the template ID matches to the VP program or else you risk wiping out prior program calculations if you inadvertently load a new goal file for your new VP program with the wrong goal plan template id. You can check the plan xml and compare it to the Business Goal name in your plan setup details in admin tools.

    Example XML

    obj-plan-id>8005</obj-plan-id>
      <obj-plan-type>VariablePay</obj-plan-type>
      <obj-plan-name>Bonus Performance Plan (8005)</obj-plan-name>
      <obj-plan-desc><![CDATA[2011 Program]]></obj-plan-desc>
      <obj-plan-lastmodified>10/5/06 4:30 PM</obj-plan-lastmodified>
      <obj-plan-start>01/01/2012</obj-plan-start>
      <obj-plan-due>12/31/2012</obj-plan-due>
      <obj-plan-numbering>
     

  • B1405: In 1405, VRP has introduced a new field type = ‘Money’. Currency conversions will be only applied to fields that defined as type = money.
     
  • A goal measure is uniquely identified by the combination of name, lookup_field, and lookup_value.  Example:  Store sales for location of San Mateo, Store Sales in Belmont, etc.
     
  • The values loaded for PerfMin, PerfTarget, PerfMax, and the forecast values in the Business Goal file must be DIFFERENT numbers if the interpolate function is to work.  Loading in the same number across the record as a “placeholder” until true financial measures are known will crash the calculation.  Dummy data is OK, but the values must progress for the interpolation to work.
     
  • You will import multiple rows of measures with the same goal name.  But the number indicated on the goal import step on the admin screen will show you the number of goal names (not the number of records you imported.)  So you might import 22 rows in your Business goal file, but may have 10 unique goal names.  May not want to rely on this number in the admin UI—look at the Goal Performance Report
     
  • Reverse Metric can be used but require special configuration  You will need to put the performance levels and  payout percents in the goal file High to low.  (Another option is to do your business goals in a team or individual section and use P/GM integration with metric lookups.  Reverse Metrics are supported in metric lookup tables.
     
  • If you are importing goal information, results… into goal plans. Make sure you run the Open&Save Documents in the form template settings for the PM form.  This will synch the PM and Variable Pay form. If you do not run this the Variable Pay program will not update with the latest information.
     
  • Note! Column C in the business goals file should be the User ID of an admin user who will not be inactivated in the system and should be the same for all participants. As a point of information, this user will receive multiple email notifications each time business goals are imported (assuming the appropriate email notifications templates are enabled). For this reason, you may want to create a unique admin user whose only function is to “hold” all of the business goals for the company (and for whom you can set up an invalid email address so no one gets spammed!).
     
  • Column F is the goal plan id for the variable pay program and should be changed each year to correspond to the goal plan created for that year.
     
  • When the business goals file is imported, there is an option to Delete all business goals for this program prior to import. Select this option only if you would like to do a full file replacement of all business goals for all employees; otherwise, imported business goals will be appended to the existing ones in the system. It is strongly recommended that a full file replacement be done each time, so this option should generally be selected.

 

Business Goal Import File Format

    The format for the Variable Pay Business Goal CSV import file is completely dependent on the format described in the TGM Objective_Import_Guide 
    Of note:

  • The import file should be a CSV text file: comma-delimited, with string values enclosed in double quotes. The file can be named anything you wish (but should have a .csv extension).
  • Header rows should not be included.  All fields are implied.  Therefore empty or blank columns should accounted by delimiters.
  • No currency symbol in front of amounts.
  • No commas allowed in amounts.
  • If the source data is in Excel, save the file as a CSV (comma delimited) file, and watch out for these common problems:
    • String values that might have commas in them need to be explicitly quoted (e.g., “do this, do that”).
    • If you’ve used values for a key field (User ID, department, etc.) that are character values that look like numbers (“000123”), the cells in Excel need to be formatted as text so that Excel doesn’t convert them to true numbers (123).
  • Successfactors support a maximum of 5 target points to figure out the payout percentage. Below are combinations that the application can handle:
  1. Performance Min, Performance Target Low, Performance Target, Performance Target High, and Payout Percent Max. (5point)
  2.  Performance Min, Performance Target Low, Performance Target, and Payout Percent Max. (4point)
  3. Performance Min, Performance Target, Performance Target High, and Payout Percent Max. (4point)
  4. Performance Min, Performance Target, and Payout Percent Max. (3point, most common)
  5. Performance Min, and Performance Target (2 point).
  • All percentages should be imported in decimal format (i.e. 10% = .10)

 

 

Column

Data Type

Example

Description

A

Row type

STRING

OBJECTIVE

Static value indicating the import row type. For goals/objectives, should always be “OBJECTIVE”.

B

Owner ID Key

STRING

USER_ID

Owner of business goal, must be USER_ID.

C

Owner ID Value

STRING

athompson1

User that owns all the business goals

D

Owner ID Key 2

STRING

(leave blank)

Not used for Variable Pay

E

Owner ID Value 2

STRING

(leave blank)

Not used for Variable Pay

F

Plan ID

NUMBER

8001

The Variable Pay business goal plan template ID.  Range is 8001-9000.  Use the same number for all records in a program.  For example, In the “2006 Variable Pay Program”, hardcode all values to “8001”.

G

Goal code

STRING

(leave blank, import code will create it)

Unique identifier for a goal. For Variable Pay, the goal code is the goal plan template id and the business goal name (planId-goalName). Limit of 128 alphanumeric characters.

H

Public/private

NUMBER

0

Specifies public or private goal. 0=public, 1=private. Should be set to 0 for public.

I

Category ID

STRING

Business

Indicates the category the goal belongs to. The goal plan template only specifies 1 category named “Business” so this must be set to “Business”.

J

Name header

STRING

name

Header specifying the next column / field.  Hardcode with the specified value.

K

Name

STRING

"001 SHC, EBITDA"

Business goal name

L

Metric Header

STRING

metric

Header specifying the next column / field.  Hardcode with the specified value.

M

Metric

STRING

amount

Business goal metric (amount/percent/number)

N

Lookup Field Header

STRING

lookupField

Header specifying the next column / field.  Hardcode with the specified value.

O

Look Up Field

STRING

bonusPlanCode

Indicate the field in the employee history date to lookup to determine eligibility. The valid identifiers are specifed in the Variable Pay Data Model Template file.  See the Employee History Data Design Spec for more info.

P

Lookup Value Header

STRING

lookupValue

Header specifying the next column / field.  Hardcode with the specified value.

Q

Look Up Value

STRING

KSS

Any value associated with the lookup field. i.e. any bonus plan code.

R

Forecast header

STRING

forecast

Header specifying the next column / field.  Hardcode with the specified value.

S

Forecast

FLOAT

3200

Forecast result #2.  Amount does not contain currency symbol $ nor commas.

T

Forecast 2 header

STRING

Forecast2

Header specifying the next column / field.  Hardcode with the specified value.

U

Forecast2

FLOAT

4000

Forecast result #2.  Amount does not contain currency symbol $ nor commas.

V

Result header

STRING

result

Header specifying the next column / field.  Hardcode with the specified value.

W

Result

FLOAT

3600

Actual result. Amount does not contain currency symbol $ nor commas.

X

Performance min header

STRING

performanceMin

Header specifying the next column / field.  Hardcode with the specified value.

Y

Performance Min

FLOAT

3100

Minimum amount/percent that needs to be achieve in order for payout. Value can be blank.

Z

Performance target low header

STRING

performanceTargetLow

Header specifying the next column / field.  Hardcode with the specified value.

AA

Performance Target Low

FLOAT

3200

An amount/percent that needs to be reach in order for payout. This amount/percent is in between the Min and Target. Value can be blank.

AB

Performance Target Header

STRING

performanceTarget

Header specifying the next column / field.  Hardcode with the specified value.

AC

Performance Target

FLOAT

3300

Target amount/percent that needs to be achieve in order for payout. Amount/percent must be specified.

AD

Performance Target High Header

STRING

performanceTargetHigh

Header specifying the next column / field.  Hardcode with the specified value.

AE

Performance Target High

FLOAT

3400

An amount/percent that needs to be reach in order for payout. This amount/percent is in between the Target and Max. Value can be blank.

AF

Performance Max Header

STRING

performanceMax

Header specifying the next column / field.  Hardcode with the specified value.

AG

Performance Max

FLOAT

3500

Maximum amount/percent that needs to be achieve in order for payout. Value can be blank.

AH

Payout percent min header

STRING

payoutPercentMin

Header specifying the next column / field.  Hardcode with the specified value.

AI

Payout Percent Min

FLOAT

0.6

If achieved Performance Min, then pay out this percent of the Incentive Target.

AJ

Payout Percent Target Low Header

STRING

payoutPercentTargetLow

Header specifying the next column / field.  Hardcode with the specified value.

AK

Payout Percent Target Low

FLOAT

0.8

If achieved Performance Target Low then pay out this percent of the Incentive Target.

AL

Payout Percent Target Header

STRING

payoutPercentTarget

Header specifying the next column / field.  Hardcode with the specified value.

AM

Payout Percent Target

FLOAT

1

If achieved Performance Target then pay out this percent of the Incentive Target.

AN

Payout Percent Target High Header

STRING

payoutPercentTargetHigh

Header specifying the next column / field.  Hardcode with the specified value.

AO

Payout Percent Target High

FLOAT

1.4

If achieved Performance Target High then pay out this percent of the Incentive Target.

AP

Payout Percent Max Header

STRING

payoutPercentMax

Header specifying the next column / field.  Hardcode with the specified value.

AQ

Payout Percent Max

FLOAT

2

If achieved Performance Max, then pay out this percent of the Incentive Target.

AR

Payout Function Type Header

STRING

payoutFunctionType

Header specifying the next column / field.  Hardcode with the specified value.

AS

Payout Function Type

STRING

step

Can be set to "step", "interpolate" or "direct". If set to “step", then the bonus guideline must be achieved to earn the goal payout percent.  If set to "interpolate", then achievement values are interpolated between business goals.  If set to "direct", then the value in Direct Payout Percent will override the normal performance payout for goals.

AT

Notes Header

STRING

Notes

Header specifying the next column / field.  Hardcode with the specified value.

AU

Notes

STRING

"Override payout due to store burn down, no fault of the employees not meeting target"

Any comments or reason for doing the direct payout function.

AV

Direct Payout Header

STRING

directPayoutPercent

Header specifying the next column / field.  Hardcode with the specified value.

AW

Direct Payout Percent

FLOAT

1

Override normal payout percent with this payout percent

 

Sample Business Goal Import File

 

  • See file at bottom of solution.

Keywords

KBA , sf varpay manage data , LOD-SF-CMP-VAR , Compensation Integration Issues with Variable Pay , How To

Product

SAP SuccessFactors HCM Core all versions

Attachments

goals.xls