Configuring Workers Compensation Codes

Workers Compensation Report is a US Payroll Report very frequently asked for by several customers. This report is generated using the T-Code S_AHR_61016148 in SAP.

Here are the steps on how to create and relate the Workers Compensation Codes to SAP Jobs. One can go to SM30 and configure the below tables as explained to meet the business/legal requirement.

Table T513 – Create Job
Table T527X – Create Organizational Unit
Table T5UWC – Create Workers’ Comp Code (and text) in each state
Table T5UWS – Relate each Workers’ Comp assessable Wage Type to each State
Table T5U25 – Relate each SAP Job to Workers’ Comp Code
Table T5U26 – Relate Org Unit to Workers’ Comp State & Workers’ Comp Code

Below is a little more detailed explanation I have extracted from an SDN post (Thanks to Howard G):

Table T513
This table is used to establish new jobs. This table will need to be updated for any new SAP Jobs created before Table T5U25 (which relates SAP Jobs to Workers’ Comp Codes) can be updated. The navigation path through the IMG is: Personnel Management => Personnel Administration => Organizational Data => Organizational Assignment => Organizational Plan => Define jobs

Table T527X
This table is used to establish new organizational units. It may not be critical to populate this table because org unit is the default method of workers’ comp reporting. If an SAP job isn’t related to a workers’ comp code, the system will attempt to use the org unit information to determine the proper workers’ comp code to use. The navigation path through the IMG is: Personnel Management => Personnel Administration => Organizational Data => Organizational Assignment => Organizational Plan => Define organizational units

Table T5UWC
This table is used to create the workers’ comp codes in use in each individual state. You may determine that you’ll use a limited number of the standard workers’ comp codes and will update the codes in use infrequently. The navigation path through the IMG is: Personnel Management => Personnel Administration => Organizational Data => Workers’ Compensation => Define workers’ compensation classification codes

Table T5UWS
This table is used to create the wage types that comprise workers’ comp wages in each state. Note that this means when a new wage type is created, a decision will need to be made concerning whether or not it is assessable for workers’ comp insurance. If it is not assessable, this table will not need to be updated. If a new wage type is assessable for workers’ comp insurance, the table will have to be updated. The navigation path through the IMG is: Personnel Management => Personnel Administration => Organizational Data => Workers’ Compensation => Define state workers’ compensation wage types

Table T5U25
This table is used to assign each SAP job in each state to the workers’ comp code in that state. The navigation path through the IMG is: Personnel Management => Personnel Administration => Organizational Data => Workers’ Compensation => Assign Workers’ Compensation codes to organizational structures.

Table T5U26
This table is used to assign each organizational unit to a default workers’ comp code and state. It is not critical to populate this table with all new org units, as it is used as a default when the system cannot find a relationship between a particular SAP job and a workers’ comp code. The navigation path through the IMG is: Personnel Management => Personnel Administration => Organizational Data => Workers’ Compensation => Assign Workers’ Compensation codes to organizational structures.

Pension Fund CH and infotypes in SAP HR payroll

For penion fund management to be implemented via SAP HR, please use the links provided in this post. The SAP standard PF (pension fund) may be different from the customer pension fund. Setup the user interface as well so that the “PF-Administration” transaction can be accessed using the menu.

SAP can import data from HR master data (infotypes such as personal data – 0002, Addresses – 0006, basic pay -0008) into PF component calculations.

PF specific infotypes are:

  • 0278 – basic data PF
  • 0279 – indivudual values PF

Link to User hand book
Link to technical user hand book
Link to reference guide

Garnishment in SAP HR

Q1. What is a garnishment?
A1. Garnishments are payroll deductions which differ from other types of deductions in that they are governed by goverment and judicial rules. They are compulsory for both the employee and employer. The employer generally is liable for 100% of the amount it fails to withhold pursuant to a garnishment order and penalties and punitive damages can be imposed for failure to properly comply with the terms and conditions of an order.

Q2. How is a garnishment initiated and what is the process?
A2. Generally, an employee experiences financial trouble and a court mandates an order that stipulates the deduction amount and frequency which is received by the employee’s HR department, the information is then entered into R/3, the amount is deducted when processing RPCALCU0, the vendor is paid via Third Party Remittance and the employee and vendors are notified of these deductions through automatically generated letters.

