# How to use bulk actions on the timesheet

**For:** Manager
**You'll need:** A timesheet with rows you want to process together.

You'll select many rows at once and submit, unsubmit, approve, or unapprove them in a single click. Selections persist across pages and reloads, so you can build up a batch over a few visits before acting on it.

## Select the rows

1. In the left sidebar, go to **Planning → Management → Timesheet**.
2. Filter the list to the rows you want to act on — see {doc}`view-and-filter`.
3. Tick the checkbox at the start of each row, or tick the checkbox in the header to select every row on the page.

```{tip}
Selections are stored in your browser (localStorage), so they survive reloads, paging, and tab switches. Use the **'Clear selection'** link above the table to start over.
```

## Run a bulk action

With at least one row selected, the action bar above the table shows the bulk buttons:

- Click **'Submit selected'** to submit every selected row — same effect as {doc}`submit-a-time-entry`, applied row by row.
- Click **'Unsubmit selected'** to roll every selected row back — same effect as {doc}`unsubmit-a-time-entry`.
- Click **'Approve selected'** to approve every selected row — same effect as {doc}`approve-a-time-entry`.
- Click **'Unapprove selected'** to reverse approval on every selected row — same effect as {doc}`unapprove-a-time-entry`.

A confirmation summary tells you how many rows succeeded and how many were skipped (locked period, wrong status, etc.).

## Verify it worked

Each processed row shows its new status badge. The selection clears unless a row failed — failed rows stay selected so you can investigate.

## Locked periods

Rows in a closed company period are skipped, not processed. The summary shows them as locked. See {doc}`locked-period-ux`.

## Related

- {doc}`view-and-filter`
- {doc}`submit-a-time-entry`
- {doc}`approve-a-time-entry`
