ADP RUN

Download a Time Sheet Import CSV formatted for RUN Powered by ADP.

RUN Powered by ADP® doesn't offer a self-serve API — API access is gated behind ADP's Marketplace partner program. The free path is their own "Time Sheet Import" CSV upload, so that's what this integration builds: a correctly-formatted file, one click away.

There's no OAuth step and nothing to "Connect." Settings → Integrations → ADP RUN takes you straight to a settings + mapping + download page.

One-time setup

Fill in three things on the ADP RUN settings page:

Field What it is
Company code ADP's code for your company (their "IID")
Pay frequency Weekly, biweekly, semimonthly, monthly, or quarterly — must match how your ADP account is set up
Rate code Which configured pay rate ADP should apply — BASE covers the common case

An optional Holiday earnings code field lets you tell Timely which ADP earnings code to use for holiday pay, if your ADP setup has one configured. Leave it blank and holiday hours fold into regular hours instead (the dollar amount is unaffected either way — this only changes which code the hours show up under).

Mapping employees

ADP has no roster Timely can read, so there's nothing to auto-match — each employee needs their ADP Employee Id (the ID your ADP account already uses for them) entered manually. Employees with no ID entered are skipped from the export rather than guessed at, so a payroll run never silently lands on the wrong person.

Two ways to fill these in:

  • One at a time — type an ID into any employee's row, then click Save all once you're done. A single Save all applies every row you've touched in one action, so editing five people doesn't mean five separate saves.
  • Bulk paste — click "Got a list? Paste ADP RUN IDs here" and paste one employee per line (Jane Smith, EMP001, tab- or space-separated also works). Each line is matched against your existing employees by name and dropped into the table for review — nothing is saved until you click Save all. Any line that doesn't match an employee is called out so you can fix it, rather than silently skipped. This is the fastest path if you're setting up more than a handful of employees at once, or already have a name/ID list exported from ADP.

The list defaults to showing only Unmapped employees, so it shrinks as you go — switch to All to review or edit anyone already mapped.

Downloading the CSV

Pick Last week or This week, click Download CSV, then upload the file in RUN under Time Sheet Import. The file has one row per employee per earnings code:

Column Notes
IID Your company code
Pay Frequency W / B / S / M / Q
Pay Period Start / End MM/DD/YYYY
Employee Id The ADP Employee Id you mapped
Earnings Code REG, OVT, or DOVT — an employee with both regular and overtime hours gets two rows
Pay Hours Two decimal places
Dollars Left blank — ADP applies its own configured rate via Rate Code
Separate Check Always 0
Worked Department Left blank — Timely has no ADP department mapping
Rate Code The rate code from your settings

Overtime and holidays

The regular/overtime split uses the same FLSA weekly-hours math as every other payroll export in Timely, respecting your location's break policy. Holiday hours (from org holidays with a configured pay multiplier) fold into REG unless you've set a Holiday earnings code, as above.

What this isn't

This isn't a live connection — there's no sync history, no auto-refresh, and changing an employee's schedule after you've downloaded a file doesn't update anything on ADP's side. Download after the week is final, the same way you would for the Gusto CSV path.

Found a typo or something missing? Let us know.