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

# Adjustments

> Correct approved, locked or invoiced time with a linked adjustment that leaves the original entry untouched, and know when to edit or reopen instead.

An adjustment is how you correct time that can no longer be edited. It adds a new, linked entry carrying a signed correction. The original entry is never changed.

## What an adjustment is

Once time is approved, locked, or invoiced, it is a financial record. Someone has signed off on it, and it may already be on an invoice a client has seen.

Editing it in place would rewrite history. So TimeTracker does not let you. Instead you post an **adjustment**.

|                    | An edit                                         | An adjustment                                     |
| ------------------ | ----------------------------------------------- | ------------------------------------------------- |
| What it does       | Changes the entry itself                        | Adds a new entry linked to the original           |
| The original after | Different                                       | Exactly as it was                                 |
| Works on           | Draft entries, and submitted ones during review | Approved, locked, and invoiced entries            |
| Audit trail        | The old value is gone                           | Both values are visible – original and correction |
| Capability         | `time.edit` or `time.editOthers`                | `time.adjust`                                     |

<Note>
  An adjustment is a **signed** correction. It can be positive to add time, or negative to take time away. The corrected total is the original plus every adjustment posted against it.
</Note>

## When an adjustment is the right route

Work down this list. The first row that matches is your answer.

| State of the entry                     | Correction route                          |
| -------------------------------------- | ----------------------------------------- |
| Draft                                  | Edit it directly                          |
| Submitted, and you are the reviewer    | Correct it in place during review         |
| Submitted, and you are the person      | Withdraw the period, or ask for changes   |
| Approved, nothing locked in the period | Reopen the approval, then edit            |
| Approved and locked by a period close  | **Adjustment**                            |
| Invoiced                               | **Adjustment**, or void the invoice first |

Trying to adjust a draft or submitted entry is refused: "Only approved, locked or invoiced time is corrected with an adjustment. A draft or submitted entry can be edited directly."

Trying to reopen a locked period is refused too: "That period is closed."

## How to correct settled time

<Steps>
  <Step title="Check whether reopening is still possible">
    Open the period in **Approvals → Timesheets → History**. If a **Reopen** button appears, nothing is locked yet – reopening is the simpler route.
  </Step>

  <Step title="If reopening is blocked, use an adjustment">
    "That period is closed" means an entry is locked or invoiced. Reopening will not work.
  </Step>

  <Step title="Work out the signed correction">
    Positive to add time. Negative to remove it. Enter it in hours – `0.5` adds 30 minutes, `-0.75` removes 45 minutes.
  </Step>

  <Step title="Write a reason">
    Say why. The reason is what makes the correction readable in six months.
  </Step>

  <Step title="Post it">
    The adjustment is recorded as its own entry, linked to the original.
  </Step>
</Steps>

## What an adjustment carries

| Field               | What it is                                                                 |
| ------------------- | -------------------------------------------------------------------------- |
| Adjustment in hours | The signed correction. `0.5` = plus 30 minutes, `-0.75` = minus 45 minutes |
| Reason              | Optional free text explaining the correction                               |

Three rules govern how the number is treated.

1. **Zero is refused.** A correction of nothing is not a correction. "Enter a non-zero number of hours to adjust by."
2. **No rounding is applied.** Your workspace may round billable time, but an adjustment is not rounded. Rounding it would silently change the correction you intended.
3. **It gets its own rate snapshot.** The rate is resolved at the **original entry's** date, not today's, so the money reflects what was true when the work happened.

## The maths

Corrected time = the original duration + every signed adjustment posted against it.

An over-correction is not clamped. If you post `-5` hours against a 3-hour entry, the net is negative 2 hours. TimeTracker does not silently round that up to zero – it records exactly what you told it, so the mistake is visible rather than hidden.

## Example

Northwind Studio has closed June. Every approved entry in that month is locked.

In July, Bluebird Coffee queries the invoice for the Website Redesign. Two of Sarah Lin's hours on 18 June were logged against the redesign but were actually spent on the separate Monthly Retainer.

Priya Raman tries to reopen Sarah's week. She gets "That period is closed."

Daniel Okafor, who holds `time.adjust` as Finance, posts an adjustment of `-2` hours against the original entry, with the reason "2h on 18 June belong to the Monthly Retainer, not Website Redesign – see client query #4412."

The original 8-hour entry is untouched. The linked adjustment reads `-2` hours. The net corrected time is **6 hours**.

