SAP Knowledge Base Article - Public

2844422 - How to Generate EEO-1 Report with Payroll


  • EC Standard Report for EEO does not contain Payroll Information
  • EEO with Salary Band
  • Cannot report on Payroll in EEO EC Standard Report


  • SAP SuccessFactors HCM Suite
  • Report Canvas / ORD: Advanced Reporting

Reproducing the Issue

 There is a new variation of the Equal Employment Opportunity Analysis (EEO) Report

Cause provides material and information about Component 2 EEO-1 Compensation Data filing. It’s generally recommended to generate the report from ERP. However, for those customers that are not able to generate the report from ERP (e.g. due to non-availability of employee job category in ERP but only to have this data in EC).


The overall recommendation is still to generate EEO-1 from onPrem.

The below description is just for those customers that insist to generate EEO-1 from EC. Note that this approach might have limitations and will certainly slightly change from customer to customer. Due to these differences it is hardly possible to ship a standard report. Everything what was valid for the old EEO-report remains also valid for the new EEO-1 (e.g. attributes like ‘EEO job category’ and ‘ethnic group’ needs to be maintained for each employee; definition and maintenance of “Reporting Entity for North America”).

Note that the approach below might have limitations for particular customers with regard to

1. payroll results: Voids/reversals not supported; problems with bonus payments at the same day as regular payments

2. Time data can easier be derived from payroll. The approach described below uses data from EC time; however, due to different scenarios how EC time is used (e.g. only usage of time off, time recording only for overtime, full time recording) it is required to adjust the report logic for the particular usage.

(1)   Usage of payroll results:

(1)    Replicating payroll results from Employee Central Payroll (ECP) is described at => section “Implementation” -> Employee Central Payroll using Point-to-Point Integration -> Once the System is Running -> Using Payroll Results in Employee Central

(2)    It’s important to define a “cumulative wage type” (if not yet existing for other purposes like the Form W-2 -> Box 1 where it’s required to enter “Wages, tips and other compensation”)
Remark: Instead of usage of a “cumulative wage type” it might be an option to use the

(2)   Determination of “Hours Worked”

The determination of “Hours Worked” depends on the different scenarios how EC Time Management is used:

Non-exempt FLSA
=> employers report FLSA hours worked

Exempt FLSA
=> employers report proxies of either 20 hours (part time) or 40 hours (full time) per week or the actual hours worked (if available)

No EC Time Management implemented 

Calculation based on master data (i.e. “FTE”/ “Standard Weekly Hours” and number of active days)

Similar as for Non-exempt FLSA; dependent on full time or part time employment:
“40hours / 20 hours” * {“Number of active days” / 7 }

Only Time Off used

Same as above minus number of absence days (vacation, sick leave)

Same as above

TimeSheet Overtime

Same as above plus accumulated number of overtime hours

Same as above

Timesheet – Full working time

Usage of EC timesheet: “Aggregated Calculated Column” based on “Global Job Information” => Time Management -> Employee Time”; Accumulation of employeeTime-quantityInHours; “Aggregate Function” = “Sum”, “Filters” for approvalStatus = APPROVED, timeType (external Code) = {relevant time types like working time, overtime, etc.} and startDate/endDate for {respective year}

If timesheet data available: See Non-exempt FLSA

Same as above

Note that the FLSA-status (<hris-field max-length="256" id="flsa-status" visibility="both">) is defined in the section “Compensation Information” (<hris-element id="compInfo">) of the SCM (Succession Data Model).

(3)   Creation of Custom MDF object for the EEO salary ranges

(1)    Definition of the custom MDF object “Salary Range For Legal Reporting” with fields like country, Higher Limit, Lower Limit (could be effective dated if it is expected that the EEO salary changes might be changed from one year to another)

(2)    Rename “externalName” to “EEO Salary Range”

(3)    Maintenance of 12 records:

o   external Code = EEO1-1; externalName = Pay Band 1; country = USA; Lower Limit = 0; Higher Limit = 19240; effectiveStartDate = 01/01/2019

o   external Code = EEO1-2; externalName = Pay Band 2; country = USA; Lower Limit = 19240; Higher Limit = 24440; effectiveStartDate = 01/01/2019

o   external Code = EEO1-3; externalName = Pay Band 3; country = USA; Lower Limit = 24440; Higher Limit = 30680; effectiveStartDate = 01/01/2019

