---
updatedAt: 2026-10-01T18:19:02.000Z
agentTools:
  projectIndex: https://docs.checkhq.com/llms.txt
---

# The company object

Represents an employer.

The company object captures company payroll information, including payment frequency, bank account information, processing period, and Check onboarding status.

> **Shared enums:** The `pay_frequency` field uses the same set of values as `pay_frequency` on the [Payroll](https://docs.checkhq.com/reference/the-payroll-object) object and the [Pay Schedule](https://docs.checkhq.com/reference/the-pay-schedule-object) object.

```json Sample company object
{
    "id": "com_sx3svU6K8c5ZkSFlOh5p",
    "legal_name": "Stark Industries, Inc.",
    "trade_name": "Stark Industries",
    "statement_descriptor": "Stark Industries",
    "business_type": "c_corporation",
    "industry_type": "scientific_and_technical_services",
    "website": "https://www.starkindustries.com",
    "email": "payroll@starkindustries.com",
    "phone": "5551234567",
    "pay_frequency": "biweekly",
    "bank_accounts": [],
    "active": false,
    "processing_period": "three_day",
    "processing_period_eligibility": ["three_day", "two_day", "one_day"],
    "start_date": "2021-02-15",
    "onboard": {
        "status": "blocking",
        "blocking_steps": [
            "bank_account",
            "setup_parameters",
            "filing_authorization"
        ],
        "remaining_steps": [
            "bank_account",
            "setup_parameters",
            "filing_authorization"
        ],
        "bank_account": [
            "bank_account_exists",
            "bank_account_verified",
            "bank_account_debit_authorization_submitted"
        ],
        "setup_parameters": [
            {
                "id": "jur_NvIot3gvbIitui4Vmy9Z",
                "name": "Federal",
                "status": "blocking"
            },
            {
                "id": "jur_87N4QWPZ38kDSvkqAI7D",
                "name": "New York",
                "status": "needs_attention",
            },     
        ],
        "filing_authorization": [
            {
                "id": "frm_ozhx2ezrVsd2k2ScL7HU",
                "name": "Federal Form 8655",  
                "status": "blocking",
            },
            {
                "id": "frm_Iee3dIFvT1uBUYJ4PG7z",
                "name": "New York TR-2000",
                "status": "needs_attention",
            },    
            {
                "id": "frm_Y43LpYf60wEf3bCaN9Rn",
                "name": "New York TR-579-WT",
                "status": "needs_attention",
            },
        ],
    },
    "implementation": {
      	"status": "needs_attention",
        "remaining_steps": {
          	"kyb": {
              	"status": "not_initiated",
            },
        },
    },
    "in_good_standing": true,
    "address": {
        "line1": "200 Park Ave",
        "line2": null,
        "city": "New York",
        "state": "NY",
        "postal_code": "10166",
        "country": "US"
    },
    "principal_place_of_business": "wrk_kf7VlAT2024bG3ibQ1Kf",
    "employee_w2_delivery_method": null,
    "contractor_1099_delivery_method": null,
    "metadata": {},
    "default_bank_account": "bnk_v65m1wAKyyOYm37fLieP"
}
```

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Attribute
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `id`  
        _string_
      </td>

      <td>
        Unique identifier for the company.
      </td>
    </tr>

    <tr>
      <td>
        `legal_name`  
        _string_
      </td>

      <td>
        Legal name of the company.

        Cannot be updated unless `implementation.kyb.status` is `not_initiated`.
      </td>
    </tr>

    <tr>
      <td>
        `trade_name`  
        _string_
      </td>

      <td>
        Trade name of the company.
      </td>
    </tr>

    <tr>
      <td>
        `other_business_name`  
        _string_
      </td>

      <td>
        Other business name used by the company.
      </td>
    </tr>

    <tr>
      <td>
        `statement_descriptor`  
        _string_
      </td>

      <td>
        Business name that will be included as part of ACH/RTP transactions for employee and contractor direct deposits, which will be displayed on employee bank statements. Maximum of 16 characters.

        If not provided, will default to the Check partner's originator name if provided, or "Check Payroll" if not.
      </td>
    </tr>

    <tr>
      <td>
        `business_type`  
        _string_
      </td>

      <td>
        Business type of the company. One of `sole_proprietorship`, `partnership`, `c_corporation`, `s_corporation`, `llc` or `government_entity`.
      </td>
    </tr>

    <tr>
      <td>
        `industry_type`  
        _string_
      </td>

      <td>
        Industry type of the company. One of `auto_or_machine_sales`, `auto_or_machine_repair`, `arts_or_entertainment_or_recreation`, `cleaning_services`, `consulting_services`, `educational_services`, `family_care_services`, `financial_services`, `food_and_beverage_retail_or_wholesale`, `general_construction_or_general_contracting`, `government_or_public_administration`,`health_care`, `hospitality_or_accommodation`, `hvac_or_plumbing_or_electrical_contracting`, `legal_services`, `non_food_retail_or_wholesale`, `other`, `personal_care_services`, `real_estate`, `restaurant`, `scientific_or_technical_services`, `security_services`, `tobacco_or_alcohol_sales`, or `transportation`.
      </td>
    </tr>

    <tr>
      <td>
        `website`  
        _string_
      </td>

      <td>
        Website URL of the company.
      </td>
    </tr>

    <tr>
      <td>
        `email`  
        _string_
      </td>

      <td>
        Email address of payroll department or administrator.
      </td>
    </tr>

    <tr>
      <td>
        `phone`  
        _string_
      </td>

      <td>
        Phone number of the company.
      </td>
    </tr>

    <tr>
      <td>
        `pay_frequency`  
        _string_
      </td>

      <td>
        Frequency by which the employees get paid. One of `weekly`, `biweekly`, `semimonthly`, `monthly`, `quarterly`, or `annually`.

        Defaults to `biweekly` if not provided in request
      </td>
    </tr>

    <tr>
      <td>
        `bank_accounts`  
        _array of strings_
      </td>

      <td>
        Read only. An array of bank account IDs.
      </td>
    </tr>

    <tr>
      <td>
        `active`  
        _boolean_
      </td>

      <td>
        Indicates whether the company is active or archived within Check.
      </td>
    </tr>

    <tr>
      <td>
        `processing_period`  
        _string_
      </td>

      <td>
        Number of days from payroll approval to payday. Following Check's risk review, companies are assigned one of the following values: `three_day`, `two_day`, and `one_day`.

        For `two_day`-approved companies, the processing period can be upgraded to `one_day` without restriction. On the other hand, the request would fail for  `three_day`-approved companies.
      </td>
    </tr>

    <tr>
      <td>
        `processing_period_eligibility`  
        _array of strings_
      </td>

      <td>
        Read only. Every processing period the company is eligible for, based on Check's risk review. Possible values are `three_day`, `two_day`, and `one_day`. Companies may be eligible for a faster processing period than their current `processing_period`.

        - `["three_day", "two_day", "one_day"]`: the company is approved for faster processing. `one_day` is left out if next-day pay is not enabled for your platform.
        - `["three_day"]`: the company is approved for `three_day` only.
        - `[]`: the company did not pass risk review.
        - `null`: risk review has not reached a decision yet.
      </td>
    </tr>

    <tr>
      <td>
        `start_date`  
        _YYYY-MM-DD_
      </td>

      <td>
        Date the company will start using Check as their payroll processor.

        This date should match up with their first payday using Check. The validity of this date is important, as it's used on federal and state filing authorization forms to signify when Check's authorization to file on behalf of the employer starts.
      </td>
    </tr>

    <tr>
      <td>
        `onboard`  
        _object_
      </td>

      <td>
        Structured information about the [onboard status](https://docs.checkhq.com/docs/onboard-status) of the company.
      </td>
    </tr>

    <tr>
      <td>
        `implementation`  
        _object_
      </td>

      <td>
        Structured information about the [implementation status](https://docs.checkhq.com/docs/implementation-status) of the company.
      </td>
    </tr>

    <tr>
      <td>
        `in_good_standing`  
        _boolean_
      </td>

      <td>
        Indicates if the company is considered to be In Good Standing with Check. The value is derived: it is `false` whenever Check has at least one standing condition on the company, and `true` when the company has none.

        Check puts a company out of good standing for one of five reasons, and this is the complete set: a failed debit, a late wire, fraud risk, compliance risk, and credit risk. This field reports only whether the company is in good standing; the API does not expose which reason applies.

        Any company which is not in good standing will _not_ be able to run payroll, and its tax filings can be blocked until it returns to good standing.

        A failed debit is the only one of the five the API surfaces: it also creates a `resolve_funding_failure` requirement, and [Resolve Funding Failures](https://docs.checkhq.com/docs/resolve-funding-failures) covers how to track and clear it. A late wire clears when the wire arrives or the payroll is fully voided. Fraud risk, compliance risk, and credit risk are cleared with Check.
      </td>
    </tr>

    <tr>
      <td>
        `address`  
        _object_
      </td>

      <td>
        Legal address of company on file with the federal government.
      </td>
    </tr>

    <tr>
      <td>
        `principal_place_of_business`  
        _string_
      </td>

      <td>
        Company's workplace ID whose address would be printed on paystub, instead of legal address.
      </td>
    </tr>

    <tr>
      <td>
        `employee_w2_delivery_method`  
        _string_
      </td>

      <td>
        Indicates how a company would like to deliver W-2s to employees. Set to `null` by default, but can be set to one of `manual`, `print_and_mail_all`, or `null`. If set to `manual`, Check will not print and mail W-2s to employees. If set to `print_and_mail_all`, Check will print and mail W-2s to all employees who are slated to receive one. If set to `print_mail_to_employer`, Check will print all W-2s and mail them in bulk to the company’s `principal_place_of_business` if field is set and legal `address` otherwise.
      </td>
    </tr>

    <tr>
      <td>
        `contractor_1099_delivery_method`  
        _string_
      </td>

      <td>
        Indicates how a company would like to deliver 1099s to contractors. Set to `null` by default, but can be set to one of `manual`, `print_and_mail_all`, or `null`. If set to `manual`, Check will not print and mail 1099s to contractors. If set to `print_and_mail_all`, Check will print and mail 1099s to all contractors who are slated to receive one. If set to `print_mail_to_employer`, Check will print all 1099s and mail them in bulk to the employer’s address for distribution.
      </td>
    </tr>

    <tr>
      <td>
        `metadata`  
        _object_
      </td>

      <td>
        Additional loosely structured information to associate with the company.
      </td>
    </tr>

    <tr>
      <td>
        `default_bank_account`  
        _string_
      </td>

      <td>
        ID of the default [bank account](https://docs.checkhq.com/reference/the-bank-account-object) of the company.

        The default bank account is used for employer tax collections and refunds, as well as to fund payrolls unless the user explicitly sets the `bank_account` argument when creating or updating a payroll.

        The default bank account can be updated to be any one of the company's active bank accounts.
      </td>
    </tr>
  </tbody>
</Table>