> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reporting Period Object

> The Reporting Period object represents a date range for a single pay cycle. Learn its schema and how it's used when creating employee payroll checks.

A **Reporting Period** represents a date range that corresponds to a single pay cycle for a company. Every employee check you create must reference a `reportingPeriodID`, which tells Zeal which pay cycle the payment belongs to. Zeal generates reporting periods automatically based on the company's configured pay schedule, so you typically look them up rather than create them.

You can fetch the full list of reporting periods for a company, look up a specific period by its `reportingPeriodID`, or retrieve the upcoming regular payroll period and check date in a single call.

***

## Reporting Period Schema

<ResponseField name="reportingPeriodID" type="string">
  The unique identifier for this reporting period. Pass this value as `reportingPeriodID` when creating an employee check.
</ResponseField>

<ResponseField name="pay_schedule" type="string">
  The pay schedule associated with this period (e.g., `weekly`, `biweekly`, `semimonthly`, `monthly`).
</ResponseField>

<ResponseField name="start" type="string">
  The first day of the pay period in `YYYY-MM-DD` format.
</ResponseField>

<ResponseField name="end" type="string">
  The last day of the pay period in `YYYY-MM-DD` format.
</ResponseField>

See [Get Reporting Period by ID](/reference/employee-checks/reporting-periods/get-reporting-period-by-id), [Get All Reporting Periods](/reference/employee-checks/reporting-periods/get-all-reporting-periods), and [Get Upcoming Regular Payroll](/reference/employee-checks/payroll-run/get-upcoming-regular-payroll) for the full request/response detail on each field.

***

## Using `reportingPeriodID` in Employee Checks

Once you have a `reportingPeriodID`, include it as a required field when calling `POST /employeeCheck` to create a new employee check. The reporting period anchors the check to the correct pay cycle so Zeal can apply the right tax tables, deadlines, and filing periods.

```json theme={null}
{
  "companyID": "{companyID}",
  "employeeID": "{employeeID}",
  "reportingPeriodID": "5eb317a40d1158d5ddcb6895",
  "check_date": "2024-02-19",
  "shifts": [
    {
      "time": "2024-02-01T09:00:00Z",
      "hourly": {
        "hours": 80
      }
    }
  ]
}
```