Q3. What types are garnishments are there?
A3. R/3 handles 5 main categories:
Support (child, spousal, and medical)
Federal debts (student loans and administrative wage
garnishments (AWG))
Federal and State Tax Levies
Voluntary Garnishments

Q4. What is the difference between Exempt and Non-Exempt amounts?
A4. The exempt amount is the amount which cannot be taken to satisfy a
garnishment and the non-exempt amount is the amount that can be taken.

Q5. How is the exempt and non-exempt amounts calculated?
A5. Various rules apply based on the type and priority of the garnishment. There are Federal and State rules and the state rules will vary from state to state.

Q6. What if an employee has multiple garnishments?
A6. Garnishments are processed based on priority rules. Generally, child support orders have the highest priority, Federal Tax Levies have the second highest priority and then other types of garnishments are on a first come, first serve basis.

Infotypes –
Q7. What infotypes are used within R/3?
A7. There are three infotypes designated for garnishment processing.
IT0194 – Garnishment Document
IT0195 – Garnishment Order
IT0216 – Adjustments
The document information is entered on IT0194 and the actual deduction amount and frequency is entered on IT0195. The two infotypes are linked via a system generated internal number and you can have multiple orders (IT0195) for one document (IT0194) and these are linked via a system generated sequence number. Infotypes 0195 and 0216 can only be created once an IT0194 record has been created and saved. For processing purposes, RPCALCU0 reads IT0195.

Q8. How do I make changes to an existing Garnishment Order (IT0195)?
A8. With Edit -> Copy, you can make changes to the Order, but keep the same sequence number and maintain a history in the system. With selecting Change, you can make changes but no history is maintained. Also, a change can be made through creating a new IT0195 which maintains history, however a new sequence number is generated and the order is now processed as a separate order in R/3 and does not cumulate as part of the original order. IT0195 should always be accessed via IT0194 when making changes.

Q9. When should I use the Adjustment IT0216?
A9. IT0216 should be used to correct errors in RPCALCU0; additional deductions are required; to enter a new balance; refund from vendor; exceptional payments; separate calculation; calculate end date;
or stopped vendor payment.


Q10. What are the relevant tables for Garnishment Processing?
A10. T5UG0 – Garnishment Order Types
T5UG1 – Garnishment Categories
T5UG2 – Adjustments to the Disposable Net
T5UG3 – Model for the Non-exempt amount
T5UG4 – Rules for calculation of Non-exempt amount
T5UG5 – Model Key and Text for Adjustments to the Disposable Net
T5UG6 – Government Rules for Service Charges
T5UG7 – Government Rules for 3PR
T5UG8 – Company Rules for 3PR
T5UG9 – Garnishment Default Values
T5UGA & T5UGB – Special Rules for the Calculation of the
Non-exempt amount
T5UGA – Rule Key/Names & Texts for special variables to
display on IT0195 screen
T5UGB – Sequence of Operations to be performed
T5UGC – Service Chg Rule Key and Text for Country/State/Document
category combination
T5UGD – Levy Form – Filing Status listed
T5UGE & T5UGF – Levy Form – Exempt amount and additional
exempt amount for each filing status
T5UGG – Company Rules for Service Charges
T5UGH – Levy Form – Forms Defined
T5UGI – Letters – Select Form & User exit for letter type
T5UGJ & T5UGK – Not Customizing Tables, used for the Printing
Request for the Notice and Answer Letters
T5UGL – Letters – Definition & location of user exit
T5UGM – Garnishment Originator on IT0194

Payroll Processing –
Q11. What are the wage types associated with Garnishments?
A11. /G00 – Disposable Net
/G01 – Gross for Garnishment
/G02 – Completely Non-exempt
/G03 – Garnishment Total Amount Deducted
MG10 trough MG70 delivered templates for Garnishments to be taken

Q12. What are the Garnishment Cluster Tables and what do they represent?
A12. GRDOC – corresponds to garnishment document (IT0194)
GRORD – corresponds to garnishment order (IT0195) or garnishment
adjustment (IT0216)
GRREC – actual deductions and wage types and also used to carry
forward results

