Submit pay data for an off-cycle (supplemental/bonus) payroll run in ADP Workforce Now using the Payroll Data Input API.
domain: developers.adp.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Have a payroll practitioner open/create the off-cycle payroll cycle in ADP Workforce Now (via the off-cycle/adjustment payroll option) so its cycle status becomes 'Entering Payroll Information' — the API cannot create or initiate the off-cycle cycle itself.
Call GET /events/payroll/v1/pay-data-input.modify/meta (optionally filtered by companyCode and fileNumber) to retrieve the valid earning codes, deduction codes, and other codelists configured for the company, including the bonus/supplemental earning code.
Build a payload with eventContext (company/payroll group code, batch/process job ID) and payDataInput/payeePayInputs entries that use the bonus/supplemental earning code and a distinct payNumber to represent the off-cycle check.
POST the payload to /events/payroll/v1/pay-data-input.modify and confirm a 200 response.
On 400 errors, validate the payrollGroupCode, employee file number, and earning/deduction codes against the meta response before retrying — common causes are an invalid company/payroll group code or a code not present in the Validation Table.
Have the payroll practitioner review the imported entries on the Paydata page in ADP Workforce Now and process/finalize the off-cycle run manually — the API only populates pay data, it does not submit or finalize the payroll run.
Known gotchas
The API call is rejected unless the target payroll cycle's status is exactly 'Entering Payroll Information' or 'Correcting Input' — you must open/prepare the off-cycle cycle in the UI first; the API cannot start an off-cycle run on its own.
Bonus/supplemental earnings are commonly subject to a flat supplemental withholding rate (ADP cites 22% in its own off-cycle payroll guidance) rather than regular withholding tables; this is applied by ADP's payroll engine based on which earning code you use, so using the wrong code produces incorrect withholding.
There is no public 'finalize/submit payroll' API — after the pay data batch is posted, a human payroll practitioner must still review and process the off-cycle run inside ADP Workforce Now.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?