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

# ADP Workforce Now

> Sync ADP Workforce Now workers, departments and approved time off into Pike, and send approved hours for hourly employees to ADP payroll.

The ADP Workforce Now integration syncs workers from ADP into Pike [members](https://usepike.com/docs/members/overview.md), departments into teams, and approved time off into Pike [time off](https://usepike.com/docs/members/time-off.md). When you close a Pike [pay period](https://usepike.com/docs/members/payroll.md), approved regular and overtime hours for hourly employees go to the next ADP payroll as pay data. HR and payroll keep working in ADP. Resource managers plan on the hours people are available, and hourly payroll uses the same approved timesheets you bill from.

## At a glance

| | |
| - | - |
| **Direction** | ADP Workforce Now to Pike for workers, departments, job titles, standard hours and approved time off. Pike to ADP for hours, when enabled |
| **Who sets it up** | Workspace admins, with an ADP practitioner admin who approves Pike in ADP Marketplace, or with ADP API Central credentials |
| **Plan** | All plans |
| **Sync** | Every 3 hours. On the Enterprise plan, changes sync in real time. |
| **Source of truth** | ADP for person fields, time off and payroll. Pike for capacity, allocations, projects, time and cost profiles (unless compensation sync is on) |

## Before you start

You need:

* The workspace admin role in Pike.
* An ADP practitioner with admin access in ADP Workforce Now. Connect in one of two ways:
  * **ADP Marketplace**: the practitioner admin finds Pike in ADP Marketplace and approves the data access Pike asks for (workers, organization departments, time off requests, pay data input and event notifications).
  * **API Central**: in your ADP API Central project, create credentials and download the client ID, the client secret and the certificate files. ADP requires the certificate on every API call. Give the project access to the Workers, Organization Departments, Time Off Requests and Pay Data Input APIs.
* The earning codes your company uses for regular and overtime hours, set up in ADP under **Setup → Tools → Validation Tables → Paydata**. You check the mapping to Pike pay lines during setup.
* Pike time off types for the ADP time off policies you use. You map each ADP policy during setup. See [Time off](https://usepike.com/docs/members/time-off.md).

## Connect ADP Workforce Now

**1. Open the integration**

Go to **Workspace settings → Integrations → ADP Workforce Now** and click
**Add integration**.

**2. Authorize Pike**

Choose **ADP Marketplace** and sign in as the ADP practitioner admin to
approve Pike, or choose **API Central** and enter the client ID, the client
secret and the certificate files. Pike checks the connection and shows the
ADP company name.

**3. Map time off types**

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

**4. Check pay codes**

Under **Pay codes**, check the ADP earning code for each Pike pay line. Pike
fills in the Regular and Overtime earning codes when you connect.

**5. Choose what syncs**

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

**6. Import**

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

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

## What syncs

| ADP Workforce Now | Pike | Direction |
| - | - | - |
| Workers | Members | ADP to Pike |
| Departments | Teams | ADP to Pike |
| Job titles | Positions | ADP to Pike |
| Reports to | Manager | ADP to Pike |
| Approved time off requests | Time off | ADP to Pike |
| Base remuneration | Member cost profiles | ADP to Pike, when **Sync compensation to cost profiles** is on |
| Pay data (earning codes with hours) | Pay lines from a closed Pike pay period | Pike to ADP, when **Send hours to payroll** is on |

### Workers

| ADP field | Pike field | Notes |
| - | - | - |
| Legal or preferred name | Member name | Preferred name when the worker has one |
| Work email | Member email | Also used to match existing members |
| Job title on the work assignment | Position | A position is created when no Pike position has the same name |
| Home department | Team | A team is created when no Pike team has the same name |
| Reports to | Manager | When the manager is also a synced member |
| Worker status | Member status | An inactive or terminated worker becomes a deactivated member |
| Standard hours | Capacity per week | Spread over Monday to Friday unless the member has a work schedule in Pike |
| Pay rate type | Employment type | Hourly becomes **Hourly**. Salary becomes **Salaried** |
| Hire date | Hire date | |
| Associate ID and position ID | ADP ID | Shown on the member as the ADP marker. Pay data uses the position ID |

### Time off

| ADP field | Pike field | Notes |
| - | - | - |
| Worker | Member | |
| Time off policy | Time off type | Through your type mapping |
| Start and end date | Dates | |
| Hours per day | Hours per day | A part-day request removes only its hours from capacity |
| Request status | Not stored | Only requests 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 policy 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.

| ADP field | Pike field | Notes |
| - | - | - |
| Base remuneration amount | Cost profile salary | Annual salary or hourly rate |
| Pay rate type | Cost profile pay period | Hour or year |
| Effective date | Cost profile start date | Each change in ADP adds a new row |

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

### Hours to payroll

**Send hours to payroll** is off by default. When on, closing a pay period in Pike sends each hourly employee's approved hours to the pay data batch for the next ADP payroll of their company code. The [working time policy](https://usepike.com/docs/members/working-time.md) sets the split between regular and overtime hours.

| Pike pay line | Sent to ADP as |
| - | - |
| Normal hours | Hours on the Regular earning code |
| Overtime 1 | Hours on the Overtime earning code |
| Overtime 2 | Hours on the earning code you map, such as double time |

Salaried employees' hours are not sent. A pay line with no earning code is held back and flagged on the payroll page. ADP confirms receipt, and the Pike pay period shows **Sent to ADP Workforce Now** with the payroll date. Pike does not run payroll or calculate tax.

## Matching and duplicates

On the first import, Pike matches before it creates:

* A worker matches a Pike member with the same work email. A match links the two, and ADP 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 ADP request is listed in **Sync issues** as an overlap.

A worker 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 worker 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 | ADP owns | Pike owns |
| - | - | - |
| Members | Name, work email, position, team, manager, status, standard hours, hire date | Role, rates, work schedule by weekday, project access, allocations |
| Time off | Dates, hours and type of requests from ADP | Time off requested in Pike |
| Cost profiles | Salary rows, when compensation sync is on | Cost profiles, when compensation sync is off |
| Hours | Payroll, tax and the processed pay statement | Time entries, overtime and the pay lines sent from a closed pay period |

Edit ADP-owned fields in ADP Workforce Now. Pike shows them as read-only with the ADP marker.

## Sync schedule

Pike syncs ADP Workforce Now every 3 hours. On the Enterprise plan, changes sync in real time. Closing a pay period is an action a person takes, so its hours go to ADP straight away on every plan. See [How sync works](https://usepike.com/docs/integrations/how-sync-works.md).

## Sync settings

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

| Entity | Read | Send |
| - | - | - |
| Workers | Yes | Not available |
| Time off | Yes | Not available |
| Compensation | Off by default, admins and finance users only | Not available |
| Hours to payroll | Not available | Yes, off by default |

New connections start with **Read** on for workers and time off, **Invite new employees** off, compensation off and **Send hours to payroll** off.

## How it works

```mermaid theme={"system"}
sequenceDiagram
  participant ADP as ADP Workforce Now
  participant Pike
  participant HR as HR in Pike
  ADP->>Pike: Workers, departments and approved time off, on the next sync or in real time
  Pike->>Pike: Set capacity and remove time off hours
  HR->>Pike: Approve time and close the pay period
  Pike->>ADP: Regular and overtime hours for hourly employees, as pay data
  ADP-->>Pike: Receipt confirmed
  Pike-->>HR: Pay period shows Sent to ADP Workforce Now
```

## Use it in Pike

### Plan around approved leave

Open **Members → Allocations** to see each person's capacity for the week. Approved ADP time off shows on the day with its 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 worker is hired in ADP, 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 a worker is terminated in ADP, the member is deactivated in Pike. Their logged time, allocations and history stay on every project, and they stop counting toward capacity from the termination date.

### Pay hourly staff from approved time

Go to **Members → Payroll**, resolve any flags, and click **Close period**. Hourly employees' regular and overtime hours go to ADP for the next payroll, so payroll and invoices use the same approved hours and nobody keys hours into ADP. See [Pay periods and payroll](https://usepike.com/docs/members/payroll.md).

## Deletes and removed records

An integration never deletes Pike data. A worker removed from ADP Workforce Now is marked **Removed in ADP Workforce Now** on the member, stays in Pike with their history, and stops syncing. A time off request canceled in ADP 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 |
| - | - |
| A worker is missing in Pike | The connection has no access to that worker's company code in ADP. Ask the practitioner admin to grant access, then click **Sync now**. |
| A worker shows under **Unmatched employees** | The work email in ADP differs from the member's email in Pike. Click **Link to member**, or correct the email in ADP. |
| Approved time off is missing | Check that **Read** is on for time off and that the request status is **Approved** in ADP. Then click **Refresh** on the member. |
| Time off shows the wrong type | The ADP policy 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**. |
| The payroll page flags a pay line with no code | The pay line has no ADP earning code. Map it under **Pay codes**, then send the period again. |
| **Sync issues** lists an invalid earning code | The earning code is not set up in ADP. Add it under **Setup → Tools → Validation Tables → Paydata** in ADP, then click **Retry**. |
| **Sync issues** lists an authentication error | The API Central credentials or certificate expired, or the Marketplace approval was removed. Enter new credentials under **Credentials**, or approve Pike again. |

## Limits

* Pike does not write to worker records in ADP. Pike sends pay data only.
* Salaried employees' hours are not sent. ADP pays salaried employees from their salary.
* Only closed pay periods are sent, and only approved time counts.
* Pike does not run payroll or calculate pay, tax or deductions. The practitioner reviews and processes the payroll in ADP.
* Pending, denied or canceled time off requests do not sync.
* Compensation sync is off until an admin or finance user turns it on.

## Disconnect

Go to **Workspace settings → Integrations → ADP Workforce Now** and click **Disconnect**. Syncing stops and every member, team, position, time off entry and sent pay period stays in Pike with its history. Reconnecting the same ADP 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.
* [Pay periods and payroll](https://usepike.com/docs/members/payroll.md): Period close, pay lines and pay codes.
* [Workspace capacity](https://usepike.com/docs/allocation/workspace-capacity.md): How time off and contracts set available hours.
* [Paychex Flex](https://usepike.com/docs/integrations/paychex.md): Workers, pay rates and hours on payroll checks.
* [Gusto](https://usepike.com/docs/integrations/gusto.md): Employees, contractors and hours to payroll.


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