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

# Reopen an approval

> Reverse an approved timesheet so the person can edit and resubmit it, why reopening is blocked once time is locked or invoiced, and who is allowed to do it.

Reopening reverses an approval. The period goes back to the person to edit and resubmit. Only an owner or admin can do it, and it is blocked once anything is locked or invoiced.

## What reopening does

| Before                     | After                                           |
| -------------------------- | ----------------------------------------------- |
| Period status **Approved** | Period status **Changes requested**             |
| Entries **approved**       | Entries back to **draft**, carrying your reason |
| The person cannot edit     | The person can edit and resubmit                |
| No reopen event in the log | A **Reopened** event with your name and reason  |

Nothing is deleted. The hours stay exactly as they were tracked – only their status changes.

## When to reopen

<Steps>
  <Step title="Something was approved by mistake">
    You approved the wrong person's week, or approved before you meant to.
  </Step>

  <Step title="A mistake surfaces after approval">
    The client says four of those hours belong on a different project.
  </Step>

  <Step title="A missing entry turns up">
    The person forgot half a day and it needs adding before invoicing.
  </Step>

  <Step title="A rate or billable flag was wrong">
    The billable split needs redoing before anyone bills against it.
  </Step>
</Steps>

If none of those apply and the time has already been locked or invoiced, you need an [adjustment](/approvals/adjustments) instead.

## How to reopen

<Steps>
  <Step title="Find the approved period">
    Go to **Approvals → Timesheets → History**. Set the status filter to **Approved** to narrow the list.
  </Step>

  <Step title="Open the review screen">
    Click the row.
  </Step>

  <Step title="Click Reopen">
    The button sits in the sticky bar at the bottom. It only appears when the period is approved, nothing is locked or invoiced, and you hold `time.reopenApproval`.
  </Step>

  <Step title="Write a reason">
    The dialog reads "Reopening reverses the approval and returns the period to the submitter to edit and resubmit. Blocked once any entry is locked or invoiced." A **Reason for reopening** is required.
  </Step>

  <Step title="Confirm">
    Click **Reopen timesheet**. You get `Timesheet reopened.` and return to the queue.
  </Step>
</Steps>

## Why it is blocked once time is locked

This is the rule that catches people out, and it exists to protect the books.

<Warning>
  Reopening is refused if **any** entry in the period has advanced to **locked** or **invoiced**. You get "That period is closed."
</Warning>

Once a period is closed, the approved hours are a financial record. Something may already be on an invoice a client has seen. Quietly rewinding it would change a number someone has already been billed for.

So the rule is simple.

| State of the period      | Correction route                           |
| ------------------------ | ------------------------------------------ |
| Approved, nothing locked | **Reopen**                                 |
| Any entry locked         | **Adjustment**                             |
| Any entry invoiced       | **Adjustment** – or void the invoice first |

An adjustment leaves the original intact and records the correction next to it. That is an honest audit trail. A silent rewind is not.

## Reopen vs request changes

They look similar but happen at different points.

|                      | Request changes            | Reopen                |
| -------------------- | -------------------------- | --------------------- |
| Period status before | **Submitted**              | **Approved**          |
| Who can do it        | Anyone with `time.approve` | Owner and Admin only  |
| Reason required      | Yes                        | Yes                   |
| Logged as            | **Requested changes**      | **Reopened**          |
| Plan needed          | **Pro**                    | Free – never gated    |
| Result               | Entries back to draft      | Entries back to draft |

Both land the period on **Changes requested**. The difference is what you are undoing – a pending decision, or a decision already made.

## Example

Priya Raman approves Sarah Lin's 32-hour week on Monday.

On Wednesday, Bluebird Coffee asks why 4 hours of "competitor research" were billed to Website Redesign when it was agreed as internal work.

Priya cannot reopen it – she is a Project Manager. She asks Tom Whitfield, an Admin.

Tom opens **Approvals → Timesheets → History**, filters to **Approved**, and clicks Sarah's week. He clicks **Reopen** and writes "4h competitor research billed in error – should be non-billable per the client agreement."

