> ## 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.

# Compliance overview

> What OnTime covers for Indian statutory compliance — PF, ESI, Professional Tax, TDS, Form 16 and the five registers — and the monthly rhythm.

Compliance sits downstream of payroll. Every filing and every register is derived from a disbursed payroll cycle, which is itself derived from attendance. Nothing here is entered by hand unless you deliberately override it.

**Compliance** in the admin console.

## What is covered

<CardGroup cols={2}>
  <Card title="Monthly filings" icon="file-text" href="/help/compliance/filings">
    Provident Fund, Employees' State Insurance, Professional Tax and quarterly TDS (Form 24Q).
  </Card>

  <Card title="Form 16" icon="award" href="/help/compliance/form-16">
    Annual tax certificates, generated per employee and distributed to their document vault.
  </Card>

  <Card title="Statutory registers" icon="table" href="/help/compliance/statutory-registers">
    The five registers, generated per month with a status you can act on.
  </Card>

  <Card title="Compliance bundle" icon="package">
    All five registers plus a filings summary, zipped for a period.
  </Card>
</CardGroup>

## The monthly rhythm

```mermaid theme={null}
flowchart LR
  P[Payroll cycle<br/>disbursed] --> G[Generate filings]
  G --> R[Review amounts]
  R --> F[Mark as Filed<br/>+ acknowledgement ref]
  P --> RG[Generate registers]
  RG --> B[Download bundle]
```

<Steps>
  <Step title="Disburse the payroll cycle">
    Filings are derived from what was actually paid. Generating before disbursement gives you numbers from an unfinished month.
  </Step>

  <Step title="Generate the month's filings">
    OnTime derives Provident Fund, Employees' State Insurance and Professional Tax for the month, and the TDS filing for the quarter, from the disbursed payslips.
  </Step>

  <Step title="Review and, if necessary, override">
    Amounts are derived by default. An override is available for the cases where reality and the derivation disagree, and it is audited.
  </Step>

  <Step title="File externally, then mark as Filed">
    OnTime does not submit to any government portal. You file through the relevant portal and record the acknowledgement reference here.
  </Step>

  <Step title="Generate the registers">
    The five statutory registers for the month, stored with a row count and a timestamp.
  </Step>
</Steps>

## Due dates

Filings carry a due date derived from the period — the fifteenth of the following month for the monthly filings. The compliance home page and the admin dashboard both surface approaching and overdue deadlines.

## Permissions

| Permission         | Grants                                                                                     |
| ------------------ | ------------------------------------------------------------------------------------------ |
| `compliance:read`  | View the compliance home, filing status, registers and Form 16 batches.                    |
| `compliance:write` | Generate filings and registers, override amounts, mark as filed, run the Form 16 pipeline. |

Both sit with the **HR** and **Admin** presets.

## What OnTime does not do

<Warning>
  **There is no e-filing integration.** OnTime derives the numbers, produces the documents and records what you filed. It does not submit anything to EPFO, ESIC, a state Professional Tax portal, or TRACES. "Mark as filed" records an acknowledgement reference you type in.

  **The statutory reference data is a seeded snapshot.** Professional Tax bands cover a subset of states, income tax slabs cover one financial year and the New regime only. There is no screen for maintaining them.

  **Two steps of the Form 16 pipeline require a vendor.** Fetching Part A from TRACES and applying a digital signature both go through adapters that need third-party credentials. See [Form 16](/help/compliance/form-16).
</Warning>
