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

# Time policies

> Set the workspace rules for time entries in TimeTracker – required fields, editing windows, daily limits, the idle threshold, rounding and period locking.

Time policies are the rules every time entry in your workspace has to follow.
They live in **Settings → Time policies** and an owner or admin sets them once.

## What is on the page

Three cards:

| Card                     | What it controls                                                                      |
| ------------------------ | ------------------------------------------------------------------------------------- |
| **Entry rules**          | What an entry must contain, when it may be changed, and how billable time is rounded. |
| **Timesheet submission** | How long one timesheet period is.                                                     |
| **Period locking**       | Freezing approved time up to a date.                                                  |

## Entry rules

The card is titled **Entry rules**: "What every time entry must contain, and how
billable time is rounded."

### The three switches

| Switch                    | What it does when on                                                |
| ------------------------- | ------------------------------------------------------------------- |
| **Require a task**        | Every time entry must be attached to a task before it can be saved. |
| **Require a description** | Every time entry must include a non-empty description.              |
| **Block future entries**  | Time entries that start in the future are rejected.                 |

All three are **off** in a new workspace. A workspace enforces nothing until you
opt in.

These rules are checked in two places. The timer greys out **Start** and **Stop**
with a tooltip naming the missing field, and the server refuses the write with
the same sentence.

| Rule broken           | Message                                                     |
| --------------------- | ----------------------------------------------------------- |
| Require a task        | "A task is required before this entry can be saved."        |
| Require a description | "A description is required before this entry can be saved." |
| Block future entries  | "Time entries cannot start in the future."                  |

### Editing window (days)

How far back someone may still change an entry. Leave it blank for no limit – the
placeholder reads **No limit**.

With a window of `7`, an entry that started more than seven days ago can no
longer be edited or have its duration retyped. The refusal reads "This entry is
outside the editing window and can no longer be changed."

An entry exactly on the boundary is still editable.

<Tip>
  Set the window a little longer than your submission cycle. A weekly workspace
  often uses 7 to 14 days, so people can still fix Friday on Monday.
</Tip>

### Daily limit (minutes)

A cap on tracked minutes per person per day. Leave it blank for no cap – the
placeholder reads **No cap**.

The check adds the new entry to everything already tracked on that day, in the
workspace timezone. If the total goes past the cap the entry is refused with
"This entry would exceed the daily time limit for this workspace."

<Note>
  Deleted entries give the capacity back. If someone hits the cap because of a
  mistaken entry, delete it and they can carry on logging that day.
</Note>

A limit of `600` means ten hours a day.

### Idle threshold (minutes)

How long a running timer can sit with no activity before TimeTracker asks about
it. The default is **10** minutes. The minimum is 1.

When you come back to the tab after a longer gap, you get the idle dialog and
choose **Keep time** or **Discard idle time**. See
[Using the timer](/time-tracking/using-the-timer).

### Rounding increment

How billable time is rounded. The choices are exactly four:

| Option              | Meaning                                        |
| ------------------- | ---------------------------------------------- |
| **None (raw time)** | No rounding. The exact duration is what bills. |
| **6 minutes**       | Rounds to the nearest tenth of an hour.        |
| **15 minutes**      | Rounds to the nearest quarter hour.            |
| **30 minutes**      | Rounds to the nearest half hour.               |

<Warning>
  Raw tracked time is **always** stored exactly. Rounding only produces a second,
  billable figure alongside it. Your timesheet totals and reports still know the
  true hours.
</Warning>

Click **Save time policies** to apply everything on the card. You get "Time
policies saved."

## How rounding works

The rule is **nearest increment, ties round up**.

1. Take the exact duration in minutes.
2. Divide by the increment.
3. Round to the nearest whole number, with exact halves going **up**.
4. Multiply back by the increment.

### Worked example

Sarah Lin tracks **1 hour 7 minutes** – that is 67 minutes.

| Rounding   | Working                      | Billable duration |
| ---------- | ---------------------------- | ----------------- |
| None       | –                            | 1h 07m            |
| 6 minutes  | 67 ÷ 6 = 11.17 → 11 → 11 × 6 | 1h 06m            |
| 15 minutes | 67 ÷ 15 = 4.47 → 4 → 4 × 15  | 1h 00m            |
| 30 minutes | 67 ÷ 30 = 2.23 → 2 → 2 × 30  | 1h 00m            |

At her \$100/hour billable rate, those same 67 minutes are worth:

| Rounding   | Billable value |
| ---------- | -------------- |
| None       | \$111.67       |
| 6 minutes  | \$110.00       |
| 15 minutes | \$100.00       |
| 30 minutes | \$100.00       |

### Ties round up

An exact half always rounds up, never down.

* With 15-minute rounding, **1h 07m 30s** rounds to **1h 15m**.
* With 30-minute rounding, **1h 15m** rounds to **1h 30m**.

### One more minute can matter

With 15-minute rounding:

| Tracked | Billed |
| ------- | ------ |
| 1h 07m  | 1h 00m |
| 1h 08m  | 1h 15m |

One extra minute moves a quarter of an hour. Pick your increment with that in
mind.

## Timesheet submission

The second card is **Timesheet submission**: "The length a single timesheet
bundles. Submitting any week submits the whole period that contains it."

| Option                         | Period                               |
| ------------------------------ | ------------------------------------ |
| **Weekly**                     | One seven-day week, starting Sunday. |
| **Biweekly (every two weeks)** | A fixed 14-day block.                |
| **Monthly (calendar month)**   | The calendar month.                  |

Changing this changes what the **Time** page shows and what a single **Submit
timesheet** covers. See
[How timesheets work](/timesheets/how-timesheets-work).

## Period locking

The third card is **Period locking**: "Locks all approved time on or before a
date. Locked entries can't be edited, deleted or added to – corrections go
through adjustment entries."

<Steps>
  <Step title="Pick a close-through date">
    Use the **Close through date** picker.
  </Step>

  <Step title="Click Close period…">
    A confirmation opens.
  </Step>

  <Step title="Type the confirmation string">
    It asks you to type the workspace and date, in the form `northwind / through
            2026-07-31`. There is a copy button for it.
  </Step>

  <Step title="Confirm">
    Click **Close period**. You get a toast naming how many entries were locked.
  </Step>
</Steps>

<Warning>
  This is not reversible from this screen. Every approved entry dated on or before
  that date is locked, and no new entry can be added into that range. Only run it
  after the period is genuinely closed.
</Warning>

Period locking needs `period.close`, which is **Owner and Admin only**. Everyone
else sees "Only an owner or admin can lock periods in this workspace."

Full detail: [Close a period](/approvals/close-a-period).

## Example

Maya Ellis is setting Northwind Studio up for client billing.

1. She turns on **Require a task**, so no hour ever reaches an invoice without
   something to bill it against.
2. She leaves **Require a description** off – the team writes them anyway, and
   she does not want the timer blocked mid-sprint.
3. She sets **Editing window** to `14` days, so the previous timesheet can still
   be fixed but last quarter cannot.
4. She sets **Daily limit** to `720` minutes – twelve hours – as a sanity check
   against a runaway timer.
5. She sets **Rounding increment** to **15 minutes**, matching what Northwind
   quotes clients.

The next month, Daniel Okafor closes the period through 31 July before raising
invoices.

## Permissions

| You need                   | To                                                  |
| -------------------------- | --------------------------------------------------- |
| `workspace.updateSettings` | Change **Entry rules** and **Timesheet submission** |
| `period.close`             | Use **Period locking**                              |

Both are **Owner and Admin only**. Anyone else sees "You don't have access to
change time policies in this workspace. Ask an owner or admin for access."

## What happens next

* New rules apply to the **next** write. Entries already saved are untouched.
* Turning on **Require a task** does not retroactively invalidate old entries.
* Changing the rounding increment changes what **new** entries bill. Entries
  already saved keep the rounded duration they were given.
* Changing the timesheet period changes what the **Time** page groups, from now
  on.

## Common questions

<AccordionGroup>
  <Accordion title="Does rounding change my timesheet total?">
    Your timesheet shows tracked time. Rounding produces the billable duration
    used for invoicing. The exact hours are never lost.
  </Accordion>

  <Accordion title="Can I round up always, or down always?">
    No. The direction is fixed to nearest, with ties going up. There is one
    rounding rule for the whole workspace so no two screens can disagree.
  </Accordion>

  <Accordion title="Does the daily limit include non-billable time?">
    Yes. It caps tracked minutes for the day, billable or not.
  </Accordion>

  <Accordion title="Can I set a different policy per project or per person?">
    No. Time policies are workspace-wide. Per-person differences are handled by
    roles, rates and schedules instead.
  </Accordion>

  <Accordion title="What is the idle threshold minimum?">
    One minute. The field will not accept zero or a fraction.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Problem                             | Cause                                                                             |
| ----------------------------------- | --------------------------------------------------------------------------------- |
| **Save time policies** does nothing | Check the numeric fields. A negative or fractional value is refused.              |
| People suddenly cannot log time     | Check **Daily limit** and **Editing window**. A tight value blocks ordinary work. |
| Invoices bill less than tracked     | Rounding is trimming. Check the increment.                                        |
| The whole card is read-only         | You do not hold `workspace.updateSettings`.                                       |

## Related guides

<CardGroup cols={2}>
  <Card title="Settings: time policies" icon="gear" href="/settings/time-policies">
    The settings page itself.
  </Card>

  <Card title="Close a period" icon="lock" href="/approvals/close-a-period">
    Locking approved time.
  </Card>

  <Card title="Billable hours" icon="dollar-sign" href="/time-tracking/billable-hours">
    What rounding does to what you bill.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/time-tracking/troubleshooting">
    When a policy blocks a save.
  </Card>
</CardGroup>