Sarah's entries go back to draft. She sees the reason at the top of her timesheet, flips the 4 hours to non-billable, and resubmits. At $100/hour that removes **$400\*\* of billable value from the project.

Priya approves the corrected week. The activity log reads: **Submitted**, **Approved**, **Reopened** (Tom, with the reason), **Resubmitted**, **Approved**.

Two weeks later Tom closes the month. Sarah's hours lock. If the same question came up now, an adjustment would be the only route.

## Permissions

| Action              | Capability            | Default roles                          |
| ------------------- | --------------------- | -------------------------------------- |
| Reopen an approval  | `time.reopenApproval` | Owner, Admin                           |
| Request changes     | `time.approve`        | Owner, Admin, Project Manager          |
| Adjust settled time | `time.adjust`         | Owner, Admin, Project Manager, Finance |

`time.reopenApproval` is deliberately kept above the Project Manager tier. It reverses a decision that has already been recorded, so it sits at the same level as closing a period.

Supervision scope also applies. Reopening someone's period is a cross-member write.

## Plan gating

**Reopening is never plan-gated.**

This is deliberate and worth stating clearly. Approving is sold, because it resolves work. Taking an approval back must work on every plan – otherwise a workspace whose subscription lapses mid-week would be left holding a decision it can neither complete nor undo.

The same asymmetry applies to withdrawing an expense approval and withdrawing a leave approval.

## What happens next

* The period status becomes **Changes requested**.
* Every approved entry returns to draft, carrying your reason.
* The person is notified, with your reason in the message.
* Your reason and name are written into the activity log as a **Reopened** event.
* They edit and resubmit, and the period goes through review again.

## Common questions

<AccordionGroup>
  <Accordion title="Where is the Reopen button?">
    On the review screen, in the sticky bar at the bottom. It only shows for an approved period with nothing locked, and only if you hold `time.reopenApproval`.
  </Accordion>

  <Accordion title="Can a Project Manager reopen?">
    Not by default. It is Owner and Admin only. Your workspace can build a custom role that includes it.
  </Accordion>

  <Accordion title="Does reopening set the period back to Not submitted?">
    No. It lands on **Changes requested**, so it reads the same as a rejection and the person knows to act.
  </Accordion>

  <Accordion title="Can I reopen a locked period?">
    No. Reopening is refused once any entry is locked or invoiced. Use an adjustment.
  </Accordion>

  <Accordion title="What if only one entry in the period is invoiced?">
    That is still enough to block the reopen. The rule is per period, not per entry.
  </Accordion>

  <Accordion title="Does reopening remove the time from a budget?">
    The entries return to draft, so they are no longer approved. Once resubmitted and approved they count again, with whatever corrections were made.
  </Accordion>
</AccordionGroup>

## Troubleshooting

* **"That period is closed."** An entry is locked or invoiced. Use an adjustment, or void the invoice first.
* **"You can't reopen an approved timesheet."** You do not hold `time.reopenApproval`. Ask an owner or admin.
* **"Give a reason for reopening this, so the history explains itself."** The reason field was empty.
* **"Someone else changed this while you had it open."** The period changed state. Reload and check where it stands.
* **No Reopen button at all.** The period is not approved, something is locked, or you lack the capability.

## Related guides

<CardGroup cols={2}>
  <Card title="Adjustments" icon="calculator" href="/approvals/adjustments">
    The correction route once time is locked.
  </Card>

  <Card title="Close a period" icon="lock" href="/approvals/close-a-period">
    What locking does, and why it blocks reopening.
  </Card>

  <Card title="Approve a timesheet" icon="check" href="/approvals/approve-a-timesheet">
    The decision you are reversing.
  </Card>

  <Card title="Reject a timesheet" icon="undo" href="/approvals/reject-a-timesheet">
    Sending back a period that is still submitted.
  </Card>

  <Card title="Timesheet statuses" icon="git-branch" href="/timesheets/timesheet-statuses">
    Every legal move, including this one.
  </Card>

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