> 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-week-off-patterns.md).

# Setup Week-off Patterns

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

Navigate to **Payroll Setups** and click on "Setup Week-off Patterns".

A **week-off pattern** is a rule for which days are off — for example *every Sunday*, or *Sunday plus the 2nd and 4th Saturday*. Shifts, rotation steps and roster lines then point to a pattern instead of repeating the days.

## The screen

The screen has three parts:

* **the patterns** (top grid), each with an optional **Remarks** note,
* **the off-days** of the selected pattern (bottom left; its heading shows the pattern's name),
* **a five-week preview** (bottom right): 35 days with their **Date**, **Day** and whether the day is **OFF** — a WEEK-OFF or a HALF DAY.

Above them, **Half-day off charged as (first, then)** sets which leave a rostered half-day off is charged to — see the end of this page.

## Pattern types

| Pattern Type             | Use it for                                                                       | Off-days you enter                                                          |
| ------------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| **FIXED WEEKLY**         | The same days every week (6-day week = Sunday; 5-day week = Saturday and Sunday) | A **Week Day** per line                                                     |
| **NTH WEEKDAY OF MONTH** | Days that depend on the week of the month, such as the 2nd and 4th Saturday      | A **Week Day** and its **Week of Month**: EVERY, 1ST, 2ND, 3RD, 4TH or LAST |
| **ROTATING CYCLE**       | A cycle that ignores the calendar week, such as 6 days on, 1 off                 | **Cycle Days** on the pattern, then the **Cycle Day** numbers that are off  |

Tick **Half Day** on an off-day line where only half the day is off.

## Create a pattern

### **Step 1: Name and type**

* On the blank last line of the top grid, type the **Pattern Name** and choose the **Pattern Type**.
* For a rotating cycle, also enter **Cycle Days** — the length of one cycle (up to 366).
* Press **Enter** through to the end of the line, or move to another line, to accept it.

### **Step 2: Off-days**

* In the off-days grid, add one line per off-day, as the table above shows. Only the cells the pattern type needs can be filled in.
* Tick **Half Day** where only half the day is off.

### **Step 3: Preview**

* **Preview From** starts at today. The preview updates by itself as you edit; to look at other dates, change **Preview From** and press **Preview**.
* The preview uses what is on the screen, including changes not saved yet.

### **Step 4: Save**

* Press **Save** and confirm.
* If any rostered employees use a pattern 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 factory gives Sunday off, plus the 2nd and 4th Saturday.
>
> 1. Pattern Name *SUN + 2ND/4TH SAT*, Pattern Type **NTH WEEKDAY OF MONTH**.
> 2. Off-days: SUNDAY / EVERY · SATURDAY / 2ND · SATURDAY / 4TH.
> 3. Preview from 1 November: every Sunday is off, and so are the 2nd and 4th Saturday of the month.

> **Example —** Security guards work 6 days, then have 1 day off, whatever the weekday.
>
> 1. Pattern Name *6 ON 1 OFF*, Pattern Type **ROTATING CYCLE**, Cycle Days **7**.
> 2. Off-days: Cycle Day **7**.
> 3. Day 1 of the cycle is the roster line's anchor date (in the preview, the Preview From date). A guard whose line starts on 1 November is off on 7, 14, 21 November and so on.

## More examples

### **Saturday off every other week, a fixed weekday off in the week between, Sunday always off**

Some staff have Saturday and Sunday off one week. The next week they work on Saturday and have a fixed weekday off instead, and Sunday is still off. The weekday is the same for each person every time, but it differs between people: Tuesday for one person, Wednesday or Thursday for another.

This is a two-week cycle, so use a **ROTATING CYCLE** with **Cycle Days 14**. Count the days from the **Monday of a week in which Saturday is off**:

| Week                         | Mon | Tue   | Wed    | Thu    | Fri    | Sat   | Sun    |
| ---------------------------- | --- | ----- | ------ | ------ | ------ | ----- | ------ |
| **Week 1** (Saturday off)    | 1   | 2     | 3      | 4      | 5      | **6** | **7**  |
| **Week 2** (Saturday worked) | 8   | **9** | **10** | **11** | **12** | 13    | **14** |

Make **one pattern for each weekday** used as the second off day. Each pattern has four off-day lines: Saturday of week 1, both Sundays, and that weekday in week 2.

| Pattern Name        | Pattern Type   | Cycle Days | Off-days (Cycle Day) |
| ------------------- | -------------- | ---------- | -------------------- |
| SAT + TUE ALTERNATE | ROTATING CYCLE | 14         | 6, 7, 9, 14          |
| SAT + WED ALTERNATE | ROTATING CYCLE | 14         | 6, 7, 10, 14         |
| SAT + THU ALTERNATE | ROTATING CYCLE | 14         | 6, 7, 11, 14         |
| SAT + FRI ALTERNATE | ROTATING CYCLE | 14         | 6, 7, 12, 14         |

Make only the ones your staff use. To check a pattern, set **Preview From** to a Monday and press **Preview**: day 1 of the cycle is that Monday.

Which week is a person's Saturday-off week depends on the **Anchor Date** of their roster line in [Allocate Roster](/logic-erp-learning-hub-tutorials-and-best-practices/payroll/payroll-entry/allocate-roster.md). Enter a **Monday of a week in which that person has Saturday off**; when Anchor Date is left blank, the line's Date From is used. Staff whose Saturday off falls in different weeks share the same pattern: only their Anchor Dates differ, by one week.

> **Example —** Ramesh has Wednesday as his second off day, and Sunil has Tuesday. Both work the **GENERAL 10-7** shift, 10:00 AM to 7:00 PM.
>
> 1. In this screen, make SAT + WED ALTERNATE (off-days 6, 7, 10, 14) and SAT + TUE ALTERNATE (off-days 6, 7, 9, 14).
> 2. In Allocate Roster, Ramesh's line: Type **SHIFT**, Shift **GENERAL 10-7**, Week-off Pattern **SAT + WED ALTERNATE**, Anchor Date **Monday 2 November** (his Saturday off is 7 November).
> 3. Sunil's line: Shift **GENERAL 10-7**, Week-off Pattern **SAT + TUE ALTERNATE**, Anchor Date **Monday 9 November** (his Saturday off is 14 November).
> 4. Save and generate the roster.
>
> From Monday 2 November, Ramesh is off on Saturday 7 and Sunday 8 November, then on Wednesday 11 and Sunday 15 November. He works on Saturday 14 November, and the cycle starts again on Monday 16 November. Between 2 and 15 November, Sunil is off on Tuesday 3, Sunday 8, Saturday 14 and Sunday 15 November.

### **Every other Saturday off, Sunday always off**

Use the same two-week cycle without a weekday: **ROTATING CYCLE**, **Cycle Days 14**, off-days **6, 7, 14**, with the Anchor Date on a Monday of a Saturday-off week.

This is not the same as the 2nd and 4th Saturday (**NTH WEEKDAY OF MONTH**). The 2nd and 4th Saturday follow the month: in a month with five Saturdays, two Saturdays in a row are worked. A cycle keeps alternating across months.

### **Five-day week**

**FIXED WEEKLY**, off-days **SATURDAY** and **SUNDAY**.

### **One weekday off, different for each person, Sunday a working day**

For example, a store open seven days a week, where each person has their own day off.

* Make one **FIXED WEEKLY** pattern per day, for example *TUESDAY OFF* with off-day TUESDAY, *WEDNESDAY OFF* with off-day WEDNESDAY.
* Give each person their pattern on their roster line in Allocate Roster. Everyone can stay on the same shift.

### **Which type to use**

| Your rule                                                           | Pattern Type             |
| ------------------------------------------------------------------- | ------------------------ |
| The same days every week                                            | **FIXED WEEKLY**         |
| Tied to the week of the month (2nd and 4th Saturday, last Saturday) | **NTH WEEKDAY OF MONTH** |
| Repeats every 2 weeks (or every N days), whatever the month         | **ROTATING CYCLE**       |

## Changing and deleting

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

## Half-day off charged as

A **half-day off** in an employee's roster is half a working day. When attendance is saved for that day, the off half is charged to a leave, in the order set here:

* **first:** CASUAL LEAVE (CL) or SICK LEAVE (SL),
* **then:** (NONE), CASUAL LEAVE (CL) or SICK LEAVE (SL).

Until you set it, the order is CL, then SL. A leave is used only when the employee may take it (their balance and grade allow it).

| The employee on a half-day off…                           | Saved as                                                                                 |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| works part of the day, less than the full shift           | **HC** (half CL) or **HS** (half SL), by the order; **HD** when neither leave is allowed |
| is absent all day                                         | **AHC** or **AHS**, by the order; **LP** when neither leave is allowed                   |
| works the full shift                                      | **FD** — no leave is charged                                                             |
| is on leave or a holiday, or given a status without times | left as entered                                                                          |

The setting applies to the whole company. It can be changed only once your company has the attendance settings update; until then the CL, then SL order is used.

> **Example —** Meera's roster gives her a half-day off on Saturday. She works 9:00 to 1:00, half her shift, and has casual leave left. Her Saturday is saved as **HC**: half a day of CL is charged for the half she did not work.

## Messages you may see

| Message                                                                                                          | Why                                                                                                                                                                       | What to do                                                                                                                    |
| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Enter Pattern Name                                                                                               | The line has no name                                                                                                                                                      | Type the name                                                                                                                 |
| Pattern Name '…' Already Exists                                                                                  | Two patterns with one name (capitals are ignored)                                                                                                                         | Use another name                                                                                                              |
| Choose the Pattern Type                                                                                          | No type chosen                                                                                                                                                            | Pick a type                                                                                                                   |
| Enter Cycle Days (1 to 366)                                                                                      | A rotating cycle with no length                                                                                                                                           | Enter the cycle length                                                                                                        |
| Choose the Week Day / Choose the Week of Month                                                                   | An off-day line is incomplete                                                                                                                                             | Fill in the line                                                                                                              |
| Cycle Day must be from 1 to …                                                                                    | The day number is outside the cycle                                                                                                                                       | Enter a day within the cycle                                                                                                  |
| This off-day is already in the pattern                                                                           | The same off-day twice                                                                                                                                                    | Remove the duplicate                                                                                                          |
| Pattern '…' is used by a shift, a shift rotation or a roster. It cannot be deleted; mark it Inactive instead.    | Something still points to the pattern                                                                                                                                     | Tick **Inactive**                                                                                                             |
| Choose the pattern type first / Enter the cycle days first / Enter a valid Preview From date                     | **Preview** was pressed with the pattern incomplete                                                                                                                       | Complete the pattern, set Preview From                                                                                        |
| Pattern '…': enter the pattern name / choose the pattern type / enter the cycle days / off-day N - …             | On **Save**, a pattern no longer fits its type — for example its type or Cycle Days changed after its off-days were entered (*off-day 2 - Cycle Day must be from 1 to 6*) | Fix that pattern's line or off-days, then Save                                                                                |
| … rostered employee(s) use the changed pattern(s). Re-run Generate Roster so their week-offs 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 **Patterns**, the **Off-days** 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-week-off-patterns.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.
