---
title: "Pay Statement"
method: POST
path: "/employer/pay-statement"
tags: ["Payroll"]
---

# Pay Statement

`POST /employer/pay-statement`

Read detailed pay statements for each individual.

Deduction and contribution types are supported by the payroll systems that supports Benefits.

## Headers

- `Finch-API-Version` string, date, required
- `Content-Type` string, required

## Request body

- object
  - `requests` object[], required — The array of batch requests.
    - `payment_id` string, uuid, required — A stable Finch `id` (UUID v4) for a payment.
    - `limit` integer — Number of pay statements to return (defaults to all).
    - `offset` integer — Index to start from.

## Response `200`

Pay statement data

- GetPayStatementsResponse
  - `responses` object[], required
    - `payment_id` string
    - `code` integer
    - `body` object
      - `paging` Paging
        - `count` integer — The total number of elements for the entire query (not just the given page)
        - `offset` integer — The current start index of the returned list of elements
      - `pay_statements` PayStatement[] — The array of pay statements for the current payment.
        - `individual_id` string — A stable Finch `id` (UUID v4) for an individual in the company
        - `type` 'regular_payroll' | 'off_cycle_payroll' | 'one_time_payment' | 'null', nullable — The type of the payment associated with the pay statement.
        - `payment_method` 'check' | 'direct_deposit' | 'null', nullable — The payment method.
        - `total_hours` number, nullable — The number of hours worked for this pay period
        - `gross_pay` Money, nullable
          - `amount` integer, nullable — Amount for money object (in cents)
          - `currency` string
        - `net_pay` Money, nullable
          - `amount` integer, nullable — Amount for money object (in cents)
          - `currency` string
        - `earnings` object[], nullable — The array of earnings objects associated with this pay statement
          - `type` 'salary' | 'wage' | 'reimbursement' | 'overtime' | 'severance' | 'double_overtime' | 'pto' | 'sick' | 'bonus' | 'commission' | 'tips' | '1099' | 'other' | 'null', nullable — The type of earning.
          - `name` string, nullable — The exact name of the deduction from the pay statement.
          - `amount` integer, nullable — The earnings amount in cents.
          - `currency` string, nullable — The earnings currency code.
          - `hours` number, nullable — The number of hours associated with this earning. (For salaried employees, this could be hours per pay period, `0` or `null`, depending on the provider).
          - `attributes` object, nullable
            - `metadata` Metadata
              - …
        - `taxes` object[], nullable — The array of taxes objects associated with this pay statement.
          - `type` 'state' | 'federal' | 'local' | 'fica' | 'null', nullable — The type of taxes.
          - `name` string, nullable — The exact name of tax from the pay statement.
          - `employer` boolean, nullable — `true` if the amount is paid by the employers.
          - `amount` integer, nullable — The tax amount in cents.
          - `currency` string, nullable — The currency code.
          - `attributes` object, nullable
            - `metadata` Metadata
              - …
        - `employee_deductions` object[], nullable — The array of deductions objects associated with this pay statement.
          - `name` string, nullable — The deduction name from the pay statement.
          - `amount` integer, nullable — The deduction amount in cents.
          - `currency` string, nullable — The deduction currency.
          - `pre_tax` boolean, nullable — Boolean indicating if the deduction is pre-tax.
          - `type` '401k' | '401k_roth' | '401k_loan' | '403b' | '403b_roth' | '457' | '457_roth' | 's125_medical' | 's125_dental' | 's125_vision' | 'hsa_pre' | 'hsa_post' | 'fsa_medical' | 'fsa_dependent_care' | 'simple_ira' | 'simple' | 'commuter' | 'custom_post_tax' | 'custom_pre_tax' | 'null', nullable — Type of benefit.
          - `attributes` object, nullable
            - `metadata` Metadata
              - …
        - `employer_contributions` object[], nullable
          - `name` string, nullable — The contribution name from the pay statement.
          - `amount` integer, nullable — The contribution amount in cents.
          - `currency` string, nullable — The contribution currency.
          - `type` '401k' | '401k_roth' | '401k_loan' | '403b' | '403b_roth' | '457' | '457_roth' | 's125_medical' | 's125_dental' | 's125_vision' | 'hsa_pre' | 'hsa_post' | 'fsa_medical' | 'fsa_dependent_care' | 'simple_ira' | 'simple' | 'commuter' | 'custom_post_tax' | 'custom_pre_tax' | 'null', nullable — Type of benefit.
          - `attributes` object, nullable
            - `metadata` Metadata
              - …

## Changes

- **2025-04-04** `14d375aab89e` — 1 breaking
  - the `requests/items/payment_id` request property type/format changed from `string`/`` to `string`/`uuid`
- **2025-02-27** `7a816d4a5f00` — 4 info
  - added the optional property `responses/items/body/pay_statements/items/earnings/items/attributes/metadata/metadata` to the response with the `200` status
  - added the optional property `responses/items/body/pay_statements/items/employee_deductions/items/attributes/metadata/metadata` to the response with the `200` status
  - added the optional property `responses/items/body/pay_statements/items/employer_contributions/items/attributes/metadata/metadata` to the response with the `200` status
  - added the optional property `responses/items/body/pay_statements/items/taxes/items/attributes/metadata/metadata` to the response with the `200` status
- **2025-02-25** `5d2b3a9cdbcf` — 4 info
  - added the optional property `responses/items/body/pay_statements/items/earnings/items/attributes` to the response with the `200` status
  - added the optional property `responses/items/body/pay_statements/items/employee_deductions/items/attributes` to the response with the `200` status
  - added the optional property `responses/items/body/pay_statements/items/employer_contributions/items/attributes` to the response with the `200` status
  - added the optional property `responses/items/body/pay_statements/items/taxes/items/attributes` to the response with the `200` status

[Change history](https://skmtc.dev/finch-api/apis/api-reference/changes/employer/pay-statement/post.md)

---

[API](https://skmtc.dev/finch-api/apis/api-reference.md) · [All operations](https://skmtc.dev/finch-api/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/finch-api/api-reference/revisions/ff61a38530df/schema)
