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

# Statutory registers

> Generate the five statutory registers for a month, check their status, and download them individually or as a bundle.

export const PermissionNote = ({perm}) => <Info>
    Requires the <code>{perm}</code> permission. Ask your administrator if an
    action described here is missing from your screen — see
    [Roles & permissions](/help/concepts/roles-and-permissions).
  </Info>;

<PermissionNote perm="compliance:write" />

Five registers, generated per month from payroll and attendance data.

## The five

| Register                   | Form         | Contents                                                         |
| -------------------------- | ------------ | ---------------------------------------------------------------- |
| **Muster roll**            | Form 14      | Per-employee daily attendance matrix for the month.              |
| **Wage register**          | Form 17      | Per-employee wages: paid days, gross, deductions, net.           |
| **Overtime register**      | Form 10      | Employees with overtime hours and overtime payout for the month. |
| **Leave register**         | Form 20      | Approved leave in the month, by employee and type.               |
| **Shops & Establishments** | S\&E summary | Headcount, working days, holidays and attendance summary.        |

Each is generated as a CSV and stored, so the artifact you download is the artifact that was produced at generation time — not something recomputed on the fly each time you click.

## Generating

<Steps>
  <Step title="Disburse the month's payroll cycle">
    The wage and overtime registers read payslip data. Generating before disbursement produces registers that will not reconcile with what you paid.
  </Step>

  <Step title="Generate all five">
    Compliance → **Generate registers**, for the month. All five are produced in one action.
  </Step>

  <Step title="Check the row counts">
    Each register records how many rows it produced. A muster roll with fewer rows than you have employees is worth investigating before you file it.
  </Step>
</Steps>

## Status

Each register carries a status for its period:

| Status            | Meaning                                                                         |
| ----------------- | ------------------------------------------------------------------------------- |
| **Up to date**    | Generated, and nothing has changed since.                                       |
| **Stale**         | Generated, but the underlying data has moved — regenerate before relying on it. |
| **Overdue**       | The period has passed and nothing has been generated.                           |
| **Not generated** | Never produced for this period.                                                 |

<Tip>
  **Stale** is the one that matters. It appears when payroll was recalculated or attendance was corrected after the register was produced. Regenerating is cheap; filing a stale register is not.
</Tip>

## Downloading

<CardGroup cols={2}>
  <Card title="Individually" icon="download">
    Each register exports as CSV from its own row.
  </Card>

  <Card title="As a bundle" icon="package">
    **Download all** produces a ZIP containing all five register CSVs plus a filings summary CSV for the period.
  </Card>
</CardGroup>

The bundle is the one to hand to an auditor or an inspector — it is the month's complete statutory picture in one file.

## Regenerating

Safe and idempotent. Generating again for the same month replaces the stored artifact and resets the status. Do it whenever payroll is recalculated for that month.

<Note>
  Register generation is recorded per organization, register and month. There is no version history — the latest generation is the one you have.
</Note>
