Create a payroll

Creates a payroll.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
📘

Regular payroll periods

period_start and period_end should represent a regular payroll period on a pay frequency that the company selects and communicates to its employees.

Pass correction to create a managed replacement payroll and attach it to a draft correction in the same request. This is the managed-payroll counterpart to Create an external payroll with correction — use it when the replacement should run through the standard payroll preview and approval flow rather than as historical pay history.

Replacement payrolls

When correction is supplied:

  • payday must be in the past, on or after the open quarter start, on or after the company's start_date, and within the correction's tax year.
  • Nested items and contractor_payments must use payment_method manual. Replacement payrolls do not disburse net pay.
  • The correction must be in draft, belong to the same company, and accept managed replacement payrolls.
  • The caller must have correction:write or correction:admin scope.

When the Corrections API is enabled for your integration, any payroll with a payday in the past must include correction. correction is write-only at creation and cannot be changed on update.

See Correcting Pay History for the full void-and-replace workflow.

Query Params
boolean
Defaults to false

Enable this flag to define items directly on this payroll.

boolean
Defaults to false

Enable this flag to define contractor_payments directly on this payroll.

Body Params
string
required

ID of the company to run payroll for.

date
required

The start of the date range that the payroll covers.

date
required

The end of the date range that the payroll covers.

date
required

The date on which employees will be paid for the payroll. When the Corrections API is enabled for your integration, a payday in the past requires correction. When correction is supplied, payday must be in the past, on or after the open quarter start, on or after the company's start_date, and within the correction's tax year.

string

The processing period of the payroll.

One of three_day, two_day, or one_day.

The processing period determines the approval deadline of the payroll. For a payroll with a Friday payday, three_day will mean the approval deadline is on Tuesday, whereas two_day will mean the approval deadline is on Wednesday, and one_day will mean the approval deadline is on Thursday.

The possible values for this field are constrained by the processing periods the company is approved for.

Default: processing_period of the company

string

ID of the draft correction to attach this payroll to as a replacement. Write-only at creation; omit for ordinary payrolls. When supplied, nested items and contractor_payments must use payment_method manual — replacement payrolls do not disburse net pay. The correction must be in draft, belong to the same company, and accept managed replacement payrolls. Requires correction:write or correction:admin scope.

string

Indicates whether the payroll is a regular, off-cycle, or amendment payroll.

One of regular,off_cycle, or amendment.

Default: regular

string

Frequency by which employees get paid.

One of weekly, biweekly, semimonthly, monthly, quarterly, or annually.

Default: biweekly

string

Payment method for funding the payroll.

One of ach or wire.

Default: ach

string

ID of the pay schedule that the payroll relates to.

off_cycle_options
object

Additional configuration options controlling off_cycle payroll behavior.

items
array of objects

The set of payroll items associated with the payroll. Must set include_items=true.

items
contractor_payments
array of objects

The set of contractor payments associated with the payroll. Must set include_contractor_payments=true.

contractor_payments
json

Additional loosely structured information to associate with the payroll. Values must be string.

string

ID of the bank account that will be used to fund the payroll.

Default: default_bank_account of the company

Response

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json