Expand +



How to Automate Taxation of Wages Using a Flat-Rate Method During an Adjustment Payroll Run

by Sumy Nair, Senior SAP Configurator and Analyst, Los Angeles Community College District

May 14, 2018

SAP payroll schema and BSI TaxFactory 10.0 are tools that can be used to customize taxation of wages paid to employees. Learn how to customize and automate tax calculations on supplemental wages using a flat-rate method during adjustment payroll using SAP payroll and BSI TaxFactory 10.0.

Supplemental wages are payments to an employee that are not regular wages. According to IRS Publication 15, Section 7, an employer can choose to tax an employee’s supplemental wages at a flat rate (e.g., withheld at a flat 25-percent federal rate—no other percentage is allowed). In addition, each state has its own flat rate specified by its tax department (for example, the flat rate is 6.6 percent for California).  

In a scenario in which your organization needs to do a lump-sum vacation payout for a separated employee or a group of separated employees, the payroll administrator can maintain infotype 0416 (quota compensation) or directly enter a vacation payout wage type in infotype 15 (additional payments) in the employee master data and process this via adjustment payroll.

If the lump-sum vacation payout wage type is set up as a supplemental payment (processing class 68 – specification 2) or as a vacation payment (processing class 68 – specification 4) as shown in Figure 1, and if the tax sub-schema settings in your SAP payroll system are set up as shown in Figure 2, the system taxes these wages using the separate aggregate method during the adjustment payroll run.

Figure 1
Processing class 68 and its specification values in table V_512W_D, accessed via transaction code SM31

Figure 2
The standard SAP tax sub-schema settings for function UPAR1

To make the taxation wage type specific during the adjustment payroll  run, change the second parameter (Par2) value from 1 to NODF for function UPAR1 (Figure 3).

Figure 3
Change the Par2 value for function UPAR1 to NODF

However, if you do not want to change the standard settings or if your organization wants to pay the vacation payment or any other allowances to these separated employees at a flat rate regardless of the wage type processing class 68 specification, you can achieve this by writing a custom rule in the payroll schema and setting up a group override in BSI TaxFactory 10.0. Once done, the supplemental wages can be taxed at a flat rate and processed via an adjustment payroll run.

(Note: For the methods described in this article, BSI TaxFactory 10.0 must be installed and the connection must work properly. In addition, readers should have basic knowledge of the U.S. payroll schema and how to write rules.)

In the SAP ERP HCM system, infotype 234 (Figure 4) is used to maintain tax overrides for each employee via transaction code PA30. This process can be cumbersome if you want to maintain the master data for a group of employees.

Figure 4
Set up infotype 234 overrides via transaction code PA30

Assume that a company wants to make a one-time lump-sum vacation payout to a withdrawn employee using infotype 0416 (time quota compensation) and process it via adjustment payroll. The steps provided below outline how to automate taxing such supplemental wages using a flat-rate method.

(Note: The focus of this article is for companies that use concurrent employment, but the logic is applicable in a non-concurrent employment setup as well.)

In the following sections, I show the steps for how to:

  1. Configure an adjustment payroll reason code to process the lump-sum vacation payment. This code is then used in the custom rule to determine the taxation method.
  2. Write a rule in the payroll schema to automate taxing supplemental wages using a flat-rate withholding method.
  3. Modify the payroll tax schema, where the custom rule created in step 2 is called.
  4. Pay the adjustment payroll using off-cycle reason code 9001.

Step 1. Configure an Adjustment Payroll Reason Code

In this step, I show how to create an off-cycle reason code that is used to run the adjustment payroll. Execute transaction code SPRO and follow menu path Payroll > Payroll:USA > Off-Cycle Activities > Set up Off-cycle Reasons. In the screen that opens (not shown), click the New Entries button. In the screen that appears (Figure 5), enter an off-cycle reason name and select a category for the off-cycle reason (the OC cat. column); in this case, use 03 (Adjustment). In this example, off-cycle reason code 9001 is used to execute the adjustment payroll. Click the save icon  to save your changes.

Figure 5
Enter a meaningful description for the off-cycle reason

Step 2. Configure the Employee Groups and Group Overrides in BSI TaxFactory 10.0 

The next step is to set up an employee group and the group overrides in BSI TaxFactory 10.0.

To do this, log in to BSI TaxFactory 10.0 portal. This opens up the screen shown in Figure 6, where you click the Employee Groups link. This brings up the Manage Employee Groups screen on the right.

Figure 6
Maintain the new Employee Group in BSI TaxFactory 10.0

Or you can also use the Jump To field feature and select the Employee Groups from the drop-down options (Figure 7).

Figure 7
Find links to Employee Groups and Group Overrides

Next, click the Click here to add a new Group link, which opens up a new screen in the same panel on the right (Figure 8). Here, you enter the Group Code (LSVP) and Group Name (Flat Rate Method), and then click Save (under the Group Name field). Note that the Group Code name must be unique.

Figure 8
Add the new group link

After you create the Employee Group code, click the Group Overrides option on the left. This action opens the panel on the right of Figure 9 in which you set up the group overrides for the group code (e.g., LSVP). In this panel you can see the list of the Employee Groups maintained in the previous step.

Figure 9
Maintain the Group Overrides for the LSVP group code

After you click the Flat Rate Method link in Figure 9, the Manage Group Override screen in Figure 10 opens on the right.

Figure 10
Manage the group override for the flat-rate method

