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

# Payroll Calendar

> View and manage the organization's pay schedule on a monthly calendar with pay-period events, deadlines, and status indicators.

The Payroll Calendar page at `/hr/payroll/calendar` provides a monthly calendar view of scheduled pay periods, submission/approval deadlines, and the processing deadline for each pay cycle. Users with schedule management permission can also configure the organization's pay schedule from this page.

## Overview

The calendar displays one month at a time and shows pay-period events color-coded by status: Scheduled, In Progress, Completed, and Skipped. Days that fall on a configured holiday are highlighted. Clicking a pay-period event navigates to the linked payroll run detail page (if a run exists for that period). The "Regenerate" button rebuilds calendar events for the next 12 months using the active pay schedule and holiday list. Users with `hr.pay_schedules.manage` permission see a "Settings" button that opens an inline Pay Schedule form.

## Who it's for

Access follows your organization's role and module configuration. Users with the `hr.pay_schedules.manage` permission additionally see the Settings and Regenerate controls.

## Before you start

* A pay schedule must be configured before calendar events appear. If no schedule exists, a warning card is shown with a "Configure Schedule" button (visible to schedule managers only).
* Holiday dates must be loaded for the selected year for holiday highlighting to work.

## Steps

**View pay periods**

1. Navigate to **HR → Payroll → Calendar** (`/hr/payroll/calendar`).
2. Use the left/right arrows to move between months, or click **Today** to return to the current month.
3. Hover over a pay-day event chip to see the full period start/end, submission deadline, approval deadline, and processing deadline.
4. Click an event chip to go to the linked payroll run (only available when a run exists for that period).

**Configure a pay schedule (managers only)**

1. Click the **Settings** button in the page header.
2. Complete the Pay Schedule form fields (name, frequency, anchor date, offset days, deadlines, holiday adjustment settings).
3. Click **Save**. The form closes and the calendar reloads with updated events.

**Regenerate events**

1. Click **Regenerate** to rebuild the next 12 months of calendar events using the current schedule and holiday list.

## Key concepts

| Term                | Meaning                                                                                      |
| ------------------- | -------------------------------------------------------------------------------------------- |
| Pay Period          | The date range of work covered by a single payroll run.                                      |
| Pay Date Offset     | Number of days after the period ends before paychecks are issued.                            |
| Submission Deadline | Last day employees can submit timesheets for this period.                                    |
| Approval Deadline   | Last day managers must approve timesheets.                                                   |
| Processing Deadline | Last day payroll must be finalized before the pay date.                                      |
| Semimonthly         | Two pay dates per month, configured by `semimonthly_first_day` and `semimonthly_second_day`. |

## Related

<Columns cols={2}>
  <Card title="Human Resources" icon="users" href="/hr/overview">
    Human Resources core overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index" />
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/hr.tsx
  * src/cores/hr/pages/PayrollCalendarPage.tsx
  * src/cores/hr/hooks/payroll/usePayCalendarEvents.ts
  * src/cores/hr/hooks/payroll/usePaySchedule.ts
</Accordion>
