Skip to main content

Overtime on a holiday pays a different rate

"An ordinary evening is paid at time and a half. A public holiday is double. Make the system work that out."

What is really being asked​

He wants the day type to decide the rate. The system will not do that by itself. There is a field called Overtime Type with a value for Public Holiday, and it is read by no arithmetic anywhere. Nothing compares the overtime date against the holiday list and chooses a multiplier.

What you can deliver is a typed multiplier per line, and it works properly once it is typed. So the real question to the client is: who types it, and on what?

There are two routes to overtime in PeopleNest and the answer is different for each. Find out which one this client is on before you say anything else.

What you need in place first​

  • Wage Type - an earning wage type for overtime, direction Debit, indicator Earning.
  • Public Holiday - the holiday on every calendar in use, so the day reads as a holiday in the first place. See a public holiday is declared at short notice.
  • The answer to the deciding question: is overtime taken from requests or from punches? That is a setting on the Time Management setting screen, per legal entity, and it is the whole fork in this page.

Route A, overtime from requests. This one works.​

  1. Confirm the entity is set to take overtime from requests. On the Time Management setting screen, the setting that makes overtime come from the request document rather than from attendance punches must be on. If it is off, everything below is typed and then ignored.

  2. Open Overtime Request. Header: the employee, the date window, and the wage type the overtime posts to, which is required: "Name the wage type the overtime posts to".

  3. Add one line per rate. The multiplier is on the line, not the header, exactly because one request routinely spans an ordinary evening and a public holiday.

    DateHoursOvertime TypeRate Multiplier
    06-Oct-20263Normal Day1.5
    07-Oct-20268Public Holiday2

    A blank or zero multiplier becomes 1 on save. A line is refused above 12 hours: "overtime must be between 0 and 12 hours".

  4. Get it approved. An unapproved request cannot be posted to payroll and the screen says so.

  5. Run Process Overtime for the period. It reads approved, ready-to-process, not-yet-posted requests, applies the multiplier, and stamps the request as posted so the same hours cannot be paid twice.

  6. Run Payroll unposted and check the overtime line on the payslip.

The one sentence that matters here: it is the Rate Multiplier that pays the man more, not the Overtime Type. Ticking Public Holiday and leaving the multiplier at 1 pays holiday work at the ordinary rate, silently. Overtime Type is recorded for reporting and read by no calculation.

How the multiplier is applied is worth knowing so you can check the payslip: the paid hours are inflated by it. Eight hours at a multiplier of 2 are paid as sixteen hours at the ordinary rate. The money is right; the hours figure on the slip is not the hours he stood there. Tell the client before he counts them.

Route B, overtime from punches. This one cannot do it.​

If the entity takes overtime from attendance, a public holiday hour is paid exactly like an ordinary hour and there is no setting that changes it. Specifically:

  • Over Time Category holds a code, a name and the wage type. No rate and no multiplier.
  • Overtime Policy Setup is a banding and rounding table keyed on minutes worked. It decides how many minutes of overtime a day's extra time earns. There is no rate in it and no day type in it.
  • The per-hour rate in Employee Overtime is derived from the man's salary, the Value % on his Pay Rate, and that Pay Rate's calculation days and hours. See the maths.
  • The Pay Rate that applies comes from the Employee Policy Profile line, and that line pairs an Overtime Category with a Pay Rate.

So the only lever is a second overtime category with a higher-paying Pay Rate, chosen by whoever books the overtime. That is a per-category rate, not a per-day-type rate. The system will not select it on a holiday for you.

The nearest thing, if the client is on route B​

  1. Create two Pay Rate records, OT-NORMAL with a Value % that yields time and a half, and OT-HOLIDAY with one that yields double.

  2. Create two Over Time Category records, OT-N and OT-H, each naming the overtime wage type.

  3. On the Employee Policy Profile, add two overtime lines, one pairing OT-N with OT-NORMAL and the other OT-H with OT-HOLIDAY.

  4. Train whoever books overtime to pick OT-H on a holiday. Then accept that this is a human control, write it into the client's procedure, and audit it monthly.

Be straight with the client about the difference between this and what he asked for. He asked for a rule. This is a discipline.

Where two clients differ​

Overtime from requestsOvertime from punches
Can a holiday rate differYesYes, but only by category
Who decides the rateWhoever raises the request types a multiplierWhoever books the hours picks a category
Does the system pick it on a holidayNoNo
Where the rate livesRate Multiplier on the request lineValue % on the Pay Rate
Screens to configureOvertime Request, Process OvertimePay Rate, Over Time Category, Employee Policy Profile
The audit riskA multiplier left at 1The wrong category booked

How you prove it worked​

  1. Raise one request with two lines, a normal day at 1.5 and a holiday at 2, run Process Overtime, then run Payroll unposted.
  2. Work the two amounts out by hand from the maths before you look. Then compare.
  3. Check the ratio. The holiday hour must be worth exactly as many times the normal hour as the two multipliers differ. If both hours are worth the same, the multiplier is not being read, which means the entity is on route B.
  4. Re-run Process Overtime for the same period. The hours must not be paid again. If they are, the request was not stamped as posted and you have a double-payment risk on every period.
  5. On route B, book one hour under each category for the same man and confirm the two amounts differ.

What will go wrong​

  • Overtime Type is set to Public Holiday and the multiplier is left at 1. The holiday is paid as an ordinary day and nothing warns anybody. This is the most likely fault on this page.
  • The multipliers are typed and the entity is on route B. Every number is entered and nothing reads it. Confirm the setting before you train anybody.
  • The client counts the hours on the payslip and finds sixteen where a man worked eight. Explain the inflated-hours mechanism up front.
  • Commented-out fields are expected to work. The Employee Policy Profile source carries fields named for working-day, weekend and holiday overtime with a pay rate for each. They are not on the screen and are read by no code. They are not a feature.