> For the complete documentation index, see [llms.txt](https://kb.logicerp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.logicerp.com/logic-erp-learning-hub-tutorials-and-best-practices/payroll/payroll-setups/setup-shift-rotations.md).

# Setup Shift Rotations

**Available on:** Desktop · Web · Phone

Navigate to **Payroll Setups** and click on "Setup Shift Rotations".

A **shift rotation** is a repeating sequence of shifts — for example one week on the day shift, then one week on the night shift. Employees on a rotation move through its steps in order, again and again. Skip this screen if every employee stays on one shift.

## The screen

The screen has three parts:

* **the rotations** (top grid): **Rotation Name**, **Cycle Days**, **Inactive** and an optional **Remarks** note,
* **the steps** of the selected rotation (bottom left; its heading shows the rotation's name), in the order they run,
* **a five-week preview** (bottom right): 35 days with their **Date**, **Day**, **Shift** and whether the day is **OFF** — a WEEK-OFF or a HALF DAY.

## Create a rotation

### **Step 1: Name the rotation**

* On the blank last line of the top grid, type the **Rotation Name**, then press **Enter** to the end of the line (or move to another line).

### **Step 2: Add the steps**

* In the steps grid, add one line per step, in the order they run, and press **Enter** past **Days** (or move to another line):
  * **Shift** — the shift worked in this step,
  * **Week-off Pattern** — the week-offs in this step; it starts as **(SHIFT'S OWN)**, which uses the shift's own pattern,
  * **Days** — how many days the step lasts.
* Only active shifts and week-off patterns are offered.
* **Cycle Days** in the top grid fills itself: it adds up the steps' days, the length of one turn of the rotation.

### **Step 3: Preview**

* **Step 1 On** starts at today. Set it to the date step 1 should run and press **Preview**: the next 35 days are shown with their shift and off-days.
* The preview also refreshes by itself each time you accept or delete a step, or select another rotation.

### **Step 4: Save**

* Press **Save** and confirm.
* If any rostered employees use a rotation you changed, a message says how many. Their roster changes only when it is generated again — see [Generate Roster](/logic-erp-learning-hub-tutorials-and-best-practices/payroll/payroll-entry/generate-roster.md).

> **Example —** A plant runs a two-week rotation.
>
> 1. Rotation Name *DAY-NIGHT 2 WEEKS*.
> 2. Steps: DAY SHIFT · (SHIFT'S OWN) · 7 days, then NIGHT SHIFT · (SHIFT'S OWN) · 7 days.
> 3. Cycle Days shows **14**.
> 4. Step 1 On 3 November: the preview shows DAY SHIFT from 3 to 9 November and NIGHT SHIFT from 10 to 16 November, then DAY SHIFT again.

## Starting employees part-way through

Each employee starts the rotation on their roster line in [Allocate Roster](/logic-erp-learning-hub-tutorials-and-best-practices/payroll/payroll-entry/allocate-roster.md): the **Anchor Date** (the line's Date From when blank) and the **Anchor Step** that runs on that date. This lets two teams share one rotation but stay a step apart.

> **Example —** Team A's lines have Anchor Step **1** and Team B's Anchor Step **2**, both from 3 November. In the first week Team A is on DAY SHIFT and Team B on NIGHT SHIFT; the next week they swap.

## Changing and deleting

* To delete a rotation or a step, delete its line in the grid and answer **Yes** to *Confirm Deletion*; a deleted rotation or step goes when you **Save**.
* A rotation used by a roster line **cannot be deleted**. Tick **Inactive** instead: it stays on the lines that use it, but it is not offered — and cannot be chosen — on new or changed roster lines.
* Changing a rotation does not change rosters already generated. Generate again for the employees on it.

## Messages you may see

| Message                                                                                                        | Why                                                                | What to do                                                                                                                    |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| Enter Rotation Name                                                                                            | The line has no name                                               | Type the name                                                                                                                 |
| Rotation Name '…' Already Exists                                                                               | Two rotations with one name                                        | Use another name                                                                                                              |
| Choose the Shift                                                                                               | A step has no shift                                                | Pick the shift                                                                                                                |
| Enter Days (1 to 366)                                                                                          | A step has no length, or too long a one                            | Enter the step's days                                                                                                         |
| Rotation '…': enter the rotation name / enter at least one step / step N - …                                   | On **Save**, a rotation is incomplete                              | Fix that rotation, then Save                                                                                                  |
| Rotation '…' is used by a roster. It cannot be deleted; mark it Inactive instead.                              | A roster line still uses the rotation                              | Tick **Inactive**                                                                                                             |
| Enter at least one step with a shift and its days first / Enter a valid Preview From date                      | **Preview** was pressed with the rotation incomplete               | Add a step, set **Step 1 On**                                                                                                 |
| … shift … does not exist / Week-off pattern … does not exist                                                   | **Preview**: a shift or pattern a step uses can no longer be found | Pick it again on that step                                                                                                    |
| … rostered employee(s) use the changed rotation(s). Re-run Generate Roster so their shifts follow the changes. | Saved changes affect rostered employees                            | Run [Generate Roster](/logic-erp-learning-hub-tutorials-and-best-practices/payroll/payroll-entry/generate-roster.md) for them |
| Modification rights are not available...                                                                       | Your user may only view this menu                                  | Ask for modify rights in User Access                                                                                          |

## On the web

The same screen is on the web. On a phone, a switch shows the **Rotations**, the **Steps** or the **Preview**, one at a time.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://kb.logicerp.com/logic-erp-learning-hub-tutorials-and-best-practices/payroll/payroll-setups/setup-shift-rotations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
