---
title: "Create an external payroll"
method: POST
path: "/external_payrolls"
---

# Create an external payroll

`POST /external_payrolls`

Creates an external payroll.

## Request body

- object
  - `company` string, required — ID of the company this external payroll is for.
  - `period_start` string, date, required — The start of the date range that the payroll covers.
  - `period_end` string, date, required — The end of the date range that the payroll covers.
  - `payday` string, date, required — The date on which employees were paid for the payroll.
  - `pay_frequency` string — Frequency at which the external payroll was paid
  - `items` object[] — The set of [external payroll items](https://docs.checkhq.com/reference/external-payroll-item-object) associated with the payroll.
    - `employee` string — ID of the employee that was paid
    - `earnings` object[]
      - `amount` string — Amount paid out on this payroll
      - `hours` string — Hours worked on this payroll
      - `type` string — Earning type, one of [Earning Types](https://docs.checkhq.com/reference/types-of-earnings)
      - `workplace` string — ID of workplace that the earning was worked at
      - `earning_code` string — ID of the custom earning code used for this earning. Either this or `type` must be provided.
    - `reimbursements` object[]
      - `amount` string, required — Amount reimbursed
    - `taxes` object[]
      - `tax` string, required — ID of the tax paid
      - `amount` string, required — Amount paid in this tax
    - `benefits` object[]
      - `id` string — ID of the benefit object that represents this deduction. One of `ID` or `benefit` must be provided.
      - `benefit` string — The [benefit type](https://docs.checkhq.com/reference/types-of-benefits) of this deduction. Either `id` or `benefit` must be provided.
      - `description` string — Description of the benefit provided. If ID is provided, this field will not take effect and instead be superseded by the benefit object's description.
      - `employee_contribution_amount` string — Amount the employee contributed to the benefit for this payroll
      - `company_contribution_amount` string — Amount the company contributed to this benefit for this payroll
    - `post_tax_deductions` object[]
      - `id` string — ID of the post-tax deduction deducted from pay. Either this or `description` must be provided.
      - `amount` string — Amount deducted from pay
      - `description` string — Description of the post-tax deduction deducted. Either this or `id` must be provided.
  - `contractor_payments` object[] — The set of [contractor payments](https://docs.checkhq.com/reference/the-contractor-payment-object) associated with the payroll.
    - `amount` string — Amount paid to this contractor
    - `reimbursement_amount` string — Amount reimbursed to the contractor
    - `contractor` string — ID of the contractor paid
  - `metadata` string, json — Additional loosely structured information to associate with the payroll. Values must be string.

## Response `200`

200

---

[API](https://skmtc.net/checkhq/apis/check-api.md) · [All operations](https://skmtc.net/checkhq/apis/check-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/checkhq/check-api/versions/f46e28134549/schema)