Q13. Where are garnishments calculated in RPCALCU0?
A13. Garnishments are processed via the schema UGRN following the calculation of taxes (UTX0). The actual amount to be taken is
calculated with the function UGARN.

Q14. What is the main garnishment Include?
A14. The main garnishment include is RPCPIUU0 – forms called by
UGARN. Also of importance is RPCPIUF0 – function UGARN.
Quick Tips for Troubleshooting Garnishment Processing
Q1. What are some items to check when troubleshooting Garnishment Processing in R/3?
A1: Review the following:
o On IT0194, check the validity dates, determine what kind of garnishment, how many are involved and the status of the garnishment (e.g. active, pending).
o Check the IT0195 validity dates and note the Remit Rule, deduction amount, frequency and how many IT0195’s are involved.
o Review RPCLSTRU and the payroll dates in question, keep in mind the information found on IT0195 and the Garnishable period is from the beginning of the pay period to the actual check date. Garnishments are deducted based on the check date.
o Within the EE’s results, also check for wage types /G00, /G01, /G02 and /G03 and the wage type for the garnishment to see how much was deducted.
o Still within the EE’s results, review the GRORD record and check the limit, disposable net, month to date, deduction to vendor (DEVEN) and the deduction from infotype (DEINF).
o Multiple garnishment processing, be sure the system can legally take all the garnishments.
o Check schema UGRN for any customer modifications.
o Double check that Notes have been applied correctly and completely.
o Review the Garnishment History either via IT0194 or IT0195 which lists the actual deductions taken with the check date.
o Also via IT0194 or IT0195, you can view Customizing details (Environment -> Customizing details; 4.6C Extras -> Customizing Review)
o Both the Disposable Net and calculated Net Pay should be the same.
Q2. Why was an IT0216 record not processed?
A2. IT0216 can be edited/deleted before running payroll. If payroll is run and there is no wage type listed on IT0216, this record will not be read nor will it be posted to FI.

Q3. Why does a deduction occur after the initial balance has been met?
A3. It is most likely misconfiguration of the Ordre Category (table T5UG0). Usually, it is a State Levy that has been given the Order Category of a Federal Levy. A State Levy should have the Order Category ‘3? for Generic in table T5UG0. The order category ‘2? Levy only applies to a Federal Levy. Also, a Federal Levy will not stop when an initial balance is reached because by law, it can only be manually stopped by changing the status of IT0194 to ‘4? Released, once the company has received Form 668-D from the IRS. (Please Review Related Note 521735.)

Q4. How is General Disposable Net calculated?
A4. There are two ways to calculate general Disposable Net (/G00).Either start with the gross amount (/101) and subtract exempt amount or start with 0 and add up all the earning wage types to be included (e.g. M003). This is configured via PRCL 59, double check the values for the wage types in question for this PRCL. A useful tool for checking Processing Classes for wage types is program RPDLGA20 (choose the Output radio button ‘Tree Structure’).

Q5. How are garnishments and Arrears handled?
A5. Garnishments do not follow the same Arrears principles as other deductions. The arrears functionality for garnishments only refers to deductions within a particular month. If the total amount of a garnishment cannot be taken for the month, the remaining amount does not carry forward to the next month. The values for Arrears processing are set in table T51P6 and for all garnishment wage types, the value for Arrears should be a ‘4? and the Retro column should be blank in this table.(Please see Note 338841.)

Q6. Can Garnishment wage types be entered on a NAMC (IT0221)?
A6. No, Garnishment wage types cannot be entered on IT0221.There is a V0 split indicator that connects garnishment Wage types to garnishment tables and there is no V0 split on IT0221.

Q7. How are garnishmnents handled during Retroactive Accounting?
A7. Garnishments will not recalculate in a retrocalculation. The amount originally deducted continues to be carried forward. Consequently, no retroactive changes should be performed for garnishments. If changes need to be made, perform an EDIT – >COPY operation that will result in delimiting the IT0195 record.

Q8. What do I check for priority issues; double, incorrect or missing deductions?
A8. First check IT0194 and IT0195 and their validity dates and priority. Make sure the Rule in IT0195 was customized to do what is expected. Look at the Disposable Net and Non-exempt models.

