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

> Generate PF, ESI, Professional Tax and TDS filings from a disbursed payroll cycle, override an amount, and record what you filed.

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" />

## The four filings

| Filing                         | Period             | Derived from                                       |
| ------------------------------ | ------------------ | -------------------------------------------------- |
| **Provident Fund**             | Monthly            | The `PF` deduction across the month's payslips.    |
| **Employees' State Insurance** | Monthly            | The `ESI` deduction.                               |
| **Professional Tax**           | Monthly, per state | The `PT` deduction, split by the employee's state. |
| **TDS — Form 24Q**             | Quarterly          | The `TDS` deducted across the quarter's months.    |

Professional Tax is state-scoped: a filing row exists per state you employ people in, because that is how it is actually filed.

## Generating

<Steps>
  <Step title="Disburse the payroll cycle first">
    Filings derive from what was paid. Generating for a month whose cycle is not disbursed gives you a number that does not match the payslips.
  </Step>

  <Step title="Generate for the month">
    Compliance → **Generate filings**, for the period. OnTime derives each filing's amount and due date and creates or updates the rows.

    <Note>
      Generating is an upsert. Re-running it for the same month refreshes the derived amounts rather than creating duplicates — so it is safe to regenerate after a payroll recalculation.
    </Note>
  </Step>

  <Step title="Review the amounts">
    Each filing card shows the derived amount, the period, the due date and the current status.
  </Step>
</Steps>

## Overriding an amount

Sometimes the derived figure and the figure you must actually file differ — a prior-period adjustment, an arrear, a correction the payroll engine has no way to know about.

<Steps>
  <Step title="Set a manual amount">
    Enter the amount and a note explaining the difference.
  </Step>

  <Step title="Or reset it">
    Clearing the manual amount returns the filing to its derived value.
  </Step>
</Steps>

<Warning>
  Overriding is refused once a filing is marked **Filed**. Correct it before you file, or handle the difference in the next period.
</Warning>

Overrides are audited under the Compliance category, with the note.

<Note>
  **Amounts remain derived by default.** The override is an escape hatch, not an alternative data-entry mode. A filing you have not overridden always reflects the current payroll data.
</Note>

## Marking as filed

Once you have filed through the relevant portal, record it here:

* The status moves from `Pending` to `Filed`.
* You can record the **acknowledgement reference** the portal gave you.

<Warning>
  **This does not file anything.** OnTime has no integration with EPFO, ESIC, state Professional Tax portals or TRACES. Marking as filed records that *you* filed it, so the compliance home and the dashboard stop flagging it as due.
</Warning>

## Due dates and alerts

The monthly filings are due on the **fifteenth of the following month**. The compliance home shows the countdown, and the admin dashboard's alert feed surfaces approaching payroll and compliance deadlines.

Alerts are computed fresh each time you look. There is no dismiss or snooze — an alert stops appearing when the condition that raised it clears.
