> ## Documentation Index
> Fetch the complete documentation index at: https://usepike.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SAP SuccessFactors

> Sync SAP SuccessFactors Employee Central employees, departments, standard weekly hours and approved time off into Pike members, teams and capacity.

The SAP SuccessFactors integration syncs employees from Employee Central into Pike [members](https://usepike.com/docs/members/overview.md), with their department, job title, manager and standard weekly hours, and syncs approved absences into Pike [time off](https://usepike.com/docs/members/time-off.md). HR keeps working in SuccessFactors. Resource managers plan on the hours people are available, and utilization reports use the same people, teams and positions as HR.

## At a glance

| | |
| - | - |
| **Direction** | SAP SuccessFactors to Pike for employees, departments, job information, standard weekly hours, absences and compensation |
| **Who sets it up** | Workspace admins, with an API key from an OAuth client application a SuccessFactors admin registers |
| **Plan** | All plans |
| **Sync** | Every 3 hours. On the Enterprise plan, changes sync in real time. |
| **Source of truth** | SAP SuccessFactors for person fields, standard hours and time off. Pike for capacity, allocations, projects, time and cost rates |

## Before you start

You need:

* The workspace admin role in Pike.
* A SuccessFactors admin with access to **Admin Center → Manage OAuth2 Client Applications**.
* An API user in SuccessFactors whose permission role includes **SFAPI User Login**, **Employee Central Foundation OData API (read-only)** and **Employee Central HRIS OData API (read-only)**, with read access to Time Off data for employees. Add read access to compensation information if you plan to turn on **Sync compensation to cost profiles**. The API user syncs only the employees its target population covers.
* Your company ID and your API server URL. Both show in SuccessFactors under your profile menu, **Show version information**, and the API server depends on your data center.
* Pike time off types for the SuccessFactors time types you use. You map each time type during setup. See [Time off](https://usepike.com/docs/members/time-off.md).

## Connect SAP SuccessFactors

**1. Open the integration**

Go to **Workspace settings → Integrations → SAP SuccessFactors** and click
**Add integration**. Click **Copy certificate** to copy Pike's X.509
certificate.

**2. Register Pike in SuccessFactors**

In SuccessFactors, go to **Admin Center → Manage OAuth2 Client
Applications** and click **Register Client Application**. Enter Pike as the
application name and `https://usepike.com` as the application URL, paste the
certificate into **X.509 Certificate**, and click **Register**. Open the new
application and copy the **API Key**.

**3. Enter your credentials**

Back in Pike, enter the API server URL, company ID, API key and the user ID
of the API user, then click **Connect**. Pike signs a SAML assertion for
that user, exchanges it for an OAuth token, and shows the company name.

**4. Map time off types**

Under **Time off types**, choose a Pike time off type for each
SuccessFactors time type. Pike suggests a mapping from the time type names.

**5. Choose what syncs**

In the **What syncs with SAP SuccessFactors** card, turn **Read** on or off
for each entity, and choose whether to turn on **Invite new employees**.

**6. Import**

Click **Import data**. Departments import first, then employees, then time
off.

The integration page shows **Connected**, the SuccessFactors company name, **Last synced** and **Next sync**.

## What syncs

| SAP SuccessFactors | Pike | Direction |
| - | - | - |
| Employees (User, EmpEmployment, EmpJob) | Members | SAP SuccessFactors to Pike |
| Departments (FODepartment) | Teams | SAP SuccessFactors to Pike |
| Job titles | Positions | SAP SuccessFactors to Pike |
| Standard weekly hours | Capacity per week | SAP SuccessFactors to Pike |
| Approved absences (EmployeeTime) | Time off | SAP SuccessFactors to Pike |
| Recurring pay components | Member cost profiles | SAP SuccessFactors to Pike, when **Sync compensation to cost profiles** is on |

### Employees

| SuccessFactors field | Pike field | Notes |
| - | - | - |
| First name, last name (User) | Member name | |
| Business email (User) | Member email | Also used to match existing members |
| Job title (EmpJob) | Position | A position is created when no Pike position has the same name |
| Department (EmpJob) | Team | A team is created when no Pike team has the same name |
| Supervisor (EmpJob) | Manager | When the supervisor's email matches a Pike member |
| Employee status (EmpJob) | Member status | A terminated or retired employee becomes a deactivated member. History is kept |
| Start date and termination date (EmpEmployment) | Hire date and end date | |
| Standard weekly hours (EmpJob) | Capacity per week | Spread over the working days per week from EmpJob |
| Cost center (EmpJob) | Cost center | Shown on the member for reports |
| User ID | SuccessFactors ID | Shown on the member as the SAP SuccessFactors marker |

Pike reads the job information record that is effective today. A future-dated change, such as a move to 30 hours from next month, applies in Pike from its effective date. To give a part-time employee a different weekday pattern, set the [work schedule](https://usepike.com/docs/members/working-time.md#work-schedule) in Pike. Pike uses that schedule as long as the weekly total matches SuccessFactors.

### Time off

| SuccessFactors field (EmployeeTime) | Pike field | Notes |
| - | - | - |
| User | Member | |
| Time type | Time off type | Through your type mapping |
| Start date and end date | Dates | |
| Quantity in hours, or start and end time | Hours per day | A part-day absence removes only its hours from capacity |
| Approval status | Not stored | Only absences with the status **Approved** import |

Default type mapping: vacation to Vacation, sick to Sick, parental to Parental, time off in lieu to Time off in lieu, unpaid to Unpaid leave, and every other time type to Vacation. Each type counts toward the member's [norm hours](https://usepike.com/docs/members/working-time.md#norm-hours) as set on the Pike type.

### Compensation

**Sync compensation to cost profiles** is off by default. Only admins and finance users can turn it on.

| SuccessFactors field (EmpPayCompRecurring) | Pike field | Notes |
| - | - | - |
| Amount and currency | Cost profile salary | From the pay component you choose under **Pay component** |
| Frequency | Cost profile pay period | Hour, month or year |
| Start date | Cost profile start date | Each compensation change adds a new row |

See [Cost profile](https://usepike.com/docs/members/cost-profile.md).

## Matching and duplicates

On the first import, Pike matches before it creates:

* An employee matches a Pike member with the same business email. A match links the two, and SuccessFactors values replace the Pike values for the fields in the mapping.
* A department matches a Pike team with the same name. A job title matches a Pike position with the same name.
* Time off always imports as new time off. Time off already entered in Pike for the same member and dates stays, and the SuccessFactors absence is listed in **Sync issues** as an overlap.

An employee with no matching member appears under **Unmatched employees** on the integration page. Click **Invite** to send a Pike invite, or **Link to member** to link the employee to a member with a different email. With **Invite new employees** on, Pike sends the invite automatically with the default role the admin chose.

## Which system wins

| Entity | SAP SuccessFactors owns | Pike owns |
| - | - | - |
| Members | Name, business email, position, team, manager, status, hire and end date | Role, rates, working time per weekday, project access, allocations |
| Capacity | Standard weekly hours | How the weekly hours spread over the days |
| Time off | Dates, hours and type of absences from SuccessFactors | Time off requested in Pike |
| Cost profiles | Salary rows, when compensation sync is on | Cost profiles, when compensation sync is off |

Edit SuccessFactors-owned fields in SuccessFactors. Pike shows them as read-only with the SAP SuccessFactors marker.

## Sync schedule

Pike syncs SAP SuccessFactors every 3 hours. On the Enterprise plan, changes sync in real time. **Import data**, **Sync now** and **Refresh** on a member run straight away on every plan. See [How sync works](https://usepike.com/docs/integrations/how-sync-works.md).

## Sync settings

While SAP SuccessFactors is connected, the **What syncs with SAP SuccessFactors** card is below the top button row on the integration page. Toggles save immediately.

| Entity | Read | Send |
| - | - | - |
| Employees | Yes | Not available |
| Departments | Yes | Not available |
| Time off | Yes | Not available |
| Compensation | Off by default, admins and finance users only | Not available |

New connections start with **Read** on for employees, departments and time off, **Invite new employees** off, and compensation off.

## How it works

```mermaid theme={"system"}
sequenceDiagram
  participant Person as Employee in SuccessFactors
  participant Manager as Manager in SuccessFactors
  participant SF as SAP SuccessFactors
  participant Pike
  participant RM as Resource manager in Pike
  Person->>SF: Request parental leave for two weeks
  Manager->>SF: Approve the request
  SF->>Pike: Approved absence, on the next sync or in real time
  Pike->>Pike: Remove 80 hours from capacity
  Pike-->>RM: Allocations show the absence
  RM->>Pike: Reassign the two weeks to another person
```

## Use it in Pike

### Plan around approved leave

Open **Members → Allocations** to see each person's capacity for the week, set from their standard weekly hours in Employee Central. Approved absences show on the day with their type, and the hours are already removed from capacity, so an over-allocated week stands out before the work is due. See [Workspace capacity](https://usepike.com/docs/allocation/workspace-capacity.md).

### Onboard a new hire

When a new hire is added in Employee Central, they appear in Pike with their team, position and weekly capacity on the next sync. Turn on **Invite new employees**, or click **Invite** under **Unmatched employees**, and the person can log time on their first day.

### Offboard a leaver

When an employee is terminated in Employee Central, the member is deactivated in Pike from the termination date. Their logged time, allocations and history stay on every project, and they stop counting toward capacity from that date.

## Deletes and removed records

An integration never deletes Pike data. An employee purged in SuccessFactors, or no longer in the API user's target population, is marked **Removed in SAP SuccessFactors** on the member, stays in Pike with their history, and stops syncing. An absence canceled in SuccessFactors after approval is removed from Pike capacity on the next sync, and the change appears in the member's time off history.

## Troubleshooting

| Symptom | Fix |
| - | - |
| An employee is missing in Pike | The API user's permission role does not cover that employee. Widen the target population in SuccessFactors, then click **Sync now**. |
| An employee shows under **Unmatched employees** | The business email in SuccessFactors differs from the member's email in Pike. Click **Link to member**, or correct the email in SuccessFactors. |
| Approved time off is missing | Check that **Read** is on for time off and that the absence is **Approved** in SuccessFactors. Then click **Refresh** on the member. |
| Time off shows the wrong type | The time type maps to a different Pike type. Change it under **Time off types**. Existing time off updates on the next sync. |
| **Sync issues** lists an overlap | Time off for the same dates already exists in Pike. Delete the Pike entry, then click **Retry**. |
| **Sync issues** lists an authentication error | The OAuth client application was deleted, its certificate changed, or the API user lost **SFAPI User Login**. Register Pike again and enter the new API key under **Credentials**. |

## Limits

* Pike does not write to SAP SuccessFactors.
* Pending, rejected or canceled absences do not sync.
* Pike reads Employee Central data. Hours are not sent to SuccessFactors or Employee Central Payroll.
* The API user syncs only the employees and fields its permission role can see.
* Compensation sync is off until an admin or finance user turns it on.

## Disconnect

Go to **Workspace settings → Integrations → SAP SuccessFactors** and click **Disconnect**. Syncing stops and every member, team, position and time off entry stays in Pike with its history. You can then delete the Pike client application in **Manage OAuth2 Client Applications**. Reconnecting the same SuccessFactors company relinks the members.

## Related

* [How sync works](https://usepike.com/docs/integrations/how-sync-works.md): The schedule, real-time sync and sync issues.
* [Time off](https://usepike.com/docs/members/time-off.md): Time off types and how they count toward capacity.
* [Workspace capacity](https://usepike.com/docs/allocation/workspace-capacity.md): How time off and contracts set available hours.
* [Workday](https://usepike.com/docs/integrations/workday.md): Workers, scheduled weekly hours and hours to Time Tracking.
* [Personio](https://usepike.com/docs/integrations/personio.md): Employees, absences and work schedules.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.