Skip to main content

Overtime California

Overtime after 8hrs in a day, double time after 12hrs in a day; overtime on the 7th consecutive day in the workweek, doubletime after the 8th hour on the 7th day

Details

Rule Type
Time

Execution
After segment

Parameters

NameDataTypeDefaultValueDescription

Decision Tree

Rule processing begins in the cell R1:Level1 and proceeds right/down. Any IF statement which results in a DONE step terminates the rule immediately.

Line#Level1Level2Level3Comment
1Start
2IF(EMPLOYEE(Exempt) = 1) Don't allow for Exempt employees
3DONE
4IF(CALC(consecutivedays) = 7) Are we working 7 consecutive days? If so, all hours are OT or OT2
5IF(CALC(REG:day) > 8) Do we have more than 8 hours in the day?
6SET(hours_over2 = SUBTRACT(CALC(REG:day), 8.0))Store excess past 8hrs into temporary bucket
7SET(RegularHours = SUBTRACT(RegularHours, hours_over2))Subtract the overage from REG
8SET(DTHours = hours_over2)Add the overage to OT2
9IF(CALC(REG:day) > 0) Do we have any remaining hours still in REG?
10SET(hours_over = RegularHours)Add overage to temporary bucket
11SET(RegularHours = 0)Set REG to zero
12SET(OTHours = hours_over)Add the overage to OT
13IF(CALC(REG:day) > 12) Do we have daily OT2 if worked past 12hrs?
14SET(hours_over2 = SUBTRACT(CALC(REG.day), 12.0))Put hours past 12 into temporary bucket
15SET(RegularHours = SUBTRACT(RegularHours, hours_over2))Remove overage from REG
16SET(DTHours = ADD(DTHours, hours_over2))Add overage to OT2
17IF(CALC(REG:day) > 8) Do we have hours past 8?
18SET(hours_over = SUBTRACT(CALC(REG:day), 8))Put overage past 8 into temporary bucket
19SET(RegularHours = SUBTRACT(RegularHours, hours_over))Remove overage from REG
20SET(OTHours = ADD(OTHours, hours_over))Add overage to OT
21IF(CALC(REG:week) > 40) Lastly, do we have weekly hours past 40?
22SET(hours_over = SUBTRACT(CALC(REG:week), 40.0))Add overage to temporary bucket
23SET(RegularHours = SUBTRACT(RegularHours, hours_over))Remove overage from REG
24SET(OTHours = ADD(OTHours, hours_over))Add overage to OT
25DONE