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

# Missing or wrong hours

> Why tracked hours look wrong in TimeTracker – rounding, timezones from a work schedule, entries on the wrong project, locked time and rate snapshots.

Hours look wrong somewhere. Work through these in order – the first three explain
most cases.

## Quick diagnosis

| What you see                                                 | Likely cause                                                       |
| ------------------------------------------------------------ | ------------------------------------------------------------------ |
| A total is slightly off, always in the same direction        | [Rounding](#1-rounding-changes-the-billable-total)                 |
| An hour landed on the wrong day                              | [Timezones](#2-a-day-boundary-is-in-a-different-timezone)          |
| Hours are missing from a project but the person tracked them | [Wrong project](#3-the-time-went-to-the-wrong-project)             |
| An entry will not let you edit it                            | [Locked time](#4-the-time-is-locked)                               |
| An old entry's value did not change when you changed a rate  | [Rate snapshots](#5-an-old-entry-keeps-its-old-rate)               |
| A person's hours are missing entirely                        | [Scope](#6-you-cannot-see-that-person)                             |
| The timesheet total and the report total disagree            | [Different questions](#7-two-totals-answering-different-questions) |

## 1. Rounding changes the billable total

Your workspace can round **billable** duration up to the next increment.

| Setting    | Effect                                    |
| ---------- | ----------------------------------------- |
| None       | Billable time is exactly what was tracked |
| 6 minutes  | Rounds to the next tenth of an hour       |
| 15 minutes | Rounds to the next quarter hour           |
| 30 minutes | Rounds to the next half hour              |

**The tracked duration is never changed.** Rounding produces a second, derived number
used for billing. So a 7-minute entry under 15-minute rounding is still 7 minutes of
tracked time and 15 minutes of billable time.

That is why a billable total can be larger than the tracked total, and why the gap
grows with the number of short entries.

**Check it:** Settings → [Time policies](/settings/time-policies).

<Tip>
  If a client questions an invoice total, rounding is usually the answer. Show them the
  tracked hours and the rounding rule side by side.
</Tip>

## 2. A day boundary is in a different timezone

An hour tracked late at night can land on the previous or next day for someone
reading it elsewhere.

**A person's timezone comes from their work schedule, not from the workspace.** This
catches people out constantly.

| Where a timezone comes from                | What it affects                                            |
| ------------------------------------------ | ---------------------------------------------------------- |
| The **work schedule** assigned to a person | Their day boundaries, their expected hours, their timecard |
| The **workspace** setting                  | Report date buckets and workspace-wide displays            |

So two people in the same workspace on different schedules genuinely have different
day boundaries, and that is correct.

**Check it:** open the person's schedule and confirm its timezone. See
[schedule timezones](/schedules/schedule-timezones) and
[dates, times and timezones](/concepts/dates-times-and-timezones).

## 3. The time went to the wrong project

The hours exist. They are attributed somewhere else.

<Steps>
  <Step title="Find the entry">
    Open the person's week in [Timesheets](/timesheets/overview), or filter time by
    that person for the date range.
  </Step>

  <Step title="Check the project and task on it">
    A timer started from the wrong task, or a manual entry saved against the last
    project used, is the usual cause.
  </Step>

  <Step title="Move it">
    Edit the entry and change the project or task. See
    [edit a time entry](/time-tracking/edit-a-time-entry).
  </Step>
</Steps>

<Warning>
  **Settled time refuses to move.** If any of the time on a task has been submitted,
  approved or invoiced, moving the task to another project is blocked. The refusal
  tells you how many entries are in the way. Reopen or reassign that time first –
  nothing tracked is ever lost.
</Warning>

Two more places time hides:

* **An archived project.** Its hours still count in reports, but the project is out of
  your active list. See [archive a project](/projects/archive-a-project).
* **Non-billable entries.** They are tracked and they count toward a timesheet, but
  they never appear on an invoice. See
  [billable vs non-billable](/concepts/billable-vs-non-billable).

## 4. The time is locked

Once time moves past draft it stops being editable, on purpose. That is what makes a
timesheet a record.

| State     | Can it be edited?                      |
| --------- | -------------------------------------- |
| Draft     | Yes, by its author                     |
| Submitted | No. Ask your approver to send it back. |
| Approved  | No. It has to be reopened.             |
| Locked    | No. The period was closed.             |
| Invoiced  | No. It is on an invoice.               |

### What to do

| Situation                            | Fix                                                                                  |
| ------------------------------------ | ------------------------------------------------------------------------------------ |
| Waiting on approval                  | Withdraw it, or ask the approver for changes                                         |
| Already approved, nothing closed yet | Ask someone with `time.reopenApproval` to [reopen it](/approvals/reopen-an-approval) |
| The period is closed or invoiced     | Post an [adjustment](/approvals/adjustments)                                         |

An adjustment adds or subtracts hours on locked time **without unlocking it**. The
original entries stay exactly as they were, which is what an audit needs.

<Note>
  Reopening is refused once any entry in the period has moved to locked or invoiced.
  That is not a bug – it protects a closed period and a sent invoice. Use an
  adjustment.
</Note>

Also check the **editing window**. Your workspace can stop entries being changed
after a set number of days. The message says "This entry is outside the editing
window and can no longer be changed."

## 5. An old entry keeps its old rate

Every time entry captures its billing rate and cost rate **at the moment it is
created**. Changing a rate later does not rewrite history.

**This is deliberate.** An invoice you already sent must not change value because
someone updated a rate three months later.

| What you changed              | What moves                                       |
| ----------------------------- | ------------------------------------------------ |
| A person's billing rate today | Only entries created from now on                 |
| A person's cost rate today    | Only entries created from now on                 |
| Nothing                       | Old entries keep the rate they were created with |

So a report covering a rate change will legitimately show two different rates for the
same person. See [rate snapshots](/rates/rate-snapshots).

If an entry picked up the *wrong* rate at creation, fix the rate and recreate the
entry. There is no retroactive re-pricing.

### Which rate an entry picks

Most specific wins, in this order:

1. Task rate
2. Project-member rate
3. The person's default rate
4. The client's default rate
5. The workspace default rate

See [how rates are chosen](/rates/how-rates-are-chosen).

## 6. You cannot see that person

If someone's hours are missing entirely rather than wrong, this is usually
[supervision scope](/concepts/supervision-scope), not a data problem.

You may hold `time.viewOthers` and still only see the people your scope reaches. Ask
a colleague with workspace scope to check the same view. If they see the hours, the
data is fine and your reach is the issue.

## 7. Two totals answering different questions

A timesheet total and a report total can differ for perfectly good reasons.

| Difference                             | Why                                                       |
| -------------------------------------- | --------------------------------------------------------- |
| The report is smaller                  | Rows outside your scope are filtered out                  |
| The report is larger                   | Its date range is wider, or it includes archived projects |
| Billable does not match tracked        | Rounding, or some entries are non-billable                |
| The invoice is less than approved time | Only approved or locked **billable** time can be invoiced |

## Still not right?

<Steps>
  <Step title="Pin down one entry">
    Find a single entry whose value you can prove is wrong. One concrete case beats a
    total that is "about an hour out".
  </Step>

  <Step title="Note the four facts">
    Who tracked it, the date, the project and the duration you expected.
  </Step>

  <Step title="Check it in two places">
    The person's timesheet and a report over the same range. If they agree, the entry
    is what it is. If they disagree, note both numbers.
  </Step>

  <Step title="Send it in">
    See [contact support](/troubleshooting/contact-support).
  </Step>
</Steps>

## Common questions

<AccordionGroup>
  <Accordion title="Does rounding change what I pay people?">
    No. Rounding only affects the billable figure. Tracked duration – what payroll and
    capacity read – stays exact.
  </Accordion>

  <Accordion title="An entry shows on Monday for me and Sunday for my colleague.">
    You are reading it through different day boundaries. A person's timezone comes
    from their work schedule. See [schedule timezones](/schedules/schedule-timezones).
  </Accordion>

  <Accordion title="I deleted a time entry by mistake.">
    Deleted entries go to Trash and are restorable for the retention period. See
    [trash and restore](/data/trash-and-restore).
  </Accordion>

  <Accordion title="My timer was running all night.">
    Set an idle threshold so a forgotten timer prompts you. See
    [time policies](/settings/time-policies).
  </Accordion>

  <Accordion title="Why can I not add time to last month?">
    Either the period is closed, or the editing window has passed. The refusal message
    tells you which.
  </Accordion>

  <Accordion title="Hours are missing from a project I archived.">
    They are not. Archived projects stay in every report. Only the active list hides
    them.
  </Accordion>
</AccordionGroup>

## Related guides

<CardGroup cols={2}>
  <Card title="Time policies" icon="shield" href="/settings/time-policies">
    Rounding, editing windows and daily caps.
  </Card>

  <Card title="Rate snapshots" icon="camera" href="/rates/rate-snapshots">
    Why an old entry keeps its old rate.
  </Card>

  <Card title="Schedule timezones" icon="globe" href="/schedules/schedule-timezones">
    Where a person's day boundary comes from.
  </Card>

  <Card title="Adjustments" icon="pen-to-square" href="/approvals/adjustments">
    Correcting time that is already locked.
  </Card>

  <Card title="Edit a time entry" icon="pen" href="/time-tracking/edit-a-time-entry">
    Fixing an entry while it is still a draft.
  </Card>

  <Card title="Timesheet problems" icon="wrench" href="/troubleshooting/timesheet-problems">
    When the week itself is the problem.
  </Card>
</CardGroup>
