Run the Payroll Review report

Reports on payments that have not yet been finalized, so you can review payroll data before it is approved. Payments whose pay period (forDate) falls within the date range are included, optionally narrowed to specific approval groups. The report is the payment detail report, with summary pages by approval group and title.

Criteria. Send startDate and endDate (both yyyy-MM-dd, startDate not after endDate), and optionally approvalGroupIds, an array of approval group IDs as strings (for example ["1042"]). A JSON number is rejected.

Pre-finalization data only. Every payment status before approval is included, such as scheduled, calculated and errored payments. Payments that are approved or later (finalized) and deleted payments are never included. For finalized payments, use Payments by Pay Period or Payments by Pay Date. Payments that are in error are included, and are clearly marked as errored in the report: their amounts may be wrong.

Never reports on payments mid-calculation. The data of a payment that is waiting for calculation, or being calculated right now, is changing, and a report built from it could show you wrong numbers. So this report is protected in two ways:

  • If any payment in the date range (and approval groups, if you provided them) is waiting for or undergoing calculation when you make the request, the request fails with HTTP 412 and nothing is created. The response includes a Retry-After header with the number of seconds to wait before trying again.
  • If payments begin calculating after your request was accepted but before the report is built, the report run ends with status ERRORED and an errorMessage saying so, and you receive a report.errored webhook event. No file is produced.

In both cases, wait and submit the request again. A report you receive always reflects payments that were settled at the time it was built.

It's a snapshot. The file shows payment data as of the moment it was generated. Payments can be recalculated, approved or deleted afterwards, so request a new report whenever you need to review the latest state. A payment leaves this report once it is approved.

Multi-group workforces. If your workforce has separate groups paid on different pay cycles, provide approvalGroupIds to limit the report to those groups' payments. Make one request per group if you need them separately.

This endpoint needs the integration_reports-payroll-review:read scope. See the Guide to the Reports API for how report runs work, including retrieving the download link.

Body Params
date
required

First day of the pay period range, inclusive (yyyy-MM-dd). Matches payments' forDate.

date
required

Last day of the pay period range, inclusive (yyyy-MM-dd). Must not be before startDate.

approvalGroupIds
array of strings

Limit the report to payments in these approval groups, as ID strings. Omit to include all approval groups.

approvalGroupIds
Responses

Language
Credentials
Header
LoadingLoading…
Response
Choose an example:
application/json