Q9. What should I check if Payroll Abends within UGARN?
A9. Check the payroll results GRREC for a record without a wage type.

Q10. Is it possible to specify a percentage or portion of a wage type?
A10. At this time, the garnishment module does not offer a functionality that would allow specifying a percentage and/or portion of a wage type to be deducted other than from gross and net. The workaround is to create a special rule with the garnishment orders having different priorities and different IT0194 records.

Payroll results – Infotype 402

Payroll results can be held in infotype 402, for this we need to do some configuration.
IMG Menu path – Personnel Admin –> Personnel Management –> HRIS –> Payroll Results.

Define Evaluation Results: The evaluation wage type is the name of the field – note it is not the actual wage type. The cumulation can be either M (Monthly cumulation), Q (Quarterly cumulation) and Y (Annual cumulation). If results have to be saved on IT 0402 this should be left blank. These 3 values relate to infotypes 0458 (Accounting infotype), 0459 (Quarterly Cumulation) and 0460 (Annual cumulation). The text entered in the field “Evaluation WTT Text” will be seen on the infotype. Choose either an amount or a number for the wage type.

Assign Wage Types: In this screen you do much the same as in the first step. In addition you need to link the different wage types to your evaluation wage type. You can also tick the checkbox to indicate that the wage type’s sign should change.

Set Up Payroll Accounting Infotypes: Highlight the wage type where you would like the results to appear – usually 402 to start with. Click on the evaluation assignment icon. Create your entry in the table that appears. Go back to the previous screen, select the infotype and click on the generate icon. You will notice the tick on the “generated” column once this has been done. The infotype should also be active. If you are doing this for the first time, you will need to tick the “acitve” box once you have generated the infotype.

Set Up Assignment for Payroll: Ensure your infotype exists in this table if you wish to have the infotype updated during the course of a payroll run. If you don’t have any data in this table, you can still run the report RPABRI00 to manually populate the infotypes.

So there are to ways to save the payroll results in 402 a) Maintain entries in T521F to automatically update infotype 402 after the payroll run. b) Run the RPABRI00 program to move the payroll data into infotype 402.

Pre-Tax and Post-Tax Deductions

  • Pre-tax deduction happens before the taxes are calculated and deducted from the gross income. Here the taxable income would be less as the deduction happens before the tax gets calculated.
  • Post-tax deduction happens after the taxes are calculated and deducted from the gross income. Here the taxable income would be more as the deduction happens only after the taxes are deducted.

 Example: Gross income – $ 1000, 401(K) savings – $200, tax percentage – 2%

 In case of Pre-tax Deduction, Net Earnings will be $ 784

              Calculation: (Gross income – Pretax deduction) – tax deduction

      = (1000-200) – 16     

      = 784

In this example, the pretax deduction (401 K Savings) is deducted before the tax is calculated on the gross income. The net gross available would be $ 800 after deducting $200 for 401 K savings. 2 % tax on $800 would be $16. So the net earnings will be $ 784 after deduction of tax.

In case of Post –tax Deduction, Net Earnings will be $ 780    

Calculation: (Gross income – tax deduction) – Post tax deduction

                      = (1000 – 20) -200

                      = 780

In this example, the post tax deduction (401 K savings) is deducted after the tax is reduced from the gross income. 2% tax on gross income would be $20. After deduction of tax the net gross available is $ 980. Then after deducting the amount of $200 for 401k which is post tax deduction, the net earnings available will be $780.

Processing class 71 in Payroll

  • Processing class 71 (Wage type tax classification) defines the tax combination that needs to be done. Table : V_512W_D
  •  Each wage type is assigned to a taxability class via processing class 71.
  • The tax classes are assigned to each tax model in different combinations in table T5UTM (Tax Model) and those values indicates for which wage types the tax type combination will be used.
  • For example, if a wage type contains value ‘1′ (regular wages) in Wage type tax classification 71 and only tax models (assigned for each tax authority) which have a ‘1′ in the tax class field (defined in tax tables) will apply to the wage type and hence only those wages will be taxed using the specified combination.
  • To quote one more example, say a wage type should not be taxed for a particular state but for other states it should be taxed. In this scenario, a new specification class can be created and assigned to the processing class 71 against respective wage type. The same value should be entered in the tax class field against all the tax models for which the tax has to be calculated and it should not be assigned to the model where it should not be taxed.

