Payroll report with custom filters (11 techniques)

How would you solve a task where you need to find all employees with negative taxes? The wage type in payroll report should be shown as negative as there was a retro calculation. We don’t want to list every single person in the report, only people with negative taxes should be shown. This would cut the number of rows in the tax report we’re working on to do data adjustments.

Saying in tech language, we need to run  select * from rt where lgart = ? and betrg < 0. This trivial task to run a very simple payroll report with any custom filters on wage type values is almost impossible in SAP Payroll module.

Let’s think what we can offer to our Payroll customers and end-users.

11 techniques to build SAP payroll report with custom filter

  1. Standard wage type report. We can run the report and then filter values in ALV variant. it’s a waste of time and resources as SAP needs to go through every employee, extract all the data, bring it to us and only then we can filter. In case of millions of rows, it’s almost impossible to do in ALV screen.
  2. Create a technical payslip in PE51 transaction. It’s layout would look like CSV (Comma Separated Values) file with an employee number, wage type, period, value. We can easily download this file and convert to MS Excel. It’s a little better than the previous solution.
  3. Manually run SAP BI extractor in RSA3 transaction. The one cons here is the same as in bullet one – there is no way to filter wage type by value until you get ALV output.
  4. Use 4** payroll infotypes for reporting. These are virtual infotypes SAP creates base on Payroll Result Table. We can utilize these infotypes in SAP Query and setup filters there. It is time-consuming cause it converts cluster results to the infotype records for every single payroll period.
  5. PU12 transaction to export data out of SAP HR module. It downloads data to external TXT or CSV file which could be easily processed in Excel.
  6. DEvelop your own ABAP payroll report. Boring.
  7. Develop correction payroll schema and analyze needed wage type there. If it’s negative, save it’s value in some custom technical wage type. Then we can use standard payroll wage types report to review negative values.
  8. Develop eCATT script to run several SAP functional modules to extract and analyze data from the payroll cluster. Output data in some format like SAP spool.
  9. Call payroll BAPIs to extract data from SAP into MS Excel. This could be coded in Visual Basic to get access to SAP system. SAP logon is required and it works only on MS Windows platform.
  10. Declusterize payroll cluster (or move to HANA). Thus all payroll tables will be just plain tables which could be accessed with SE16 transaction.
  11. Run BI reports to analyze anything. BI is intended for this task.

My fantasy has ended here. I’ve not found any standard way to download a list of employees who have wage type amount value under some conditions like more, less or between.

So, is there a standard way to solve this task? Share and let’s find this out!