> ## 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.

# Factorial

> Sync Factorial employees, teams, contracts and approved leaves into Pike members and capacity, with optional invites and compensation sync.

The Factorial integration syncs employees, teams and contracts from Factorial into Pike [members](https://usepike.com/docs/members/overview.md), and approved leaves into Pike [time off](https://usepike.com/docs/members/time-off.md). Your HR team works in Factorial. Resource managers plan allocations on the weekly hours each contract states, and utilization reports use the same people, teams and positions as HR.

## At a glance

| | |
| - | - |
| **Direction** | Factorial to Pike for employees, teams, contracts, approved leaves and, when turned on, compensation |
| **Who sets it up** | Workspace admins, by signing in to Factorial as an administrator or with a Factorial API key |
| **Plan** | All plans |
| **Sync** | Every 3 hours. On the Enterprise plan, changes sync in real time. |
| **Source of truth** | Factorial for person fields, contracts and leaves. Pike for capacity, allocations, projects, time and cost profiles |

## Before you start

You need:

* The workspace admin role in Pike.
* A Factorial user with the administrator role in the company you want to connect. Pike asks for read access to employees, teams, legal entities, contracts, time off and compensations.
* To connect with an API key instead of signing in, a Factorial API key. In Factorial, open **Settings**, select **API keys** in the **Advanced** section, name the key Pike, and click **Get my API key**. Factorial shows the key only once.
* Pike time off types for the Factorial leave types you use. You map each leave type during setup. See [Time off](https://usepike.com/docs/members/time-off.md).

## Connect Factorial

**1. Open the integration**

Go to **Workspace settings → Integrations → Factorial** and click **Add
integration**.

**2. Authorize Pike**

Click **Sign in with Factorial**, sign in as a Factorial administrator and
approve the access Pike asks for. To use an API key, click **Use an API
key**, paste the key and click **Connect**. Pike shows the Factorial company
name.

**3. Choose legal entities**

Under **Legal entities**, choose which Factorial legal entities sync.
Employees of other legal entities do not import.

**4. Map leave types**

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

**5. Choose what syncs**

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

**6. Import**

Click **Import data**. Teams import first, then employees, then contracts,
then leaves.

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

## What syncs

| Factorial | Pike | Direction |
| - | - | - |
| Employees | Members | Factorial to Pike |
| Teams | Teams | Factorial to Pike |
| Legal entities | Which employees sync | Chosen in the integration settings |
| Contracts | Positions and weekly capacity | Factorial to Pike |
| Approved leaves | Time off | Factorial to Pike |
| Compensations | Member cost profiles | Factorial to Pike, when **Sync compensation to cost profiles** is on |

### Employees

| Factorial field | Pike field | Notes |
| - | - | - |
| First name, last name | Member name | |
| Email | Member email | Also used to match existing members |
| Teams | Teams | A team is created when no Pike team has the same name |
| Manager | Manager | When the manager is also a synced employee |
| Legal entity | Not stored | Only employees of the legal entities you choose import |
| Termination date | Member status | A terminated employee becomes a deactivated member from that date |
| Employee ID | Factorial ID | Shown on the member as the Factorial marker |

### Contracts

| Factorial field | Pike field | Notes |
| - | - | - |
| Job title | Position | A position is created when no Pike position has the same name |
| Working hours and their frequency | Capacity per week | Converted to hours per week when the contract states another period |
| Start date | Hire date | From the employee's first contract |
| Effective date of a new contract version | Capacity change date | Each contract version sets capacity from its own effective date |

Weekly capacity is spread over Monday to Friday. To give a part-time member a different pattern, such as four days a week, set the [work schedule](https://usepike.com/docs/members/working-time.md#work-schedule) in Pike. Pike uses that schedule as long as its weekly total matches the Factorial contract.

### Leaves

| Factorial field | Pike field | Notes |
| - | - | - |
| Employee | Member | |
| Leave type | Time off type | Through your type mapping |
| Start and finish date | Dates | |
| Half day | Hours per day | A half-day leave removes only half of that day's hours |
| Approval status | Not stored | Only approved leaves 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 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.

| Factorial field | Pike field | Notes |
| - | - | - |
| Amount | Cost profile salary | Base salary compensations only |
| Frequency | Cost profile pay period | Hour, month or year |
| Effective 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 email. A match links the two, and Factorial values replace the Pike values for the fields in the mapping.
* A team matches a Pike team with the same name. A job title matches a Pike position with the same name.
* Leaves always import as new time off. Time off already entered in Pike for the same member and dates stays, and the Factorial leave 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 | Factorial owns | Pike owns |
| - | - | - |
| Members | Name, email, teams, manager, status, hire date | Role, rates, cost profile, project access, allocations |
| Capacity | Weekly hours from the contract | Work schedule pattern, working time policy, allocations |
| Time off | Dates, half days and type of leaves from Factorial | Time off requested in Pike |
| Cost profiles | Salary rows, when compensation sync is on | Cost profiles, when compensation sync is off |

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

## Sync schedule

Pike syncs Factorial 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 Factorial is connected, the **What syncs with Factorial** card is below the top button row on the integration page. Toggles save immediately.

| Entity | Read | Send |
| - | - | - |
| Employees | Yes | Not available |
| Contracts | Yes | Not available |
| Leaves | Yes | Not available |
| Compensation | Off by default, admins and finance users only | Not available |

New connections start with **Read** on for employees, contracts and leaves, every legal entity selected, **Invite new employees** off, and compensation off.

## How it works

```mermaid theme={"system"}
sequenceDiagram
  participant HR as HR in Factorial
  participant Factorial
  participant Pike
  participant RM as Resource manager in Pike
  HR->>Factorial: Edit conditions, 30 hours a week from 2 November
  Factorial->>Pike: New contract version, on the next sync or in real time
  Pike->>Pike: Set capacity to 30 hours a week from 2 November
  Pike-->>RM: Allocations above 30 hours show as over capacity
  RM->>Pike: Move 6 hours of work to another person
```

## Use it in Pike

### Plan around approved leave

Open **Members → Allocations** to see each person's capacity for the week. Approved Factorial leaves show on the day with their type, and the hours are already removed from capacity, so an over-allocated day 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 employee is added in Factorial, they appear in Pike with their teams, 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 Factorial, 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.

### Update capacity after a contract change

When HR changes someone's working hours in Factorial, the new contract version sets their weekly capacity from its effective date. Utilization for earlier weeks still uses the old hours.

## Deletes and removed records

An integration never deletes Pike data. An employee deleted in Factorial is marked **Removed in Factorial** on the member, stays in Pike with their history, and stops syncing. A leave deleted or rejected in Factorial 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 | Check that the employee's legal entity is selected under **Legal entities**. Then click **Sync now**. |
| An employee shows under **Unmatched employees** | The email in Factorial differs from the member's email in Pike. Click **Link to member**, or correct the email in Factorial. |
| Weekly capacity is wrong | Check the working hours on the employee's current contract version in Factorial. Then click **Refresh** on the member. |
| Approved leave is missing | Check that **Read** is on for leaves and that the leave is approved in Factorial. Then click **Refresh** on the member. |
| Time off shows the wrong type | The Factorial leave 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 API key was revoked, or the administrator who signed in lost the role. Reconnect under **Credentials**. |

## Limits

* Pike does not write to Factorial.
* Pending or rejected leaves do not sync.
* Factorial attendance shifts do not import. Members log their time in Pike.
* Compensation sync is off until an admin or finance user turns it on, and reads base salary only.
* One Pike workspace connects to one Factorial company.

## Disconnect

Go to **Workspace settings → Integrations → Factorial** and click **Disconnect**. Syncing stops and every member, team, position, capacity setting and time off entry stays in Pike with its history. Reconnecting the same Factorial 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.
* [Personio](https://usepike.com/docs/integrations/personio.md): Employees, absences and work schedules.
* [HiBob](https://usepike.com/docs/integrations/hibob.md): Employees, departments and time off policies.


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