Documentation Index
Fetch the complete documentation index at: https://gusto-preview.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
1. Create an Off Cycle Payroll
Note that off-cycle payrolls default to using the same withholding rates, deductions, and contributions made in regular payrolls. To create an off-cycle payroll use thePOST companies/{company_uuid}/payrolls endpoint.
off_cycle_reason and Benefits
- External benefits and deductions are default included and the payroll is default taxed as regular wages when the
off_cycle_reasonis set toCorrection. - All benefits and deductions are default blocked and the payroll is default taxed at a fixed withholding rate when the
off_cycle_reasonis set toBonus. - Parameters for these default settings are adjustable
2. Editing the Payroll
Once the Off Cycle payroll is created with the select employees, call thePUT companies/{company_uuid}/payrolls/{payroll_uuid}/ endpoint using the unique payroll_id with updated fields to add appropriate compensation to pay the employees.
In v2022-12-07, we validate the employee hourly_compensations against their flsa_status and will block if an invalid compensations is passed in. We will also validate check_dates for off-cycle payrolls on creation (i.e. no back dating check_dates, check_dates can not be before the next valid direct deposit date if there is a direct deposit employee). Note the check_date could potentially move while editing if the payroll submission misses the cutoff deadline time (i.e. 3:30pm PST)
3. Calculate the Payroll
Similar to processing a regular payroll, call thePUT companies/{company_uuid}/payrolls/{payroll_uuid}/calculate endpoint using the unique payroll_id for the off-cycle. The calculated payroll details provide a preview of the actual values that will be used when the payroll is run.
If the company is blocked from running payroll due to issues like incomplete setup, missing information or other compliance issues, the response will be 422 Unprocessable Entity with a categorization of the blockers in the form:
3. Submit the Payroll
If everything looks accurate, a payroll can be processed using thePUT companies/{company_uuid}/payrolls/{payroll_uuid}/submit endpoint. Upon success, this request transitions the payroll to the processed state and initiates the transfer of funds. This is a critical step to process payroll. A payroll is not finalized without calling this endpoint.
This submission is asynchronous and a successful request responds with a 202 HTTP status. Upon success, the payroll status transitions to the processed state.
Payroll Processing Request Create a Termination Payroll Flow