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

# ADP Workforce Now Integration: Connect and Payroll Sync

> Connect ADP Workforce Now to DualEntry, set up ADP access for the connection, and post each pay run as consolidated journal entries by company.

Connect [ADP Workforce Now](https://www.adp.com/what-we-offer/products/adp-workforce-now.aspx) to DualEntry so each payroll run posts to your ledger as consolidated journal entries. The connection runs through DualEntry's payroll-data provider, which authenticates with ADP using an ADP user you provide. Data flows one way: ADP Workforce Now to DualEntry.

This page covers ADP Workforce Now only. If your company uses ADP's PEO offering, see [ADP TotalSource](./adp) instead.

## Prerequisites

Confirm the following before connecting:

* Admin access in DualEntry to create integrations and complete mapping.
* An ADP Workforce Now account that is **not** the Workforce Now Cloud version. See [Check that your ADP account is supported](#check-that-your-adp-account-is-supported).
* Permission in ADP to add new users with the Standard Practitioner role. A Standard Practitioner is an ADP security role that grants delegated access to people and payroll data.
* Your [chart of accounts](../../core-financials/general-ledger/chart-of-accounts) includes the GL accounts you will map for earnings, taxes, employee deductions, employer contributions, and a payroll clearing or accrued-payroll account.
* A vendor record in DualEntry to use as the payroll vendor (typically named "ADP").

## Check that your ADP account is supported

The integration supports ADP Workforce Now accounts that meet all of the following conditions. Confirm them with your ADP administrator before you connect.

* The account uses ADP Workforce Now, not the Workforce Now Cloud version.
* The account is not part of ADP PEO, Comprehensive Services, or Administrative Service offerings.

<Warning>
  ADP Workforce Now Cloud customers cannot connect today. The connection fails inside the Connect widget after you enter credentials, and DualEntry shows a warning on the ADP Workforce Now tile before the widget opens. If you are unsure which version you use, ask your ADP representative before starting.
</Warning>

## Connect ADP Workforce Now

DualEntry connects to ADP Workforce Now through a hosted Connect widget, so you never enter ADP credentials into DualEntry itself. Start with your own ADP login. If ADP rejects it, create a dedicated user by following [Create an ADP Standard Practitioner](#create-an-adp-standard-practitioner) and connect with that user instead.

1. In DualEntry, navigate to **Configuration → Company → Integrations → ADP Workforce Now**.
2. Choose **Connect**. DualEntry opens the Connect widget in a new window.
3. In the widget, accept the Terms of Service and review the data access requested.
4. Enter your ADP Workforce Now username and password.
5. Choose **Connect**.

After the widget confirms the connection, the integration shows as **Connected** in DualEntry. The first sync pulls only metadata so you can finish mapping before any journal entries are written.

## Create an ADP Standard Practitioner

Create a dedicated ADP user when the payroll-data provider needs delegated access to your Workforce Now account. This is the fallback when a direct login does not connect. You create the user in ADP, and the Connect widget shows the name and email address to use for it.

Follow the provider's guide to [add a Standard Practitioner in ADP Workforce Now](https://support.tryfinch.com/articles/7386118330-adp-workforce-now-add-a-standard-practitioner). The user needs the following setup:

* Contact details that match the name and email address shown in the Connect widget
* Product User administrator access, with Workforce Now product access
* Every company code you want DualEntry to read
* The Standard Practitioner role
* Birth date and tax ID masking set to show full values on reports

Set the user's People Access and Payroll Processing Access using the table below. DualEntry imports pay statements, so the user needs view access to payroll data. DualEntry does not write anything back to ADP.

| Data the connection reads | People Access | Payroll Processing Access |
| - | - | - |
| Organization data only | View Only Access to all People | No Access |
| Organization and payroll data | View Only Access to all People | View Only Access |
| Organization and payroll data, plus updating deductions and contributions | View and Edit Access to all People | View Only Access |

When the user is ready, return to the Connect widget in DualEntry and sign in with it.

## Map your ADP Workforce Now data

After connecting, DualEntry pulls ADP metadata and shows what to map. Until every required mapping is complete, the integration shows as not yet set up and pay statements do not post. Open **Configuration → Company → Integrations → ADP Workforce Now → Configuration** and complete these mappings:

1. **Companies.** Map each ADP company to the DualEntry company that should receive its payroll journal entries.
2. **Payroll vendor.** Map the ADP payroll vendor to your DualEntry payroll vendor record. This vendor appears on every journal entry line.
3. **Pay statement items.** Map every earnings, tax, employee deduction, and employer contribution item to a debit account and a credit account.
4. **Individuals to company.** Map each employee to a DualEntry company so DualEntry can group pay by company.

ADP Workforce Now requires both accounts for every pay statement item. The credit account receives the credit side of that item, so an employee deduction credits its own liability account instead of the payroll offset account. An item with only one account mapped does not post.

ADP reports employer and employee taxes as separate items. Map each one to its own account so employer tax expense stays separate from taxes withheld from employees.

## What syncs

The integration pulls the following ADP Workforce Now data on each sync. ADP remains the system of record, and DualEntry does not push anything back.

| ADP Workforce Now data | DualEntry record | Notes |
| - | - | - |
| Companies | `company` mapping | Each ADP company maps to a DualEntry company. |
| Payroll vendor | `vendor` mapping | Stamped on every payroll journal entry line. |
| Pay statement items | Debit and credit `account` mapping | Earnings, taxes, employee deductions, and employer contributions. |
| Individuals | Individual-to-company mapping | Determines which DualEntry company receives each employee's pay. |
| Payments and pay statements | Source for consolidated journal entries | Per-employee detail is rolled up, not posted individually. |

## How pay runs become journal entries

Each ADP payment produces one consolidated journal entry per DualEntry company, not one entry per employee. The consolidation rules:

* Pay statements that share a payment group together.
* DualEntry splits each group by the DualEntry company mapped to each employee.
* For every payment and company pair, DualEntry sums lines across all employees in that company into one journal entry.
* When **Consolidate payroll tax** is on, tax items that map to the same GL account combine into one line. Turn it off in **Configuration → Company → Integrations → ADP Workforce Now → Settings** to see one line per tax item.
* The memo follows the pattern `[ADP Workforce Now] Payroll {start_date} to {end_date} paid on {pay_date} ({n} employees)`.

Pay statements for employees without a company mapping are skipped with an error on the record. The rest of the payment still posts. See [Journal Entries](../../core-financials/general-ledger/journal-entries) for how to review the resulting entries.

## Current limitations

The ADP Workforce Now integration has the following limitations today:

* **Workforce Now Cloud is not supported.** Connections from Cloud accounts fail inside the Connect widget.
* **PEO and managed-service accounts are not supported.** Accounts on ADP PEO, Comprehensive Services, or Administrative Service offerings cannot use the Standard Practitioner setup. ADP TotalSource customers use the [ADP TotalSource integration](./adp).
* **One direction only.** DualEntry does not push your chart of accounts, journal entries, or vendor edits back to ADP.
* **Consolidation is per company, not per employee.** Journal entries summarize each pay run at the company level.

## Troubleshoot sync errors

When a record fails to sync, it appears in the **Errors** log under **Configuration → Company → Integrations → ADP Workforce Now**. The most common causes:

| Symptom | Likely cause | Resolution |
| - | - | - |
| Connect widget fails after you enter credentials | The account is Workforce Now Cloud, or the user lacks the required access. | Confirm the account is not Cloud. If it is supported, create a Standard Practitioner and connect with that user. |
| `payroll_vendor is missing` | The ADP payroll vendor is unmapped. | Map the vendor on the **Payroll vendor** tab and resync. |
| Pay statement item is not mapped | An item has no debit account, no credit account, or neither. | Open the **Pay statement items** tab, assign both accounts, and resync. |
| No journal entry for a company | No employees are mapped to that DualEntry company for the payment. | Map every paid employee on the **Individuals to company** tab. |
| Connection shows a reauth status | The ADP user was removed, its password changed, or its access was reduced. | Reconnect from the integration page and sign in with a valid user. |

For payroll-provider outages, see the [provider status page](https://status.tryfinch.com/).

## Result

After completing these steps, every ADP Workforce Now pay run posts to DualEntry as consolidated journal entries by company. To verify the first run, open the entries for the latest pay date and confirm each memo reads `[ADP Workforce Now] Payroll ...`. Confirm total debits equal total credits, and check that earnings, tax, deduction, and contribution lines landed in the accounts you mapped.

To compare another payroll connector, see the [Paychex Flex integration](./paychex) or the [Gusto integration](./gusto). To connect more systems, return to [Integrations](../index).
