---
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.

## Query parameters

- `entity_ids` string[]

## Headers

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

## Request body

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

## Response `200`

Pay statement data

- GetPayStatementsResponse
  - `responses` object[], required
    - `payment_id` string, required
    - `code` integer, required
    - `body` union, required
      - object
        - `paging` object, required
          - `count` integer — The total number of elements for the entire query (not just the given page)
          - `offset` integer, required — The current start index of the returned list of elements
        - `pay_statements` PayStatement[], required
          - `individual_id` string, required — A stable Finch `id` (UUID v4) for an individual in the company
          - `type` 'off_cycle_payroll' | 'one_time_payment' | 'regular_payroll' | 'null', nullable, required — The type of the payment associated with the pay statement.
          - `payment_method` 'check' | 'direct_deposit' | 'other' | 'null', nullable, required — The payment method.
          - `total_hours` number, nullable, required — The number of hours worked for this pay period
          - `gross_pay` Money, nullable, required
            - `amount` integer, nullable, required — Amount for money object (in cents)
            - `currency` string, required
          - `net_pay` Money, nullable, required
            - `amount` integer, nullable, required — Amount for money object (in cents)
            - `currency` string, required
          - `earnings` object[], nullable, required — 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, required — The type of earning.
            - `name` string, nullable, required — The exact name of the earning from the pay statement.
            - `amount` integer, nullable, required — The earnings amount in cents.
            - `currency` string, nullable, required — The earnings currency code.
            - `hours` number, nullable, required — 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
              - …
          - `taxes` object[], nullable, required — The array of taxes objects associated with this pay statement.
            - `type` 'state' | 'federal' | 'local' | 'fica' | 'null', nullable, required — The type of taxes.
            - `name` string, nullable, required — The exact name of tax from the pay statement.
            - `employer` boolean, nullable, required — `true` if the amount is paid by the employers.
            - `amount` integer, nullable — The tax amount in cents.
            - `currency` string, nullable, required — The currency code.
            - `attributes` object, nullable
              - …
          - `employee_deductions` object[], nullable, required — The array of deductions objects associated with this pay statement.
            - `name` string, nullable, required — The deduction name from the pay statement.
            - `amount` integer, nullable, required — The deduction amount in cents.
            - `currency` string, nullable, required — The deduction currency.
            - `pre_tax` boolean, nullable, required — Boolean indicating if the deduction is pre-tax.
            - `type` '457' | '401k' | '401k_roth' | '401k_loan' | '403b' | '403b_roth' | '457_roth' | 'commuter' | 'custom_post_tax' | 'custom_pre_tax' | 'fsa_dependent_care' | 'fsa_medical' | 'hsa_post' | 'hsa_pre' | 's125_dental' | 's125_medical' | 's125_vision' | 'simple' | 'simple_ira' | 'null', nullable, required — Type of benefit.
            - `attributes` object, nullable
              - …
          - `employer_contributions` object[], nullable, required
            - `name` string, nullable, required — The contribution name from the pay statement.
            - `amount` integer, nullable — The contribution amount in cents.
            - `currency` string, nullable, required — The contribution currency.
            - `type` '457' | '401k' | '401k_roth' | '401k_loan' | '403b' | '403b_roth' | '457_roth' | 'commuter' | 'custom_post_tax' | 'custom_pre_tax' | 'fsa_dependent_care' | 'fsa_medical' | 'hsa_post' | 'hsa_pre' | 's125_dental' | 's125_medical' | 's125_vision' | 'simple' | 'simple_ira' | 'null', nullable, required — Type of benefit.
            - `attributes` object, nullable
              - …
      - BatchError
        - `code` number, required
        - `finch_code` string
        - `message` string, required
        - `name` string, required
      - object
        - `code` 202, required
        - `finch_code` 'data_sync_in_progress', required
        - `message` 'The pay statements for this payment are being fetched. Please check back later.', required
        - `name` 'accepted', required

## Other responses

- `202` — The request has been accepted for processing, but data is not yet available
- `422` — The request could not be processed due to a validation error

---

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