Knowledge Base / HR_HCM
SAP SuccessFactors
Vendor: SAP · Enterprise
SAP SuccessFactors is SAP's cloud HXM (Human Experience Management) suite: core HR (Employee Central), payroll, time, recruiting, onboarding, performance, compensation and learning. It is delivered only as a multi-tenant cloud service - there is no on-premise edition and no customer access to the database, so every extraction goes through an API or a scheduled file export. Employee Central holds the HR master data. Payroll is NOT calculated in SuccessFactors: where a customer runs Employee Central Payroll, the payroll engine is an SAP-hosted SAP HCM (ABAP) system, and only a restricted set of replicated payroll results is visible through the SuccessFactors API.
Compensation (COMP)
Salary planning, bonus, equity
Activities
- Change Recurring Pay Component - A new effective-dated EmpPayCompRecurring record: salary or allowance.
- Change Compensation Information - A new effective-dated EmpCompensation record.
- Submit Compensation Change for Approval - The change raises a WfRequest.
- Approve Compensation Change - A WfRequestStep completes with an approval.
- Assign Pay Grade - EmpCompensation payGrade is set or changed.
- End Pay Component - An EmpPayCompRecurring record is end-dated.
Case attributes
- Amount (number) - paycompvalue on the pay component.
- Currency (string) - currencyCode on the pay component.
- Event Reason (string) - eventReason behind the compensation change.
- Pay Component (string) - payComponent on EmpPayCompRecurring.
- Changed By (string) - lastModifiedBy on the compensation record.
- Employee (string) - userId on the compensation record.
- Pay Grade (string) - payGrade on EmpCompensation.
- Pay Group (string) - payGroup on EmpCompensation.
- Effective Date (date) - startDate of the compensation record.
Process-mining benefits (historical)
- Pay changes outside the review cycle [Compliance]: Count Change Recurring Pay Component events that fall outside the annual review window.
- Increases above policy [Cost]: Find pay changes whose increase exceeds the approved band for the pay grade.
- Approval coverage of pay changes [Compliance]: Share of compensation changes with an Approve Compensation Change step behind them.
- Time to make a pay change effective [Efficiency]: Elapsed time from Submit Compensation Change for Approval to the effective date.
- Pay grade drift [Cost]: Employees whose pay sits outside the range of their assigned pay grade.
- Retroactive pay changes [Cash]: Pay changes entered after their effective date, and what they cost in back pay.
Process-mining benefits (action)
- Route out-of-cycle increases to review [Compliance]: Any pay change outside the review window gets a second approver.
- Cap increases at the grade band [Cost]: Use the measured distribution to set and enforce a band per pay grade.
- Close the approval gap [Compliance]: Where compensation changes bypass approval, fix the workflow configuration that lets it happen.
- Shorten the pay change cycle [Efficiency]: Target the approval steps that add the most time before a change takes effect.
- Clean up stale pay components [Cost]: End-date pay components that should have stopped, using End Pay Component as the check.
- Control retroactive entry [Compliance]: Limit who can enter a pay change with a past effective date.
Data tables
- EmpCompensation - Compensation information, effective-dated: pay group, pay grade and the event that caused the change. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/empcompensation]
- EmpPayCompNonRecurring - One-time payments: bonuses, allowances and other non-recurring pay components. Needs HR Information > One-Time Payments and Employee Data > Pay Components. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/emppaycompnonrecurring]
- EmpPayCompRecurring - Recurring pay components: base salary, hourly wage and recurring allowances, effective-dated. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/emppaycomprecurring]
Core HR (CORE_HR)
Employee master data, organizational structure
Activities
- Hire Employee - EmpJob record with a hire event; the employment begins.
- Submit Change for Approval - A change to employee data raises a WfRequest.
- Approve Change - A WfRequestStep completes with an approval.
- Reject Change - A WfRequestStep completes with a rejection.
- Change Job Information - A new effective-dated EmpJob record: job, department or location.
- Promote Employee - EmpJob change whose eventReason records a promotion.
- Transfer Employee - EmpJob change moving the employee to another department or location.
- Change Manager - EmpJob change to managerId.
- Change Personal Data - A new effective-dated PerPersonal, PerAddressDEFLT or PerEmail record.
- Terminate Employee - EmpJob record with a termination event and an EmpEmployment end date.
Case attributes
- Event (string) - EmpJob event code - the HR action.
- Event Reason (string) - EmpJob eventReason - why the action happened.
- Changed By (string) - EmpJob lastModifiedBy - who made the change.
- Employee (string) - userId from EmpJob - the case identifier for an employee timeline.
- Person (string) - personIdExternal from PerPerson.
- Company (string) - EmpJob company - the legal entity.
- Department (string) - EmpJob department, described in FODepartment.
- Job Code (string) - EmpJob jobCode, described in FOJobCode.
- Location (string) - EmpJob location.
- Manager (string) - EmpJob managerId - who the employee reports to.
Process-mining benefits (historical)
- How long a hire actually takes [Efficiency]: Measure the elapsed time from the first Submit Change for Approval to Hire Employee, by department and job code.
- Which approvals hold everything up [Efficiency]: Rank approval steps by waiting time to find the approver and step where employee data changes queue.
- Changes that never went through approval [Compliance]: Find EmpJob changes with no matching workflow request - data changed outside the approval path.
- Who changes employee records [Compliance]: Concentration of changes by the people making them, showing where one account touches an unusual share of records.
- Retroactive changes [Compliance]: Count changes whose effective date is earlier than the date they were entered, a standard audit red flag.
- Turnover by reason and unit [Service]: Terminate Employee grouped by eventReason and department, showing where and why people leave.
Process-mining benefits (action)
- Set an approval service level [Efficiency]: Agree a target waiting time per approval step and monitor the steps that breach it.
- Investigate changes made without approval [Compliance]: Route every change with no workflow request to internal audit as it happens.
- Review retroactive change rights [Compliance]: Restrict who may enter a change with a past effective date, based on who actually does it.
- Remove approval steps that never reject [Efficiency]: Steps that approve everything add delay without control; drop or merge them.
- Close terminations properly [Compliance]: Check every Terminate Employee has its EmpEmployment end date and system access removal.
- Fix the slowest hiring paths [Service]: Target the department and job code combinations with the longest hire duration.
Data tables
- EmpEmployment - Employment record per person and user: hire date, termination date, rehire eligibility. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/empemployment]
- EmpJob - Job information, effective-dated. The event and eventReason fields name the HR action (hire, promotion, transfer, pay change, termination) and are what turn a row change into an activity. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/empjob]
- PerAddressDEFLT - Home and other addresses per person. One entity serves all countries and the field list depends on the tenant's country-specific data model, so read the exact fields from the tenant $metadata. This is the entity behind duplicate-address tests. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/peraddressdeflt]
- PerPerson - Person record - the biographical root of an employee; not effective-dated. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/perperson]
- PerPersonal - Personal information, effective-dated: name, gender, marital status, nationality. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/perpersonal]
- WfRequest - Workflow request - the approval record behind a change. Status values include PENDING, SENTBACK, LOCKED, REJECTED, CANCELLED and COMPLETED. Needs Administrator Permissions > Manage Workflows > Manage Workflow Requests. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/wfrequest]
- WfRequestStep - One approval step of a workflow request: step order, approver and outcome. This is where approval timestamps and approver identity come from. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/wfrequeststep]
- PerEmail - Email addresses per person and email type. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/peremail]
- PerNationalId - National identity numbers per person, country and card type. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/pernationalid]
- PerPhone - Phone numbers per person and phone type. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/perphone]
- User - Login identity behind an employee, with manager and HR relationships. Querying it needs an administrative permission (Manage Users > Employee Export) that bypasses row-level restrictions. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/permissions-3d71f690709243db99102127557a3d73]
- FODepartment - Department foundation object, effective-dated. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/fodepartment]
- FOJobCode - Job code foundation object, effective-dated. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/fojobcode]
Payroll (PAYROLL)
Pay processing, deductions, tax withholding
Activities
- Create One-Time Payment - An EmpPayCompNonRecurring record is created for a bonus or allowance.
- Change Payment Information - Bank or payment details change in PaymentInformationV3.
- Submit Payment for Approval - The change raises a WfRequest.
- Approve Payment - A WfRequestStep completes with an approval.
- Run Payroll - The payroll run is executed in Employee Central Payroll for the period.
- Replicate Payroll Result - EmployeePayrollRunResults appears in Employee Central with its wage-type lines.
- Void Payroll Result - A payroll result is marked void.
- Pay Employee - The pay date on the payroll result is reached.
Case attributes
- Amount (number) - amount on the payroll result line.
- Currency (string) - currency of the payroll result.
- Payroll Run Type (string) - payrollRunType - regular or otherwise.
- Wage Type (string) - wageType on the payroll result line.
- Created By (string) - createdBy on the payment or payroll record.
- Voided (boolean) - isVoid on the payroll result.
- Employee (string) - userId on the payroll result.
- Payroll Result (string) - externalCode - the case identifier for one payroll result.
- Company (string) - companyId - the legal entity paying.
- Pay Date (date) - payDate on the payroll result.
- Pay Period (date) - startDateWhenPaid and endDateWhenPaid.
Process-mining benefits (historical)
- One-time payments without approval [Compliance]: Find every Create One-Time Payment with no approved workflow behind it.
- Bank detail changed just before payday [Compliance]: Measure the gap between Change Payment Information and Pay Employee; a short gap is the classic payroll diversion pattern.
- Who creates and who approves [Compliance]: Show cases where the same person did Create One-Time Payment and Approve Payment - a separation of duties breach.
- Voided and repeated results [Cost]: Count Void Payroll Result by period and legal entity to see where payroll is being corrected repeatedly.
- One-time payments concentrated in few hands [Cash]: Rank creators by the value and number of one-time payments they raise.
- Payroll cost by wage type [Cost]: Break the payroll result lines down by wage type to see what drives the cost.
Process-mining benefits (action)
- Enforce separation of duties on payments [Compliance]: Block or review any one-time payment whose creator is also an approver.
- Freeze bank changes near payday [Compliance]: Require a second check for Change Payment Information inside the days before Pay Employee.
- Review every voided result [Cost]: Make Void Payroll Result a case that must be explained rather than a silent correction.
- Target repeated corrections [Efficiency]: Where one legal entity or pay group corrects payroll every period, fix the upstream data instead.
- Watch unapproved payment paths [Compliance]: Alert when a one-time payment reaches Pay Employee without an Approve Payment step.
- Bring the excluded cases into scope [Compliance]: Because SAP keeps voids, reversals, off-cycle runs and corrections out of the replicated results, extract those from the payroll system itself before relying on this cell for an audit.
Data tables
- EmpCompensation - Compensation information, effective-dated: pay group, pay grade and the event that caused the change. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/empcompensation]
- EmpJob - Job information, effective-dated. The event and eventReason fields name the HR action (hire, promotion, transfer, pay change, termination) and are what turn a row change into an activity. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/empjob]
- EmpPayCompNonRecurring - One-time payments: bonuses, allowances and other non-recurring pay components. Needs HR Information > One-Time Payments and Employee Data > Pay Components. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/emppaycompnonrecurring]
- EmployeePayrollRunResults - Payroll results replicated from Employee Central Payroll into Employee Central after a payroll run. MDF entity. SAP restricts it: no more than 10-15 wage types per employee and period, no variable assignment wage types, and voids, reversals, off-cycle runs and corrections are out of scope - detailed payroll reporting has to be done in the payroll system itself. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/employeepayrollrunresults]
- EmployeePayrollRunResultsItems - The wage-type lines of a payroll result, child of EmployeePayrollRunResults. Gross and net are not stored as fields - they have to be derived from these wage-type amounts. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/employeepayrollrunresultsitems]
- PaymentInformationDetailV3 - Bank account detail lines under PaymentInformationV3: account, bank and the amount or percentage split. The field list is tenant-dependent. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/about-employee-central-odata-apis]
- PaymentInformationV3 - Employee payment method and bank details header, effective-dated. Behind shared-bank-account and payee-change tests. The field list is tenant-dependent - read it from the tenant $metadata before relying on field names. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/about-employee-central-odata-apis]
- WfRequest - Workflow request - the approval record behind a change. Status values include PENDING, SENTBACK, LOCKED, REJECTED, CANCELLED and COMPLETED. Needs Administrator Permissions > Manage Workflows > Manage Workflow Requests. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/wfrequest]
- WfRequestStep - One approval step of a workflow request: step order, approver and outcome. This is where approval timestamps and approver identity come from. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/wfrequeststep]
Time & Attendance (TIME)
Time tracking, leave management, scheduling
Activities
- Record Absence - An EmployeeTime record is created for vacation, sick leave or another absence.
- Submit Absence for Approval - The absence goes for approval.
- Approve Absence - The absence approvalStatus becomes approved.
- Reject Absence - The absence approvalStatus becomes rejected.
- Record Time Sheet - An EmployeeTimeSheet is recorded for the period.
- Approve Time Sheet - The time sheet approvalStatus becomes approved.
Case attributes
- Duration Days (number) - quantityInDays on EmployeeTime.
- Duration Hours (number) - quantityInHours on EmployeeTime.
- Time Type (string) - timeType on EmployeeTime.
- Approval Status (string) - approvalStatus on the time record.
- Created By (string) - who recorded the time.
- Employee (string) - userId on the time record.
- Time Record (string) - externalCode of the absence or time sheet.
- Start Date (date) - startDate of the absence or period.
Process-mining benefits (historical)
- Absence approved after it was taken [Compliance]: Count cases where Approve Absence happens after the absence start date.
- Absence patterns by unit [Service]: Absence days by department and time type, showing where cover is under pressure.
- Time sheets never approved [Compliance]: Time sheets that reach the pay period end without Approve Time Sheet.
- How long approvals take [Efficiency]: Elapsed time from Submit Absence for Approval to Approve Absence, by approver.
- Retroactive time entry [Compliance]: Time recorded well after the day it applies to.
- Rejected and re-entered absences [Efficiency]: Cases that pass through Reject Absence and return, showing where the rules are unclear.
Process-mining benefits (action)
- Chase unapproved time before payroll [Compliance]: Clear every unapproved time sheet before Run Payroll, so pay is based on approved time.
- Set an approval deadline for absence [Efficiency]: Target the approvers whose waiting time is longest.
- Plan cover where absence concentrates [Service]: Use the absence pattern by unit and period to plan staffing.
- Limit backdated time entry [Compliance]: Set a window after which time can no longer be recorded without a manager.
- Fix the rules behind repeated rejections [Efficiency]: Where the same absence type is rejected repeatedly, correct the policy or the form.
- Reconcile time to pay [Cash]: Check approved time against what was paid for the same period.
Data tables
- EmployeeTime - Absences and time off: vacation, sick leave and other absence records. MDF entity; integration use needs Metadata Framework > Admin Access to MDF OData API. SAP also ships country-specific variants such as EmployeeTimeDEU, EmployeeTimeUSA and EmployeeTimeCOL. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/employeetime]
- EmployeeTimeSheet - Recorded working time per employee and period, the basis for time-based pay. [Source: https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/employeetimesheet]
Explore this interactively in the mindzie Knowledge Base.