At Sarah's $100/hour billable rate, that removes **$200\*\* from the Website Redesign's billable value and the budget consumption. The rate used is the one in force on 18 June, not July's.

Both records stay visible – the original, and the correction next to it. Anyone auditing the invoice can see exactly what happened and why.

## Permissions

| Action                  | Capability            | Default roles                                     |
| ----------------------- | --------------------- | ------------------------------------------------- |
| Post an adjustment      | `time.adjust`         | Owner, Admin, Project Manager, Finance            |
| Edit a draft entry      | `time.edit`           | Owner, Admin, Project Manager, Member, Contractor |
| Edit a teammate's entry | `time.editOthers`     | Owner, Admin, Project Manager                     |
| Reopen an approval      | `time.reopenApproval` | Owner, Admin                                      |
| Close a period          | `period.close`        | Owner, Admin                                      |

`time.adjust` is the one time-approval capability **Finance** holds. Finance does not approve timesheets and does not track time, but it does correct settled records after the fact – that is exactly what post-close correction is for.

Members and Contractors never hold it.

## Plan and app gating

**Adjustments are never plan-gated, and never app-gated.**

That is deliberate. An adjustment only ever touches time that is already approved, locked, or invoiced. Gating it would strand exactly that data – a workspace that switched the Timesheets app off, or let its plan lapse, could no longer correct its own historical or invoiced records, with no way back.

Creating new approval work is gated. Correcting frozen records is not.

## What happens next

* The adjustment exists as its own linked entry. The original is untouched.
* The corrected total is the original plus every adjustment against it.
* Reports and budget figures reflect the net.
* On an invoiced entry, the adjustment records the correction; whether it changes a bill already sent is a decision you make in invoicing.

## Common questions

<AccordionGroup>
  <Accordion title="Why can I not edit the locked entry directly?">
    Because someone has already approved it, and it may already be on an invoice. Editing it would rewrite a record other people have relied on.
  </Accordion>

  <Accordion title="Can I adjust a draft entry?">
    No. A draft is edited directly. Adjusting one is refused.
  </Accordion>

  <Accordion title="Does an adjustment change the original entry?">
    Never. That is the whole point. The original stays exactly as it was recorded.
  </Accordion>

  <Accordion title="Is an adjustment rounded like normal billable time?">
    No. Rounding a correction would change the number you meant to post.
  </Accordion>

  <Accordion title="Which rate does the adjustment use?">
    The rate in force on the original entry's date, not today's. The money reflects when the work happened.
  </Accordion>

  <Accordion title="Can I post several adjustments against one entry?">
    Yes. The corrected total sums all of them with the original.
  </Accordion>

  <Accordion title="Can I delete an adjustment?">
    An adjustment is itself a record. Post a further adjustment in the opposite direction rather than trying to erase one.
  </Accordion>
</AccordionGroup>

## Troubleshooting

* **"Only approved, locked or invoiced time is corrected with an adjustment."** The entry is still draft or submitted. Edit it directly instead.
* **"You can't post an adjustment."** You do not hold `time.adjust`. Owners, Admins, Project Managers and Finance hold it by default.
* **"Enter a non-zero number of hours to adjust by."** A zero adjustment is refused.
* **"That period is closed."** You tried to reopen instead of adjust. An adjustment is the route.
* **The corrected total looks negative.** An over-correction is recorded exactly as entered, not clamped. Post a positive adjustment to bring it back.

## Related guides

<CardGroup cols={2}>
  <Card title="Close a period" icon="lock" href="/approvals/close-a-period">
    What locks time and forces the adjustment route.
  </Card>

  <Card title="Reopen an approval" icon="rotate-ccw" href="/approvals/reopen-an-approval">
    The simpler route, while nothing is locked.
  </Card>

  <Card title="Timesheet statuses" icon="git-branch" href="/timesheets/timesheet-statuses">
    Which statuses can be adjusted.
  </Card>

  <Card title="Rate snapshots" icon="camera" href="/rates/rate-snapshots">
    Why an adjustment uses the original date's rate.
  </Card>

  <Card title="Void an invoice" icon="file-x" href="/invoicing/void-an-invoice">
    Release invoiced time back to locked.
  </Card>

  <Card title="Approval permissions" icon="shield" href="/approvals/approval-permissions">
    Who holds `time.adjust`, and why Finance does.
  </Card>
</CardGroup>
