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

# Compensation

> View an employee's salary structure, file an immutable salary revision, and understand the tax-regime context.

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="payroll:read" />

Compensation is per employee: what they are paid, how that resolves into components, and the history of every change.

Find it on the employee's record, under the **Compensation** tab.

## Current structure

The grid shows every active salary component evaluated against this employee's annual compensation — the same engine the payroll run uses.

<Note>
  **This is a full-month structure, not a payslip.** It shows what the components come to at full attendance, with no loss of pay, no overtime and no cycle overrides applied. The actual payslip for a month is the cycle's output, not this.
</Note>

## Revision history

Every change to compensation is an **immutable revision**: a dated row recording the new amount, who proposed it, and the effective date. Revisions are never edited or deleted — correcting a mistake means filing another revision.

The table shows them newest first, with the percentage change against the previous one.

## Filing a revision

<PermissionNote perm="payroll:write" />

<Steps>
  <Step title="Open the Compensation tab">
    On the employee's record.
  </Step>

  <Step title="Propose the change">
    Enter the new annual compensation, the effective date, and a note explaining why.
  </Step>

  <Step title="Save">
    A revision row is written **and** the employee's compensation is updated, in the same transaction. There is no state where the history and the current value disagree.
  </Step>
</Steps>

<Warning>
  **You cannot file a revision for yourself.** The scope check on this action does not permit self-service, regardless of the permissions you hold.
</Warning>

The action is written to the audit log under the Compensation category.

## Tax regime

Each employee carries a tax regime — `New` or `Old` — which decides which income-tax slab configuration `SlabTDS` uses.

<Warning>
  **Only the New regime is configured.** An employee marked `Old` produces a TDS deduction of zero. That is a safe no-op rather than a crash, but it is also not a correct number. Verify each employee's regime before your first live cycle.
</Warning>

## What is not modelled

The compensation surface shows several fields as explicit placeholders rather than fabricating values. These are honestly blank, not broken:

* **Grade** and **variance against band** — no compensation-band model exists.
* **The tax declaration card** — regime selection detail, Section 80C, HRA proof, leave travel allowance, and the proof-of-investment window are not modelled.
* **The breakup, variable-pay, approval-routing and communications panels** in the revision drawer are illustrative of the intended design. The revision itself — amount, date, note — is real and is what gets saved.

## How compensation reaches a payslip

```mermaid theme={null}
flowchart LR
  C[Annual compensation] --> M[Monthly basis]
  M --> E[Component engine]
  A[Attendance:<br/>paid days · LOP · OT] --> E
  S[Shift template<br/>OT multipliers] --> E
  E --> L[Payroll run line]
  L --> P[Payslip on disburse]
```

Changing compensation changes future calculations. It does not alter a cycle that has already calculated unless that cycle is recalculated, and it never alters a disbursed one.
