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

# Time and payroll

> Compute staff pay per pay period from scheduled course sessions, set staff and course rates, and track payroll records.

<Info>
  **School-level feature** — managed within your school portal at `yourschool.deandesk.com`, but access requires an **institution Identity**: Super Admin Identities can view and edit, and Admin Read-Only Identities can view. School admins without a linked Identity do not see this page. See [Institutions & Schools](/getting-started/institutions-and-schools) for how the two levels relate.
</Info>

Time and Payroll computes what each staff member earns per pay period based on your scheduled course sessions. You set hourly and per-period rates once, and DeanDesk attributes course hours to staff automatically each period — no timesheets required for regular teaching time.

Open **Time and Payroll** from the school **Admin Dashboard**. Three stat pills at the top summarize the current period: **Staff**, **Hours**, and **Gross**.

## How pay is calculated

For each pay period, DeanDesk attributes scheduled course session hours to your staff. Gross pay for each role is:

> payable hours × hourly rate + per-period pay + ad-hoc pay

A staff member with multiple roles (e.g., teacher in one course, TA in another) gets a separate line per role, and their record totals the roles together.

### Who gets the hours for a session

Each course schedule entry can have an assigned **Teacher/TA**, set when creating or editing the course (the default is **Unassigned**).

* If a session has assigned staff, that person receives the payroll hours for the session.
* If a session is unassigned, the hours go to the course instructor.

Assigned staff also appear on calendar views, so the schedule and payroll always agree on who is teaching.

## Set up payroll

<Steps>
  <Step title="Configure settings">
    On the **Settings** tab, set:

    * **Pay period** — **Bi-Monthly** or **Bi-Weekly** (default bi-weekly)
    * **Payroll processed day** — bi-weekly only: the weekday each period closes (default Friday)
    * **Default teacher attendance** — **Mark Present** counts scheduled course hours toward pay by default; **Mark Absent** keeps scheduled hours visible but unpaid until you override them
    * **Allow teachers to log additional hours** — toggle whether teachers can record hours beyond their scheduled course time
  </Step>

  <Step title="Set staff rates">
    On the **Staff Rates** tab, each staff member has one row per role (teacher, TA, admin). For each row, set:

    * **Hourly rate** — applied to payable hours
    * **Per-period pay** — a flat amount added every pay period

    Edit as many rows as you need — changes save together via the save bar.
  </Step>

  <Step title="Set course rates (optional)">
    On the **Course Rates** tab, fine-tune pay per course:

    * **Paid** checkbox — unmark a course so its sessions generate no pay (useful for volunteer-led or free classes)
    * **Per-staff overrides** — for a specific staff member on a specific course, set hours per week, an hourly rate, and a note

    Course overrides take precedence over the staff rates you set in the previous step.
  </Step>

  <Step title="Review records each period">
    On the **Records** tab, review the payroll run, verify each staff member's pay, and mark records paid. See below for everything you can do here.
  </Step>
</Steps>

## Records

The **Records** tab is the payroll run view — one row per staff member for the selected pay period.

### Navigating and filtering

* **Pay period navigation** — move between pay periods to review past or upcoming runs
* **Search** — find staff by name
* **Filters** — by status (**Pending**, **Verified**, **Paid**) and by role
* **Sort** — by employee, hours, or gross pay

### Verifying and paying

Each row has **Verify** and **Mark Paid** actions. To process many records at once, select multiple rows with the checkboxes and apply a bulk status change.

### Record details

Expand a row to see a per-role breakdown: source hours, payable hours, hourly rate, per-period pay, ad-hoc pay, and the role total. From the expanded view you can also:

* **Add ad-hoc hours** — date, hours, an optional rate, and a description (e.g., a substitute shift or event coverage)
* **Override the record** — adjust its hours, rate, or total, with a note explaining why

<Note>
  Every change to a payroll record is captured in an audit log, so you always have a trail of who adjusted what and when.
</Note>

## Best practices

* **Verify before you pay.** Use **Verify** as a review checkpoint, then bulk **Mark Paid** once payments go out — the status filter makes it easy to see what's left.
* **Assign staff to sessions.** Setting the Teacher/TA on each schedule entry keeps payroll accurate when someone other than the instructor covers a class.
* **Use course overrides sparingly.** Staff rates cover most cases; reserve course-level overrides for courses with genuinely different pay arrangements, and leave a note.
* **Always add a note when overriding a record.** Notes make the audit log useful when you review pay history later.
