Explore how your Payroll system uses processing classes. Our HR expert offers helpful hints and tips and explains how to create your own processing classes.
Key Concept
Dear HR Expert,
I have worked in SAP HR Payroll/Time for a couple of years, but I still do not completely understand the concept of processing classes in wage type table T512W. Can you please explain?
— Venkata Atkuru, Systems Analyst, Metropolitan Water Reclamation District of Greater Chicago, IL
Processing classes are one of the key methods of processing wage types in SAP Payroll. Processing classes are attributes of a wage type. When payroll runs, various procedures select and process wage types based on their processing class values. In addition to standard processing classes delivered by SAP, customers can create their own for custom payroll processing — for example, a class for fringe benefits.
A wage type has 99 processing classes, though Payroll does not use every one of them for every country’s payroll. Table T52D8 shows which processing classes apply to each country. Customers can use processing classes 90 through 99 for their own purposes and the others are delivered by SAP.
Several views maintain processing classes, but V_512W_O is a good, general view that lets you work with all 99 processing classes at once. Figure 1 shows this view for wage type 0SAL, which is a US salary wage type. Processing classes with a white box beneath them are available for US payroll. The Payroll system does not use the other processing classes for US payroll processing, so they are unavailable for input. Some processing classes are blank because Payroll does not use them for this type of wage type in some cases. For example, Payroll uses processing class 72 to define whether a wage type is an employee tax or an employer tax. Since salary is neither, the screen displays no value.

Figure 1
View V_512W_O shows all processing classes
Depending on how you use a processing class, a blank value may or may not work. It depends on how SAP created and uses the processing class. In either case, the processing class documentation should explain the purpose of each value. Select the processing class with the mouse, then press the F1 key for help documentation or the F4 key for a list of possible values.
Note
Ninety-nine processing classes should be sufficient for most companies. I’ve never run out of custom processing classes. If you run out, you could use evaluation classes or create dual-use processing classes, but this is an issue very few people face.
How Does Payroll Use Processing Classes?
You can access processing classes in two ways, via payroll functions and payroll operations. A payroll function looks at certain processing classes and then processes wage types based on which value it discovers. For example, US payroll uses the RGRTE payroll function to calculate the Fair Labor Standard Act (FLSA) regular rate of pay for an employee. To perform this calculation, the RGRTE function must know which wage types contribute to the regular rate of pay and which wage types calculate that regular rate. The RGRTE function uses processing class 85 to determine which wage types apply to the different parts of the calculation, as shown in Figure 2. SAP delivers the RGRTE function and processing class 85. When customizing your Payroll system, you specify which processing class 85 values to assign to your wage types.

Figure 2
Processing class 85 values
Payroll operations can also access a wage type’s processing class values. You can use the payroll operation VWTCL in a personnel calculation rule (PCR, or “rule” for short) to retrieve the current wage type’s processing class value. A good example is SAP’s standard rule X023, shown in Figure 3. Line 000010 finds the current wage type’s value for processing class 000020 and returns it to the variable key. If the value is 1, then the system executes line 000030; if 2, then line 000040; and so on through value B. If processing class 000020 contains none of these values, then the system uses the default value *, which executes line 000020.

Figure 3
Rule X023
You can use report RPDLGA20 (transaction PC00_M99_DLGA20) to determine which wage types have a certain processing class value. It reports on the same data shown in view V_512W_O. Figure 4 displays that report’s output, using its tree display option. You can browse through the processing classes and see which wage types have processing class 20, value 4.

Figure 4
View wage types with processing class 20
Processing Classes Are Date-Effective
Of the two ways to structure payroll calculations — hard-coding wage types and using processing classes — only processing classes are date-effective. If you must change the payroll calculation logic for a given wage type, you have to make that change date effective or subsequent retrocalculations will use the new logic, resulting in calculation differences.
Processing classes are attributes of a wage type, and wage types are configured with begin and end dates (Figure 1), so processing classes are much better suited for structuring payroll calculations. The system processes new wage types copied from a working model wage type in the same way as it uses processing classes, but you need to update the rule if the wage types were hard-coded.
You can access a wage type’s processing class in payroll calculations via a payroll operation in a PCR. The VWTCL operation reads the wage type’s processing class based on the end date of the payroll period. If a wage type splits in the middle of the period, the VWTCL operation uses the end date of that split. For example, if a monthly employee’s salary increases from $2,000 to $3,000 on January 10, the Payroll system creates two salary wage types. The first wage type includes dates from January 1 through January 9, and the second from January 10 through January 31. The VWTCL operation reads the wage type as of January 9 for the $2,000 salary and January 31 for the $3,000 salary.
Payroll functions typically follow the above logic, but because they are coded in ABAP, it’s possible that the business rules for the function require that the system read the wage type with a different date, such as the check date. The function’s documentation should specify how to use the dates, but if it doesn’t, then you have to examine its ABAP code. You can access the documentation and ABAP code for functions and operations with transaction PE04.
Create Your Own Processing Classes
Most companies need to use a custom processing class. You can use the IMG shown in Figure 5 to define your own processing classes and the values they use. You can document both the processing class and each of the values online by clicking on the blue and white information icon to the left of the name. If you maintain this documentation, users see it when they press F1 in the V_512W_O view.

Figure 5
IMG path for processing classes
Define your own processing classes when you need to process a set of wage types together for a specific calculation. For example, perhaps you have to calculate a fringe benefits expense as a percentage of certain wage types in payroll, but this expense varies per group of wage types. You could define processing class 90 as “fringe benefits wage types,” and then create values for each of the wage type groups. For example, use a value of 1 for each wage type evaluated with a 1% rate, a value of 2 for all wage types with a 5% rate, as shown in Figure 6.

Figure 6
Custom processing class for fringe benefits calculation
Next, create a custom rule to process all wage types that have a processing class value 90, shown in Figure 7. For each wage type the rule uses, query its processing class value 90 in line 000010. If the value is 1, then the system executes line 000030, creating the fringe benefits expense in wage type 9BEN. For value 2, the system executes line 000040. If processing class 90 is any other value, then the system executes line 000020, which calculates nothing for wage type 9BEN. If in the future, a wage type is supposed to go from a rate of 1% to 5%, it is simply delimited with a new effective date via configuration in view V_512W_O. Then the system changes processing class 90 automatically for that new effective date.

Figure 7
Use processing class 90 in a rule
Tip!
Use report RPUCCOSE to search for specific texts in a PCR. For example, to find all rules using processing class 20, search for “*VWTCL 20*.”
Tip!
You can also use processing classes in your custom ABAP reports and payroll functions. The VWTCL operation uses a routine with form VXKLAS in the ABAP include RPCBU309_ VVKLAS. You could also use that form’s logic in your company’s custom ABAP reporting.
Steve Bogner
Steve Bogner is a managing partner at Insight Consulting Partners and has been working with SAP HR since 1993. He has consulted for various public, private, domestic, and global companies on their SAP HR/Payroll implementations; presented at the SAP user's group ASUG; and been featured on the Sky Radio Network program regarding SAP HR.
Steve 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 sbogner@insightcp.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.