Settings

HR rules (V2 engine)

Build \"conditions then actions\" rules to automatically turn your shifts into performance codes: night hours, Sundays, public holidays, overtime, deductions, and much more.

6 min readUpdated on June 30, 2026

What HR rules are for

HR rules are the heart of your performance calculation. They turn your raw shifts into structured performance codes, ready to be exported to your secrétariat social. Without rules, an export contains only normal hours. With them, Shyfter automatically applies the supplements and specifics of your sector: night hours, Sunday work, public holidays, overtime beyond the contract, bonuses, deductions, etc. Your employees are paid correctly, without manual calculation and without the risk of omissions.

The V2 engine works on a simple and powerful principle: each rule is a set of conditions followed by actions. When a shift meets all the conditions, the actions apply. An AI assistant can even create these rules for you from a simple sentence.

Accessing the HR rules

Go to Settings ⚙️ → HR → HR rules. You arrive on the "Custom HR rules" page, which lists your rules in their order of application.

Two principles to keep in mind:

  • The rules are evaluated from top to bottom. The order matters: place the most specific rules before the most general ones. You can reorder the rules with the arrows.
  • Within a single rule, all conditions must be true (they combine with an "AND") for the actions to trigger.

The unpaid breaks setting

At the top of the page is an important global setting: how to deduct unpaid breaks. When a break is scheduled, Shyfter can deduct it either from the shift's start time or from its end time.

This choice is not trivial: it influences some calculations, in particular night hours. For example, deducting the break at the end of the shift can reduce the hours counted late in the evening. This setting is global and applies to all performances, so take the time to choose the option suited to your agreement.

Creating a rule

Click + Add a rule. A "New rule" panel opens, organised into three blocks.

1. Information

  • Name: a clear title, for example "Weekend student overtime".
  • Description: optional, to explain what the rule is for.
  • Performance type: does the rule apply to planned hours, clocked hours, or both (Schedule + Clocking)?
  • Active: enable or disable the rule without deleting it.
  • Stop at first match: if enabled, as soon as a shift matches this rule, the rules below are no longer evaluated for that shift. Handy to prevent the same shift from accumulating several treatments.

A rule can apply to the whole account, or be limited to a specific employee if you define it so.

2. The conditions (AND)

The shift must satisfy all conditions to trigger the actions. Each condition is made up of a criterion, a comparison operator and a value.

The available operators depend on the criterion: equal to, different from, greater than, greater than or equal, less than, less than or equal, among (a list), or between (two bounds). Some conditions are simple yes/no checkboxes (public holiday, for example) and have no operator.

Here are the conditions you can use:

Conditions related to time and hours

  • Time slot: the shift falls within a given time range (for example between 22:00 and 06:00).
  • Night hours: the hours considered as night work according to your settings.
  • Hours in the day: the number of hours worked in the day (for example beyond 8 hours).
  • Hours in the week: the total hours in the week (useful for overtime).
  • Hours in the month: the total hours in the month.
  • Shift duration: the length of a given shift.

Conditions related to days

  • Day of the week: one or more specific days (for example Sunday).
  • Public holiday: the shift falls on a public holiday (yes/no checkbox).
  • Day before a public holiday: the day preceding a public holiday.
  • Day after a public holiday: the day following a public holiday.
  • Consecutive days: the number of days worked in a row (for example more than 5 days in a row).
  • Days worked over a period: the number of days worked over a given period.
  • Period: a specific date range (for example a high season period).

Conditions related to the employee and the contract

  • User status: one or more statuses (for example Employee, Student).
  • Contract type: according to the employee's contract type.
  • Working time regime: full-time or part-time.
  • Age: for example for rules specific to minors or students.

Conditions related to absences

  • Is an absence: the shift corresponds to an absence (yes/no checkbox).
  • Absence type: sickness, holidays, recovery or other.

Condition related to the location

  • Section: one or more relevant sections.

You can stack several conditions with + Add a condition. Remember that they accumulate: the more you add, the more targeted the rule becomes.

3. The actions (APPLY)

When the conditions are met, the actions define the performance code to apply and on which hours. For each action, you choose a type and a scope.

The action types:

  • Replace the code: the relevant hours take this code instead of the normal code. Useful when the performance completely changes nature (for example a "Sunday" code).
  • Add a code: the code is added on top, the normal hours are still counted separately. Ideal for bonuses and supplements.
  • Deduct a code: the relevant hours are subtracted from the base hours and appear separately. This is how you isolate, for example, hours to be treated separately.
  • Stop: stops the evaluation, no other action or rule is applied afterwards.

The scope specifies which hours of the shift the code applies to:

  • The whole shift duration: the code covers the entire shift, whatever the moment those hours fall.
  • The condition's time range: only the hours that fall within the window defined by the condition are concerned (for example only the hours actually located between 22:00 and 06:00).
  • Overtime beyond the threshold: only the hours that exceed the threshold set in the condition are taken (for example only the hours beyond the 8th hour of the day).

Each action points to a performance code: a standard ONSS code or a custom HR code you have created. You can add several actions to the same rule with + Add an action.

The AI assistant: generate a rule in one sentence

The Generate with AI button lets you describe your need in plain language, without knowing the mechanics of conditions and actions. For example: "A 50% supplement for Sunday hours, for employees". The assistant translates your sentence into a pre-built rule (conditions and actions), which you only have to review, adjust and save. It is the fastest way to start from a correct base.

Concrete examples

  • Night hours: condition "Time slot between 22:00 and 06:00", action "Add a code" night, scope "The condition's time range". Only the hours actually at night get the supplement.
  • Sunday work: condition "Day of the week = Sunday", action "Replace the code" with the Sunday code, scope "The whole shift duration".
  • Public holiday worked: condition "Public holiday = yes", action "Add a code" holiday, scope "The whole shift duration".
  • Overtime: condition "Hours in the week greater than 38", action "Add a code" overtime, scope "Overtime beyond the threshold".
  • Weekend student supplement: conditions "Status = Student" AND "Day of the week among Saturday, Sunday", action of your choice according to your agreement.

Best practices

Build your rules from the most specific to the most general, and use "Stop at first match" when you don't want a shift to accumulate several treatments. Test your rules on a known week by checking the result in the performance control before a real export. If in doubt about the agreement applicable to your sector, our team can help you frame your rules.

Did this article answer your question?
Can't find what you're looking for?
Support
© 2026 Shyfter · shyfter.com