o   external Code = EEO1-4; externalName = Pay Band 4; country = USA; Lower Limit = 30680; Higher Limit = 39000; effectiveStartDate = 01/01/2019

o   external Code = EEO1-5; externalName = Pay Band 5; country = USA; Lower Limit = 39000; Higher Limit = 49920; effectiveStartDate = 01/01/2019

o   external Code = EEO1-6; externalName = Pay Band 6; country = USA; Lower Limit = 49920; Higher Limit = 62920; effectiveStartDate = 01/01/2019

o   external Code = EEO1-7; externalName = Pay Band 7; country = USA; Lower Limit = 62920; Higher Limit = 80080; effectiveStartDate = 01/01/2019

o   external Code = EEO1-8; externalName = Pay Band 8; country = USA; Lower Limit = 80080; Higher Limit = 101920; effectiveStartDate = 01/01/2019

o   external Code = EEO1-9; externalName = Pay Band 9; country = USA; Lower Limit = 101920; Higher Limit = 128960; effectiveStartDate = 01/01/2019

o   external Code = EEO1-10; externalName = Pay Band 10; country = USA; Lower Limit = 128960; Higher Limit = 163800; effectiveStartDate = 01/01/2019

o   external Code = EEO1-11; externalName = Pay Band 11; country = USA; Lower Limit = 163800; Higher Limit = 208000; effectiveStartDate = 01/01/2019

o   external Code = EEO1-12; externalName = Pay Band 12; country = USA; Lower Limit = 208000; Higher Limit = 9999999; effectiveStartDate = 01/01/2019

(4)   Adjustment of EEO report “Equal Employment Opportunity Analysis (EEO) - USA”

Following steps are needed to adjust the first 2 pages of the already existing EEO report “Equal Employment Opportunity Analysis (EEO) - USA” (1st page called “EEO – Individual Establishment”, 2nd page called “EEO – Consolidated Report”):

(1)    Once the MDF objects EmployeePayrollRunResults and EmployeePayrollRunResultsItems are filled (see step (1) from above, a new “Aggregated Calculated Column” needs to be defined for the “Annual Salary”:

§  This “Aggregated Calculated Column” should be based on “Global Job Information”=> Payroll Information”-> EmployeePayrollRunResults -> EmployeePayrollRunResultsItems.

§  Accumulation of EmployeePayrollRunResultsItems-amount

§  “Aggregate Function” = “Sum”

§  “Filters” like EmployeePayrollRunResultsItems-startDateWhenEarned >= {First of January of the respective year}; EmployeePayrollRunResultsItems-endDateWhenEarned >= {Last of December of the respective year} and EmployeePayrollRunResultsItems-wageType (external Code) = {gross salary wage type}

(2)    Either a ‘calculated column’ or an ‘aggregated calculated column’ needs to be created for the “Hours Worked” that are defined according to the explanations in step (2) from above.

(3)    Usage of the custom MDF object “Salary Range For Legal Reporting” (defined in step (3) from above) in the report schema:

o   Join from Legal Entity => Country => Salary Range For Legal Reporting

o   Add a filter for the aggregated calculated column “Annual Salary” defined in step (4.1) from above (both filter conditions connected with “AND”):

§  “Annual Salary” is less than "Higher Limit"

§  “Annual Salary” is greater than or equal to "Lower Limit"

(4)    Adding the “EEO Salary Range” (= renamed “externalCode”) to the “Rows” of the Pivot table”

(5)    Rename both adjusted pages to “EEO-1 – Individual Establishment - Headcount” and “EEO-1 – Consolidated Report - Headcount”.

(6)    Copy both pages and rename them to “EEO-1 – Individual Establishment – Hours Worked” and “EEO-1 – Consolidated Report - Hours Worked”.

(7)    Edit both copies “EEO-1 – Individual Establishment – Hours Worked” and “EEO-1 – Consolidated Report - Hours Worked” and replace the measure “Headcount” by the measure “Hours Worked”.

See Also provides material and information about Component 2 EEO-1 Compensation Data filing.


EEO, Salary, Payroll, EC, Standard Reports, Report - Canvas, Advanced Reporting, Realms, ORD, Equal Employment Opportunity , KBA , LOD-SF-EC-REP , Reporting Data (EC core only) , LOD-SF-ANA-ADV , Advanced Reporting (ODS) , How To


SAP SuccessFactors HXM Core all versions