by Michael Timm, Managing Partner, Integrated Consulting Group LLC
Evaluate several benefits of fringe payroll in SAP Human Capital Management. Discover how to customize aspects of your fringe payroll to meet your business requirements.
Key Concept
A fringe is a percentage or flat fee charge that is added to payroll to offset the employer’s share of employee benefit costs throughout the year. Some examples of the costs employers incur are state unemployment insurance, vacation leave, and sick days. By using fringing, an organization can distribute the expense of an employee throughout the year more evenly.
All organizations with a large employee base need to spread costs throughout the year. Sounds simple enough, but payroll often produces actual costs differently, in which expenses are charged and accounted for during the first part of the year instead of distributing them over the entire year.
Take the example of the employer State Unemployment Insurance (SUI) tax, which typically reaches the maximum per employee in the first few months of the year. The employee meets the maximum taxable income during the first few months so standard SAP Payroll expenses the taxable amount in those first few months. Creating a custom fringing mechanism allows those taxable expenses to be disbursed evenly throughout the year.
Many organizations must rely on fringing to distribute cost burdens more evenly throughout the year and at different rates based on: organizational objects (e.g., company code, personnel area, employee group, or cost center), the frequency with which fringing rates are maintained, and the part of the organization that is responsible for maintenance, review, and reconciliation. This can be a daunting task and organizations typically struggle to develop a suitable fringing method to handle all of their simple and complex business requirements.
I’ll walk you through the required customizations to implement fringe payroll calculation in your SAP Payroll environment and provide you with lessons learned from my experience. The steps I describe in this article apply to all SAP system releases.
Developing Your Custom Fringe Solution
Customizations should be tightly developed, integrated, and performed during standard SAP Payroll processing. The standard SAP payroll program
RPCALCU0 drives the fringing calculation as part of the standard payroll process. You should take advantage of standard SAP functionality when developing your custom fringe payroll, such as retroactive activities.
Standard SAP functionality automatically forces the recalculation of the custom fringing solution so the end user is not required to perform additional steps to the standard SAP Payroll process. The goal of the custom fringing solution is to perform all fringing calculations during standard payroll processing, which reduces the chance of a user missing a step or performing steps in the wrong order. It decreases risk when performing Support Package implementations or upgrades.
To integrate your fringe solution with the standard SAP process, you must customize five core areas because they are interconnected and rely on each other to produce the desired results. These five areas are:
- Wage type processing class
- Wage type posting attributes
- Fringe wage types
- Fringe table
- Payroll function
The wage type processing class determines which wage types should be used to cause a fringing calculation. The fringing calculation is dependent on the types of fringing (e.g., medical benefit or state unemployment) you determine during requirements gathering. Wage type posting attributes define to which general ledger (G/L) accounts you post wage type payable and expense amounts.
Standard fringing is the simple straightforward calculation of an amount multiplied by a flat rate to produce a cost based on multiple factors such as business area, personnel area, cost center, and type of pay. Other module teams (e.g., Financials) typically define business area, but Human Resources usually define personnel area. Most companies follow the same structure in Financial Accounting (FI) and HR, although it is not required, and some companies have different business area and personnel area structures.
Keep in mind that developing a custom fringing solution typically includes the efforts of cost accounting, payroll, technical analysts, and developers.
Customizing Wage Type Processing Class
Wage type processing classes are used during SAP Payroll processing to trigger specific logic that you want performed. The custom fringing solution uses a customer-defined processing class to determine whether a wage type triggers a fringing calculation. This method uses an existing table and functionality, including date delimitation and transport of customization.
Step 1. Determine fringe eligibility. Go to transaction code
SM31 to access table
V_512W_D. You need to populate the appropriate customer-defined processing class when you create a new wage type or modify an existing wage type in table
V_T512W_D. When amending an existing wage type, make sure to date delimit the wage type accordingly. You must create or adjust a customer-defined processing class because the processing class must contain values that are unique to the fringing solution. To create the custom processes class, follow IMG menu path
Payroll>Payroll:USA>Basic Settings>Environment for Maintaining Wage Types>Processing Classes and Evaluation Classes>Maintain Processing Classes and their Specifications.
In my example, I created processing class
98 (
Fringe), which is in the customer-defined range, so SAP Payroll can use the standard wage type table
V_512W_D to determine fringe eligibility. You can use another processing class number in the
9x range with the caveat that the payroll function uses that number instead of
98. If the wage type processing class
98 does not have the required value (in this example,
1 Applicable) the payroll function does not process the wage type because the wage type is not eligible for fringe calculation.
Figure 1 shows that wage type
0030 (salary) contains my newly created processing class
98 (
Fringe) with a value of
1 (applicable), which indicates that the earnings for wage type
0030 are eligible for fringe payroll and will be included in the fringe process. Therefore, SAP Payroll should generate a fringe calculation because the earning wage type has a value of 1 in processing class
98. Your custom fringe payroll process uses the wage type
0030 data to trigger fringe calculation and generate new wage types.
Figure 1
Wage type 0030 is eligible for fringe payroll with a value of 1 (applicable)
Customizing Wage Type Posting Attributes
After payroll processing is completed, SAP Payroll uses wage type posting attributes during the posting to accounting step. The fringe wage type amounts generated in payroll processing are then transferred to G/L expense accounts based on your wage type posting attributes configuration. Wage types are generated automatically during payroll processing, capturing the appropriate posting attributes that will be used to pass a fringe amount from payroll results to accounting. The generated wage types post to the general ledger as:
Balance sheet account (-): The amount residing in the employee payroll result is reversed when it transfers to the balance sheet account.
Expense account varies based on employee grouping for accounting (+): The amount residing in the employee payroll result table will be passed exactly as it is to the expense account. For example, if an employee receives a salary amount of $952.60 during payroll, the salary is posted to an expense account in the G/L based on the first line of configuration.
Customize your wage type posting attributes to allow fringe payroll by creating a symbolic account and defining account settings. Symbolic accounts are names that HR Payroll uses instead of G/L account numbers. They are similar to account keys in Sales and Distribution (SD). You can think of symbolic accounts as an intermediate step in determining the proper G/L account.
Step 1. Configure a symbolic account. Follow IMG menu path
Human Resources>Payroll>Payroll:USA>Posting to Financial Accounting>Activities in the HR System>Employee Grouping and Symbolic Accounts>Define Symbolic Accounts or table
V_T52EK to display the overview screen (
Figure 2).
Figure 2
Define the account type as expense account in the symbolic accounts overview screen
Users define the symbolic account number and description and select the
AAtype (account type) from the drop-down menu, based on how the symbolic account should post to accounting. Select account
EG only if employee groupings should be used for account postings (such as post hourly employee groups to one account and salaried employees to another).
Step 2. Define the accounting settings. Go to transaction code
SM31 and access table
V_T52EL to view wage type posting attributes (
Figure 3). In the screen that appears, you need to populate the values in the
Wage Type Posting section. The required fields include:
Figure 3
An example of wage type posting attributes
- No (number) defines the wage type posting sequence
- V (valuation) determines whether the wage type amount is passed to accounting as is (+) or reversed (-)
- Prc (process) indicates regular payroll [blank] or month end accrual (A)
- Sym… (symbolic account) establishes the symbolic account
- AATyp contains the type of account (for example, C is expense and F0 is accrual)
Customizing Fringe Wage Types
In my example, the wage types that contain fringe amounts were created by a functional analyst based on the types of fringing determined during requirements gathering. You create fringe wage types in the way you create any wage type. Fringe wage types should not be included in an employee’s wages or deductions because they only impact the organization’s accounting postings.
SAP ERP triggers fringe wage types during payroll processing based on data from other wage types, such as salary. The fringe wage type is automatically generated when payroll processing is passed to accounting in the posting to accounting step. The payroll user typically performs this step as part of the standard payroll process. You can review your custom wage types easily in one step.
Step 1. Review your custom wage types. Run transaction code
SM31 and go to table
V_512W_D to display your custom wage types (
Figure 4).
Figure 4
Examples of custom fringe wage types
Improving Fringe Table Functionality
The fringe table contains the data necessary to generate fringe amounts and is used by the custom function discussed later in the article. Of course, the fringe table data is strictly dependent on an organization’s business requirements and is likely to vary between organizations. Developing the custom fringe table usually demands a lot of time because of all the business requirements it encompasses, such as what organizational objects impact the fringe calculation, whether the fringe is a percentage or a flat rate, and the fringe wage type generation. Wage type configuration prior to this section and the custom payroll function use the fringe table. The fringe table (
ZHPAY_FRINGE_TMP) contains multiple factors that calculate the fringe cost:
- Fringe rate criteria
- Types of fringe
- Fringe limits (maximum amount of fringe per period, month, annum, for example)
Tip!
Consider authorizations when developing the table to limit what an end user can display and/or update. Some organizations may have differing rates by organizational unit, and this information might be confidential. In addition, the type of end user, such as HR or FI, could determine what table entries are visible. For more information, go to
https://help.sap.com/ and follow menu path
SAP ERP>ERP Central Component>SAP Library>SAP ERP Central Component>Human Resources>HR Tools>Authorizations for Human Resources>Structural Authorization Check.
The fringe table records contain organizational objects that the wage type and employee organizational objects match up with to determine which fringe table record should be used for calculation purposes. You can read the fringe table based on several criteria from the earnings:
- Company code
- Business area
- Union code (from the pay scale group of the infotype 2010 or 0008)
- Occupation code (from the pay scale group of infotype 2010 or 0008)
- Employee group and subgroup
- Personnel number
- Wage type
There are various fringe codes that represent the type of fringe to calculate:
- Fixed rate
- OASDI (Social Security)
- Medicare
- FUTA (Federal unemployment tax)
- SUI (State Unemployment Insurance)
- H&W (Health and Welfare)
- Pension
Beyond the fringe code, there are fringe types used to determine how fringe limits should be calculated:
- No limit
- Yearly (e.g., OASDI)
- Weekly
- Lifetime
I’ll walk you through an example of how the fringe table uses a wage type configured in processing class
98 with a value of
1 to determine a fringe amount.
Step 1. View fringe table entries. Go to transaction code
SM31 and open table
ZHPAY_FRINGE_TMP to display custom fringe table entries (
Figure 5).
Figure 5
Example of entry made in the custom fringe table ZHPAY_FRINGE_TMP
As shown in
Figure 5, the custom table entry applies to the employee company code
1001, employee group
1, and payroll period between the dates
01/01/2006 and
12/31/9999. The incoming wage type amount is multiplied by a percentage (
Fringe Rate Type P) of
15.00 (
Rate) without a
Limit (
Limit Apply is N) and generates
Wage type 994B in the output. In my example, wage type
994B ends up in the employee payroll result table and is then sent to accounting as an accrual and expense based on wage type posting attributes configuration. Fringe wage type is posted to accounting with accrual and expense accounts. The
/410 wage type is processed to two different financial accounts.
Customizing the Payroll Function
Payroll subschema
ZNN0 (copy of
UNN0) calls function
ZFRNG. The function uses the incoming wage type amounts and the employee’s organizational objects to determine what records in the custom function table to use for calculation. The function uses the fringe table to calculate the amount of money to fringe, the types of fringe to accumulate, and applies any limits to the amount of money subject to fringe.
SAP Payroll multiplies the amount of money subject to fringe by the percent found in the custom fringe table to calculate the actual fringe amount. Payroll subschema
ZNN0 calls function
ZFRNG with the parameter
P98 1, as shown in
Figure 6. When an incoming wage type has a processing class
98 value of
1, function
ZFRNG performs the fringing calculation. In my example, wage type
0030 (salary) contains processing class
98 with a value of
1, so SAP Payroll triggers function
ZFRNG to perform the fringe calculation logic. You can customize your payroll function as follows.
Figure 6
Example of custom payroll schedule ZNN0
Step 1. Modify your payroll function to meet fringe requirements. Go to transaction code
PE01 to customize your payroll function. In a nutshell, payroll subschema
ZNN0 (a custom copy of
UNN0) calls function
ZFRNG. The function uses the fringe table to determine the amount of money to fringe and the types of fringe to accumulate, and applies any limits to the amount of money subject to fringe. SAP Payroll multiplies the amount of money subject to fringe by the percent to determine the actual fringe amount. For a download of the function code and custom table
ZHPAY_FRINGE_TMP layout click here:
ZHPAY_FRINGE_TMP download.
Using the same example, say an employee in company code
1001 and employee group
1 receives
$952.60 in salary every period. The salary wage type is
0030 and contains a processing class
98 value of
1. When wage type
0030 reaches the payroll schema line containing
ZFRNG P98 1, fringe calculation logic is triggered. The fringe calculation logic references the custom fringe table
ZHPAY_FRINGE_TMP and determines which records should be used to generate a fringe.
The payroll function then multiplies the salary amount of
$952.60 by
15.00 percent and generates wage type
994B with an amount of
$142.89. Both the salary amount of
$952.60 and the wage type
994B amount of
$142.89 are transferred to the employee payroll results table.
During the posting to accounting process step, the salary amount of
$952.60 is sent to a G/L expense account and the
994B wage type amount of
$142.89 is sent to an accrual and an expense general ledger expense account. The total expense the employer incurs for that employee during that period is
$1095.49.
Now that you customized payroll aspects to meet fringing requirements, you can process standard payroll (including fringe payroll) using program
RPCALCU0.
Lessons Learned
Based on my experience, I’ve compiled some lessons learned that you might want to consider before embarking on your fringe payroll customization project.
- Business teams need to work with the technical team to specifically identify data elements and what- if scenarios prior to development
- Standard fringing is multiplying an amount by a fixed percentage, while dynamic fringing takes into account organizational objects to determine a percentage
- Create the development objects with authorizations in consideration to allow for secure user maintenance
- Use a new processing class to easily integrate fringing with the standard SAP table
- Set the fringe table up to be date-effective to utilize the delivered SAP retroactive functionality
- Develop the fringe function to be table-driven and flexible to reduce the risk of any potential Support Package and upgrade conflicts.
Mike Timm
Mike Timm is an SAP Certified Consultant who has specialized in SAP Human Capital Management since 1997. He is the managing partner of Integrated Consulting Group LLC, which he founded in 2000. Mike has been a speaker at SAP FI and HR conferences since 2003.
Mike will be presenting at the upcoming HR Payroll Seminar November 7-8 in Chicago and November 27-28 in Orlando. For information on the event, click
here.
You may contact the author at
mtimm@integratedcg.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the
editor.