Click the Click here to add a new Override link. In the new screen that appears (Figure 11), you can select the tax authorities for which you need to maintain the tax overrides. In this example, I add the tax overrides for the federal and California tax authorities.

Figure 11
The override information for the federal tax authority

(Note: To find the federal withholding flat-rate tax and the state payroll tax rates, check the IRS and the respective state tax department websites.)

In the Manage Group Override screen (Figure 11), provide an effective start date for the tax override to take effect. In this example, I have used January 1, 2014. Next, enter the tax authority (in this example, FED). After you enter the tax authority, BSI TaxFactory 10.0 automatically completes the selections and provides you with a list from which you can select the tax authority. Maintain the values for the other fields as shown in Figure 11 and then click the Save button.

In the same manner, maintain the tax rate for the state tax authority as shown in Figure 12.

Figure 12
Enter the override information for the California state tax authority

After these configurations are complete, click the Save button and then the Exit button to log out of BSI TaxFactory 10.0.

Step 3. Write a Rule in the Payroll Schema to Automate Flat-Rate Taxation

In this step, I show how to create a custom rule ZMOT to call the Group Code LSVP that was created in BSI Tax Factory. Log in to the SAP client and execute transaction code PE02. In the screen that opens (Figure 13), enter UMOT in the Rule field and click the copy icon.

Figure 13
Enter rule UMOT

In the next screen (Figure 14), enter the custom rule name ZMOT in the To rule field. Then click the green checkmark icon to save your changes and create the rule. (UMOT is automatically selected in the From rule field.)

Figure 14
Copy the rule UMOT to rule ZMOT

Rule ZMOT can be defined for a certain authority, employee group, or employee subgroup. In this scenario, the rule does not have any restriction on tax authorities or the employee subgroup.

In standard rule UMOT, the operation UMODEEG99 sets the employee group EG99 as the default employee group, which then is passed to the BSI interface. To trigger the flat-rate taxation method that was maintained in step 2, this default employee group needs to be changed to the custom employee group LSVP that was created in step 2. To do this, access the custom rule ZMOT via transaction code PE01 and click the Change button. This opens the screen shown in Figure 15. Place the cursor on operation UMOD with modifier E and employee group EG99 (i.e., UMODEEG99). Click the pencil icon to edit this line. Now, delete the last four characters (EG99), add LSVP in place of EG99, and hit Enter. Then click the save icon and exit the rule maintenance screen.

Figure 15
Change the custom rule ZMOT for calling the BSI TaxFactory override group code LSVP

(Note: The same group code does not necessarily need to be maintained in SAP table BTXEGRP (SPRO > Payroll:USA > Tax > Tax Data Maintenance > Tax Overrides > Define Employee Group) since you maintained this group code explicitly in the custom rule ZMOT.)

Step 4. Modify the Payroll Tax Schema

For a U.S. non-concurrent employment schema, you can add the rule inside the custom copy of sub-schema UTX0. For a concurrent employment schema, you can add the rule inside the custom copy of sub-schema UTAC. In this example (Figure 16), I use custom sub-schema ZTAC, which was copied from UTAC using transaction code PE01. Here, I modified the ZTAC sub-schema (lines 80 to 120) to call the custom rule ZMOT when it is an off-cycle run.

Figure 16
Modify the tax schema to call the rule if it is an off-cycle run

Line 80: The IF condition checks whether the off-cycle reason is 9001 (the off-cycle reason code configured in step 1).

Line 90: If the condition is true, the system processes function UMOD with the custom rule ZMOT containing the override group.

Lines 100 to 120: If the condition is false, the system processes the standard rule UMOT with the default group.

Step 5. Payout via Off-Cycle Adjustment Payroll Using Off-Cycle Reason 9001

In the final step, process the wages that need to be taxed using the flat-rate method. To complete this step, execute transaction code PUOC_10 to bring up the Off-Cycle Workbench (Figure 17). Select reason code 9001 – Flat Rate Taxation (created in step 1) and then click the Start Payroll button.

Figure 17
The off-cycle workbench

To enter multiple employees, use the payroll driver screen (transaction code SE38 > RPCALCU0). In the screen that appears (Figure 18), click the multiple-selection icon  and enter the required personnel numbers. Then enter the reason code (created in step 1) in the Reason for payroll field, the payroll type (B—adjustment payroll) in the Off-cycle payroll field, and the payment date.

Figure 18
Process the off-cycle payroll run for multiple employees using the payroll driver

You can check the BSI interface log to ensure that the custom override group LSVP is used instead of the default group EG99. To do this, click the display log icon  in the off-cycle workbench (not shown) and in the resulting display log tree screen, click the find icon . Then enter BSI interface and press Enter. This action highlights the BSI interface node in the display log tree (Figure 19). Expand the BSI interface node and look for the GC (group code) in the line IPC CC. Here, you can see that the custom group code LSVP is being used.

Figure 19
The BSI interface log showing the LSVP group code

As shown in the paystub (Figure 20), the payroll run calculated the taxes at a flat rate for the wages processed via this adjustment run. The income taxes are withheld at a flat rate of 25 percent for federal income tax (FED) and at a rate of 6.6 percent for the California state income tax (CA), respectively. 

Figure 20
The paystub showing the income taxes withheld in the adjustment payroll run

An email has been sent to:


Sumy Nair

Sumy Nair ( has over 10 years of experience architecting and implementing SAP HCM techno-functional solutions for private- and public-sector organizations.


Please log in to post a comment.

No comments have been submitted on this article. Be the first to comment!