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

# Leave policies

> Create the types of leave your team can request: units, who they apply to, approval, fractional days, accrual, negative balances and opening balances.

A leave policy is a **type of leave** – annual leave, sick leave, unpaid leave,
study leave. Every request is made against exactly one policy.

Manage policies in **Settings → Time off → Policies**.

## What a policy controls

| Setting                      | What it decides                                          |
| ---------------------------- | -------------------------------------------------------- |
| **Name** and colour          | What people pick from, and how it looks on the timeline. |
| **Unit**                     | Whether the policy counts in days or hours.              |
| **Applies to**               | Everyone, or a named list of people.                     |
| **Requires approval**        | Whether a request waits for a decision.                  |
| **Allow fractional days**    | Whether half and quarter days can be booked.             |
| **Accrual**                  | Whether balance is earned over time, and how fast.       |
| **Negative balance**         | Whether people can go below zero, and how far.           |
| **Opening balance**          | A one-time starting grant when someone joins the policy. |
| **Auto-create time entries** | Whether approved leave should post matching entries.     |

## The policies table

| Column        | What it shows                                                      |
| ------------- | ------------------------------------------------------------------ |
| **Policy**    | Colour swatch, name, and a lifecycle badge if archived or trashed. |
| **Unit**      | `Days` or `Hours`.                                                 |
| **Assignees** | `Everyone` or `N members`.                                         |
| **Approval**  | `Required` or `None`.                                              |
| **Accrual**   | `1/mo`, `20/yr`, or `Off`.                                         |

Each row has a pencil to edit it, and a lifecycle menu to archive, restore or
delete. A scope filter above the table switches between active, archived and
trashed policies. **New policy** opens the same dialog in create mode.

When the list is empty you see *"No leave policies yet – create one to start
tracking time off."*

## How to create a policy

<Steps>
  <Step title="Open Settings → Time off → Policies">
    You need the `leave.managePolicy` capability – Owner and Admin.
  </Step>

  <Step title="Click New policy">
    The **New leave policy** dialog opens.
  </Step>

  <Step title="Name it and pick a colour">
    The colour button opens a swatch grid from the shared palette. Give the policy
    a name such as `Annual leave`.
  </Step>

  <Step title="Choose the unit">
    **Days** or **Hours**. You cannot change this sensibly once people have
    balances, so decide now.
  </Step>

  <Step title="Decide who it applies to">
    Leave **Applies to everyone** on for a company-wide policy. Switch it off to
    pick specific people.
  </Step>

  <Step title="Set approval and fractions">
    **Requires approval** is on by default. **Allow fractional days** is off by
    default and is unavailable on an hours policy.
  </Step>

  <Step title="Configure accrual, if you want it">
    Switch **Enable accrual** on and set the amount and frequency. See
    [/time-off/leave-accrual](/time-off/leave-accrual).
  </Step>

  <Step title="Configure negative balance and opening balance">
    Both are optional and both are off by default.
  </Step>

  <Step title="Create">
    Click **Create policy**.
  </Step>
</Steps>

## The settings in detail

### Unit

| Unit      | What a day of leave costs                                 |
| --------- | --------------------------------------------------------- |
| **Days**  | One whole day per counted working day.                    |
| **Hours** | That day's **expected hours** from the person's schedule. |

An hours policy is the honest choice when people work uneven days. Ana Ferreira
works 8h Monday and 4h Friday – on an hours policy, a Friday off costs her 4
hours, not a whole "day".

### Applies to everyone

On, and every current and future member can request against it. Off, and a member
picker appears – only the people you name can use it.

<Note>
  A member-scoped policy is enforced on the server. Someone not on the list cannot
  request against it even if they find the id.
</Note>

### Requires approval

On (the default) – a request lands **Pending** and waits for a holder of
`leave.approve`.

Off – the request is **Approved** the moment it is submitted, the balance is
consumed straight away, and no approver is notified.

<Tip>
  Switch approval off for policies where the decision adds nothing, such as unpaid
  leave you already agreed in a contract. Leave it on for anything that draws down a
  real balance.
</Tip>

### Allow fractional days

On, and a requester can set the first and last day of a range to **Half day** or
**Quarter day**. Off, and only whole days are accepted – a fractional request is
rejected.

The switch is disabled on an hours policy, where it says *"Not applicable to
hours-based policies."*

### Negative balance

Off by default. The floor is zero – nobody can book more than they have.

Switch **Allow negative balance** on and you get:

| Field                 | What it does                                                                               |
| --------------------- | ------------------------------------------------------------------------------------------ |
| **Minimum balance**   | The signed floor, such as `-5`. A request is blocked if it would take the balance past it. |
| **Reset at year end** | When on, a negative balance is cleared back to zero at the year boundary.                  |

Landing exactly on the floor is allowed. One unit past it is blocked.