Configure a wage type to accept zero values

Table: V_T511 (Wage Type Characteristics)

Basically the table Wage type characteristics is used to define how the wage type has to behave in the payroll.  When the wage type is defined to accept the amount, we can configure it to accept zero value.


Ø  Input combination box would be present in the screen when the table is opened.

Ø  Under which the amount column should be defined with “.”  to accept Zero value and the number/ unit column should be “-”

Stop Tax deduction for a particular region

For all the tax related information, there are 3 main tables which need to be looked at:

T5UTE (Tax Authority / Tax Calculation Model):  The tax model will be assigned to the tax authorities.

T5UTM (Tax Model): Taxability model will be defined here with respect to definition of type of payment, type of employee and residency or work. Tax combo for each definition will be assigned.

T5UTY (Tax Type Combinations): Here we define the Tax Type combination. Against each tax combo tax type will be defined.

The tax combo defined will be assigned to taxability model and the taxability model will be assigned to tax authority.

Steps to be followed to stop the deduction of a particular tax which is being withheld from the employees who work for a particular region:

Ø Check for the taxability model assigned to the tax authority (in table T5UTE)


Ø Then check for the tax combo attached to the tax model. (in table T5UTM).


Ø Check if any of the tax combo’s are assigned with the tax type that calculates the tax which needs to be stopped from deduction from employees. (in table T5UTY)


ØIf so, create a new tax combo ignoring the relevant tax type that calculates tax which needs to be stopped from deduction.


ØAssign the newly created tax combo to the taxability model with the effective date by delimiting the earlier tax combo.


*Note: These steps can be followed only when the tax model and the tax combo are used only for that particular region for which the tax deduction from the employees needs to be stopped.

Gross-Up Functionality in SAP HR Payroll

Gross-Up wage types are created in order to make available  the whole net amount to the employee and the taxes will be borne by the employer. 

·         The concept behind the gross up functionality is that the net amount will be entered on the infotype and when payroll runs it takes the net amount and grosses up the taxes and adds that to the net to get a gross amount (taxes + net). 

·         Three wage types are needed to perform this:

1.       Wage Type Gross-Up – Net amount available to the employee

2.       Wage Type Tax Gross – Up – Tax Amount

3.       Wage Type Gross -Up Result  – Total Gross income 

·         Wage type Tax Gross-Up Results and Wage Type Tax Gross-Up needs to be assigned as 1st derived wage type and 2nd derived wage type against the Wage Type Gross-Up in the table V_ 512W_B (Valuation Bases).


 Note*: Wage type creation procedures are same like normal wage types.

Wage Type Processing Basic Concepts – part 2

Now copy the SAP-standard schema U000 to ZUA1 and comment out the initialization schema UIN0 (Figure 3).


Figure 3 Comment out the initialization schema UIN0


In the schema editor, create the production schema (don’t copy it from anything) in my example ZUA0. Be sure to check the Schema can be executed checkbox. (See Figure 4.) Only executable schemas can be entered into the payroll driver selection screen.


Figure 4 Check the Schema can be executed checkbox


The production schema ZUA0 is a simple one, just two lines. (See Figure 5.) First, you call the initialization schema, and then you call the main calculation schema ZUA1.


Figure 5 Schema ZUAO


Copy schema ZUA0 to your test schema ZUAT. (See Figure 6.) You want ZUAT to ignore the control record, so have it use schema UIN0 for initialization. Remember that CHECK ABR is commented out in UIN0. Therefore, both the production and test schemas now use the same calculation logic in schema ZUA1 – which keeps them in sync.


Figure 6 Copy schema ZUA0 to test schema ZUAT


Your custom rules for these examples will go in a copy of schema UAP0. Copy UAP0 to ZUA3 and add lines for each of the five examples. (See Figure 7.) Edit schema ZUA1 to COPY ZUA3 instead of COPY UAP0 (not shown).


Figure 7 Add lines for each of the five examples