> 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-entry/allocate-roster.md).

# Allocate Roster

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

Navigate to **Payroll Entry** and click on "Allocate Roster".

**Allocate Roster** gives each employee one or more **roster lines**: which shift or rotation they follow, and from which date. Saving offers to **generate** their roster straight away. This screen never changes the shift on the employee's own record, and the old **Allocate Employees to Shifts** screen is not affected by it.

## The screen

The screen has three grids:

* **Employees** (top): the employees you picked — name, codes, **Current Assignment** (what applies today, for example *SHIFT: GENERAL SHIFT*, worked out from the lines on screen) and **Emp-wise Holidays** (whether they already keep their own holiday list). Tick **Select** for those the assign bar should apply to.
* **Assign bar** (middle): one line you fill in once and copy to every ticked employee.
* **Roster lines** (bottom): the lines of **one** employee — the one selected in the top grid. Its heading names that employee, for example *Roster lines of: AARTI KUMARI (EMP CODE 947) - employee 3 of 5*, and adds *unsaved changes* when there are some.

## The roster line columns

| Column                     | What to enter                                                                                                                                                                                                    |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Date From**              | The first day the line applies. Required.                                                                                                                                                                        |
| **Date To**                | The last day. Leave blank for no end date.                                                                                                                                                                       |
| **Type**                   | **SHIFT** (one shift) or **ROTATION** (a rotation from Setup Shift Rotations). Changing it clears the shift or rotation chosen.                                                                                  |
| **Shift / Rotation**       | The shift or rotation. Only active ones are offered — and only rotations with steps.                                                                                                                             |
| **Week-off Pattern**       | Shift lines only. **(SHIFT'S OWN)** uses the shift's pattern; pick another to override it for this employee.                                                                                                     |
| **Anchor Date**            | The day counting starts, for a rotation or a rotating-cycle week-off pattern. Blank = Date From.                                                                                                                 |
| **Anchor Step**            | Rotation lines only: which step runs on the anchor date (1 = the first step).                                                                                                                                    |
| **Follow Branch Holidays** | **Yes** (the default): the branch's holidays are added to the employee's holiday list; on rostered days the branch's weekly-offs do not apply — the roster's week-offs do. **No**: no branch holidays are added. |
| **Remarks**                | Free text, in capitals.                                                                                                                                                                                          |
| **Status**                 | Filled in by the screen: *LATER LINE FROM …* when a later line takes over from that date.                                                                                                                        |

When lines overlap, the line with the later **Date From** wins from that date on. Two lines of one employee cannot start on the same date.

> **Example —** Aarti is on GENERAL SHIFT from 1 April with no end date. From 1 November she moves to NIGHT SHIFT. Add a second line from 1 November: from that day the new line applies, and as soon as the new line is accepted the first line's Status reads *LATER LINE FROM 01/11/…*. There is no need to end the first line.

## Allocate rosters

### **Step 1: Pick the employees**

* Press **Select Employees**. The employee search opens, listing employees who have not left. Tick the employees and press **OK**.

### **Step 2: Give many employees the same line**

* In the top grid, tick **Select** for each employee the line is for.
* Fill in the assign bar, pressing **Enter** after each cell.
* Press **Add to Ticked Employees**. Each ticked employee gets the line; one who already has a line starting on the same date is skipped. The message says *Line added to N employee(s)*, how many were skipped, and *Save to keep the changes.*

### **Step 3: Change one employee's lines**

* Click the employee in the top grid; the bottom grid shows their lines.
* Edit a line, or add one on the empty last row. Press **Enter** after each cell and at the end of the line.
* To remove a line, delete it in the grid. The screen asks *Delete this roster line?* and reminds you that days already generated from it change only when the roster is generated again.

### **Step 4: Save and generate**

* Press **Save**. The screen checks every line of each changed employee, and asks *Are you sure you want to save changes*. The question also notes, when it applies:
  * employees getting their **first roster** — they switch to employee-wise holidays, and this payroll year's branch holidays are copied into their own list,
  * employees who already keep their own holiday list — lines with Follow Branch Holidays = Yes add the branch's holidays to it,
  * employees left with **no roster lines** — their days already generated stay; use **Switch to Branch Holidays** to put them back.
* It then asks whether to **generate** the roster now for the changed employees, from today to the end of the payroll year. If no payroll year covers today, it goes to the last Date To of their lines, or one year ahead when a line has no end date; the question says so and shows the date.
* Answer **Yes**. A summary shows how many employees were done, how many failed and why (the first 10 failures are listed).

The screen closes without asking if changes are not saved — save first.

## Switch an employee back to branch holidays

Use this when an employee stops following a roster and should go back to the branch's holidays and weekly-offs.

1. End the employee's roster lines **yesterday or earlier** (set **Date To**), or delete them, and press **Save**.
2. Remove any holidays entered by hand for them from today on, in **Setup Employee Wise Holidays**.
3. Select the employee in the top grid and press **Switch to Branch Holidays**. Confirm the question.

From today on, their roster days and the holidays the roster added (week-offs included) are removed, and they follow branch holidays again. If payroll has already been processed for a period that includes today, removal starts the day after that period; the question shows the date. Earlier days, and holidays entered by hand, are not touched. The message then says how many roster days and holidays were removed.

Days of the current payroll period that have already passed will also follow branch holidays when payroll is processed, so switch at the start of a period where possible.

## Messages you may see

| Message                                                                                                                                       | Why                                                                                                   | What to do                                                 |
| --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| There are no changes to save                                                                                                                  | No roster line changed. Editing only the assign bar changes nothing until **Add to Ticked Employees** | Use **Add to Ticked Employees**, or edit a line, then Save |
| Tick the employees (SELECT column) the line is for                                                                                            | **Add to Ticked Employees** with nobody ticked                                                        | Tick **Select** in the top grid                            |
| Enter Date From / Choose the Type (Shift or Rotation) / Choose the Shift / Choose the Rotation                                                | A line, or the assign bar, is incomplete                                                              | Fill it in                                                 |
| Another line of this employee already starts on …                                                                                             | Two lines cannot start on the same day                                                                | Change that line's Date From, or edit the existing line    |
| Date To cannot be before Date From                                                                                                            | Dates reversed                                                                                        | Correct the dates                                          |
| Shift '…' is inactive / Week-off pattern '…' is inactive / Rotation '…' is inactive                                                           | A new or changed line uses an inactive item                                                           | Pick an active one, or untick Inactive in its setup screen |
| The shift / week-off pattern / rotation no longer exists; choose another                                                                      | The item was removed                                                                                  | Choose another                                             |
| Anchor Step must be from 1 to …                                                                                                               | The rotation has fewer steps                                                                          | Enter a step within the rotation                           |
| Rotation '…' has no steps with days                                                                                                           | An older line uses a rotation whose steps all have 0 days                                             | Fix the rotation in Setup Shift Rotations                  |
| …, line N: …                                                                                                                                  | On **Save**: that employee's line N has the problem shown                                             | Fix the line, then Save                                    |
| The changes on screen are not saved. Discard them and select employees again?                                                                 | **Select Employees** with unsaved changes                                                             | **No** goes back so you can Save                           |
| Select the employee first (Select Employees, then click the employee)                                                                         | **Switch to Branch Holidays** with no employee selected                                               | Select the employee                                        |
| Save the changes on screen first, then switch back                                                                                            | **Switch to Branch Holidays** with unsaved lines                                                      | Save first                                                 |
| …: The employee still has … roster line(s) running on or after …. End them before that date (Date To) or delete them, save, then switch back. | The roster has not ended                                                                              | Do as it says                                              |
| …: The employee has … holiday(s) entered by hand on or after …. Remove them in Setup Employee Wise Holidays first.                            | Those holidays would stop being used                                                                  | Remove them, then switch                                   |
| …: The employee already follows branch holidays.                                                                                              | Nothing to switch back                                                                                | —                                                          |
| Modification rights are not available...                                                                                                      | **Save** or **Switch to Branch Holidays**: your user may only view this menu                          | Ask for modify rights in User Access                       |

## On the web

The same screen is on the web. A switch (**Employees**, **Assign**, **Lines**) shows one part at a time — on a phone and on a desktop.


---

# 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-entry/allocate-roster.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.