### Opening balance

A one-time starting grant. Switch it on and set a **Starting grant** greater than
zero.

The grant is given **once ever** per person and policy. Editing the amount later
only affects people who have not been granted yet – it never re-grants or tops up
someone who already received it. To change an existing person's balance, use an
adjustment instead. See [/time-off/leave-balances](/time-off/leave-balances).

### Auto-create time entries

The dialog describes this as *"Approved leave posts matching time entries
automatically."*

<Warning>
  Approved leave does not currently appear as tracked time on a timesheet. Leave
  shows on the Time Off timeline, on the Planner, and in the balance ledger. Plan
  your reporting around those, not around time entries.
</Warning>

## Example

Maya Ellis sets up Northwind Studio's leave.

| Policy         | Unit | Applies to               | Approval | Fractions | Accrual                      | Negative                           | Opening |
| -------------- | ---- | ------------------------ | -------- | --------- | ---------------------------- | ---------------------------------- | ------- |
| `Annual leave` | Days | Everyone                 | Required | Allowed   | 2 / month, prorate new hires | Off                                | 5 days  |
| `Sick leave`   | Days | Everyone                 | Required | Off       | Off                          | Allowed to `-5`, reset at year end | Off     |
| `Unpaid leave` | Days | Everyone                 | None     | Allowed   | Off                          | Off                                | Off     |
| `Study days`   | Days | Sarah Lin, Jonas Bergman | Required | Off       | 5 / year                     | Off                                | Off     |

Reading the table:

* Everyone earns **2 days a month** of annual leave, plus **5 days** when they
  first join the policy.
* Sick leave is not accrued at all. It goes negative up to 5 days, and the
  negative is cleared at year end.
* Unpaid leave needs no decision – it is approved on submission.
* Study days are for two named people and earn 5 days a year.

## Retiring a policy

Use the lifecycle menu on the row.

| Action      | Effect                                                                |
| ----------- | --------------------------------------------------------------------- |
| **Archive** | The policy stops being offered for new requests but stays reportable. |
| **Restore** | Brings it back.                                                       |
| **Delete**  | Moves it to Trash, restorable until it is purged.                     |

An archived policy cannot be requested against – the requester sees *"That
time-off policy is archived. Pick an active one."* Existing balances and past
requests are kept.

See [/concepts/archive-trash-and-delete](/concepts/archive-trash-and-delete).

## Permissions

Creating, editing, archiving and deleting a policy all need `leave.managePolicy`
– **Owner and Admin only**. Project Manager approves requests but does not write
the rules; that split is deliberate, because policies are HR configuration.

The Time Off app must be on. Policies themselves are available on **Free**.

## Common questions

<AccordionGroup>
  <Accordion title="Can I change a policy's unit later?">
    The field is editable, but do not. Existing balances are stored in the old
    unit and will not be converted. Create a new policy instead.
  </Accordion>

  <Accordion title="What happens to requests when I archive a policy?">
    They stay exactly as they are. Balances stay readable. Only new requests are
    blocked.
  </Accordion>

  <Accordion title="Can two policies have the same colour?">
    Yes, but the Timeline legend uses colour to tell policies apart, so give each
    one its own.
  </Accordion>

  <Accordion title="How do I stop one person using a policy?">
    Switch **Applies to everyone** off and name the people who should have it.
    Removing someone stops new requests; their existing balance is untouched.
  </Accordion>

  <Accordion title="Does adding someone to a policy give them the opening balance?">
    Yes, once. The grant is seeded the first time the system sees them on the
    policy, and never again.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message                                                                | What to do                                                       |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------- |
| "Give this time-off policy a name."                                    | Fill in **Name**.                                                |
| "…won't work as an accrual. Enter a number that isn't negative."       | Use a plain number such as `1.5`.                                |
| "…won't work as a negative-balance limit. Enter a number."             | Use a signed number such as `-5`.                                |
| "…won't work as an opening balance. Enter a number greater than zero." | An opening balance of `0` is not allowed. Switch it off instead. |
| The settings page shows a no-access panel                              | You do not hold `leave.managePolicy`.                            |
| No **Time off** section in Settings                                    | The Time Off app is off, or you lack `leave.managePolicy`.       |

## Related guides

<CardGroup cols={2}>
  <Card title="Leave accrual" href="/time-off/leave-accrual">
    Earning balance over time.
  </Card>

  <Card title="Leave balances" href="/time-off/leave-balances">
    Carry-over, negatives and adjustments.
  </Card>

  <Card title="Request time off" href="/time-off/request-time-off">
    What your team sees.
  </Card>

  <Card title="Company holidays" href="/time-off/holidays">
    Days that never consume balance.
  </Card>

  <Card title="Time off permissions" href="/time-off/time-off-permissions">
    Who can write the rules.
  </Card>
</CardGroup>
