Pay rules determine how employees will be paid based on the days and number of hours they work. A single reported activity can be split into several classifications. For example, if an employee enters 10 hours on their timecard, the pay rules may post 8 regular hours and 2 overtime hours.
The classification of hours is based on the rules that are in the rulesets that are assigned to the Employee or Employee Group's Pay Policy. Each rule is expressed as an IF-THEN statement. The IF portion contains one or more conditions, and the THEN portion contains one or more actions. When the condition is met, the action is executed.
When you create rules, a combination of operands and operators make up the IF and THEN clauses. The combination of operands and operators must return a Boolean value or be a Boolean expression (True or False) in order for the rules to work. The IS operands will return a Boolean expression (True or False statement). The GET operands will return a value.
The following is a list of the available operands for the PayRulesRuleset.
This operand is available for a THEN clause. It adds hours to a Leave Type Code.
Parameters:
Hours = Enter the number of hours you want to add to the specified Balance Code (see below) or right-click and select another operand that will be used to get this number of hours.
Balance (Leave Type) Code = Select the Leave Type Code to which you want to add the Hours. Available options are defined on the Leave Type Code form.
Example:
IF clause: Get Eligible Hours(Pay Week, 40 Plus Get Authorized Hours(EWT Hours, Pay Week ), To Date) Greater Than 0
THEN clause: Set
Hours Classification(Get Eligible Hours(Pay Week, 40 Plus Get Authorized
Hours(EWT Hours, Pay Week), To Date ), C, False, False, False)
And Add
To Balance(Get Eligible Hours(Pay
Week, 40 Plus Get Authorized Hours( EWT Hours, Pay Week), To Date),
COMP)
This operand checks to see if all the days in a pay week or pay period have been worked.
A day is considered “worked” if it meets the Gap Day and Scheduled Day minimum values specified in the Pay Policy, as well as any event or hours class requirements in the Pay Policy (records in the Events and Hours Class tabs with the Context Name Consecutive Days).
If the day is a split day in a 9-80 schedule, this operand has separate parameters for determining the minimum hours required on the “worked half” and the “off half” of the day.
Parameters:
Consecutive Day Type = Indicates whether the operand will look at the days in the Pay Week or the Pay Period.
Worked Half Minimum Type = “Worked half” refers to the half of a split day in a 9-80 schedule for which the employee is scheduled to work and that is included in the current pay week.
This parameter checks to see that a minimum number of hours have been posted on the worked half of a split day; the number of hours is defined in the Worked Half Minimum Amount parameter. This minimum number of hours must also conform to any event or hours class requirements in the Pay Policy (records in the Events and Hours Class tabs with the Context Name Consecutive Days).
Select Amount Of Hours if you want the parameter to check for the number of hours specified in the Worked Half Minimum Amount parameter.
Select Percentage Of Schedule Hours if you want the parameter to check for a percentage of the hours specified in the Worked Half Minimum Amount parameter.
Worked Half Minimum Amount = This parameter, along with the Worked Half Minimum Type parameter, checks to see that a minimum number of hours has been posted on the worked half of a split day in a 9-80 schedule. This minimum number of hours must also conform to any event or hours class requirements in the Pay Policy (records in the Events and Hours Class tabs with the Context Name Consecutive Days).
If Worked Half Minimum Type is set to Amount Of Hours, enter the number of hours in this field.
If Worked Half Minimum Type is set to Percentage Of Scheduled Hours, enter the percentage of hours in this field.
Off Half Minimum Type = “Off half” refers to the half of a split day for which the employee is not scheduled to work and that is included in the current pay week.
This parameter checks to see that a minimum number of hours has been posted on the “off” half of a split day; the number of hours is defined in the Off Half Minimum Amount parameter. This minimum number of hours must also conform to any event or hours class requirements in the Pay Policy (records in the Events and Hours Class tabs with the Context Name Consecutive Days).
Select Amount Of Hours if you want the parameter to check for the number of hours specified in the Off Half Minimum Amount parameter.
Select Percentage Of Schedule Hours if you want the parameter to check for a percentage of the hours specified in the Off Half Minimum Amount parameter.
Off Half Minimum Amount = This parameter, along with the Off Half Minimum Type parameter, checks to see that a minimum number of hours has been posted on the “off” half of a split day in a 9-80 schedule. This minimum number of hours must also conform to any event or hours class requirements in the Pay Policy (records in the Events and Hours Class tabs with the Context Name Consecutive Days).
If Off Half Minimum Type is set to Amount Of Hours, enter the number of hours in this field.
If Off Half Minimum Type is set to Percentage Of Scheduled Hours, enter the percentage of hours in this field.
Include Optional Schedule = Indicates whether the operand will consider hours posted during an Optional schedule when determining if the minimum hours have been met. If this parameter is True, the operand will consider hours posted during an Optional schedule when determining if the minimum hours have been met. If this parameter is False, the operand will not consider hours posted during an Optional schedule when determining if the minimum hours have been met.
Include OT Schedule = Indicates whether the operand will consider hours posted during an Overtime schedule when determining if the minimum hours have been met. If this parameter is True, the operand will consider hours posted during an Overtime schedule when determining if the minimum hours have been met. If this parameter is False, the operand will not consider hours posted during an Overtime schedule when determining if the minimum hours have been met.
Example:
This rule is used to pay double-time for Sunday hours when all the days in the pay week have been worked.
IF:
Is Post Date Day Of Week (Post Date, Sunday)
And
All Range Worked (Pay Period, Amount
Of Hours, 4, Amount Of Hours, 0, True, True)
THEN
Set Hours Classification (Get Remaining Duration( ), D, False, False,
False)
The rule first checks to see if the post date is a Sunday and if so, the rule checks to see if all the non-split days in the pay period have been worked. A day is considered “worked” if it meets the Gap Day and Scheduled Day minimum values specified in the Pay Policy, as well as any event or hours class requirements in the Pay Policy (records in the Events and Hours Class tabs with the Context Name Consecutive Days).
The rule also checks to see if at least 4 hours have been posted on the worked half of any split days. If all these conditions are true, the Sunday hours get double-time.
The tables below show how this rule would be applied to the timecard of a person whose 9-80 schedule is from Friday P.M. to Friday A.M.
The employee has posted 4 hours on the worked half of the split Friday (Friday P.M.), 4 and 6 hours respectively on Saturday and Sunday, and 9 hours Monday – Thursday. The following Friday (Friday A.M.) is a day off.
Initially, the employee has 40 Regular hours and 10 Overtime hours.
|
Friday P.M. (worked day) |
Sat. |
Sun. |
Mon. |
Tues. |
Wed. |
Thurs. |
Friday A.M. (off day) |
Labor Hours |
4 R |
4 R |
6 R |
9 R |
9 R |
8 R 1 O |
9 O |
|
In order for the Sunday hours to get double-time, the RECALCULATION service has to run with the FORCE parameter set to Yes. This parameter will cause the service to process all the pay rules, even if the service does not detect a need for recalculation (for example if the hours on each day were entered chronologically and no adjustments were made). Running the RECALCULATION service with the FORCE parameter set to Yes will ensure that the All Range Worked parameter is processed and, in this example, the Sunday hours will receive double-time. As a result, the other hours classifications will also be recalculated. The timecard will then have 40 Regular hours, 5 Overtime hours, and 6 Double Time hours.
|
Friday P.M. (worked day) |
Sat. |
Sun. |
Mon. |
Tues. |
Wed. |
Thurs. |
Friday A.M. (off day) |
Labor Hours |
4 R |
4 R |
6 D |
9 R |
9 R |
9 R |
5 R 4 O |
|
This operand will sum all the hours that are “eligible” for EWT/Comp Time in the specified Date Range Type (i.e., the check may include future dates). Events are defined as “eligible” for EWT/Comp Time in the Pay Policy form (Events and Hours Class tabs). This operand considers transactions as they are presently classified because an hours classification is needed to determine the transaction’s eligibility for EWT/Comp Time. Newly created transactions for current or future postings may not have hours classifications, and therefore cannot be used to accurately determine eligibility for EWT/Comp Time.
This operand could be used in a ruleset that pays employees overtime for hours worked between 40 and 45 only if the employee works 45 hours or more. See Example 3 under "Configure the Pay Rules for EWT/Comp Time" in the EWT/Comp Time help topic.
Parameters:
Date Range Type = Determines if the range to find the hours is within the Posting Day (current post date), Pay Period (current pay period), or Pay Week (current pay week).
This operand gets a period of time that qualifies for a Late Event Premium. The operand’s parameters define this period of time. This operand is typically used with the Is Eligible For Late Event Premium operand in a different clause of the same rule.
Parameters:
Last Event Type1 = This parameter specifies the event type to look for when determining the Late Event Premium. Select Attendance (Meal), Attendance (Break), or Attendance (Outside Gap).
Last Event Type2 = If you want your Late Event Premium rule to consider more than one event type, select the second event type from this list. Otherwise, select None.
Last Event On = The default value is Previous Post Date. Select Current Post Date if your Late Event Premium is based on the same post date (e.g., if the premium is awarded when there is too much time between meals on the same day).
Late Threshold = Threshold after which the Last Event Type on the current date becomes late relative to the Last Event Type on the Last Event On. Enter a decimal number that defines this number of hours. For example, set the Late Threshold to 24 if you want 24 hours to pass between the end of the Lunch (Last Event Type) on the previous day (Last Event On) and the start of the Lunch (Last Event Type) on the current day.
Minimum Worked = Enter a decimal number that defines the minimum number of hours that must be worked between the end of the Last Event Type on the Last Event On date and the start of the Last Event Type on the current day. For example, set the Minimum Worked to 8 if you want the employee to have worked at least 8 hours from the end of yesterday’s lunch to the start of today’s lunch. The events that count toward this minimum are defined with the Late Event context in the Event, Event Types, and Hours Class tabs of the Pay Policy.
Example:
IF:
Is Eligible For Late Event Premium( Attendance ( Meal ), NONE, Previous
Post Date, 24, 8 )
THEN:
Set Hours Classification( Get Amount For Late Event Premium( Attendance
( Meal ), NONE, Previous Post Date, 24, 8 ), O, False, False, False
)
The IF operand checks to see if the time is eligible for the Late Event Premium. It checks to see if 24 hours have passed between the end of the Meal event on the Previous Post Date and the start of the Meal event on the current day. It also checks to see that at least 8 hours were worked between the end of the previous day’s Meal and the start of the current day’s Meal. If the Is Eligible For Late Event Premium operand is true, the THEN operand sets the hours classification to O (overtime).
This IF clause finds the amount of hours that were approved for EWT/Comp Time using the Authorized Hours form.
Parameters:
Hours Type = Type of authorized hours that this operand will select (EWT Hours or Comp Time Hours). EWT Hours refers to the Approved EWT in the Authorized Hours form. Comp Time Hours refers to the Approved Comp Time in the Authorized Hours form.
Date Range Type = Determines if the range to find the authorized hours is within the Posting Day (current post date), Pay Period (current pay period), or Pay Week (current pay week). You should set the Date Range Type to match the Extra Work Time and Comp Time settings in the Pay Policy.
Example:
Get Eligible Hours (Pay Period, 40 Plus Get Authorized Hours (EWT Hours, Pay Period), To Date) Greater Than 0
Finds the hours that have posted on the employee's timecard on a specific consecutive gap day (gap day 1, 2, 3, etc.) after a specific amount of hours have posted across the indicated consecutive gap days since the start of pay week or pay period.
For example, if the rule indicates that gap day number is 3 and hours is 10, then the system checks how many hours were posted on the 3rd consecutive gap day after the total hours posted on consecutive gap days 1, 2, and 3 add up to at least 10. The classification would post on consecutive gap day 3.
A gap day is a post date that:
Contains one or more schedules with a Gap Number > 0.
Contains no schedules at all or just schedules that do not require the person to work, such as Ad Hoc Placeholder, Availability, Exclusion and Optional (e.g., Overtime) schedules.
Parameters:
Start Option = Determines if the check should be at start of pay week or pay period. Select one of the options in the drop-down list.
Start of Pay Week = The check starts at start of current pay week.
Start of Pay Period = The check starts at start of current pay period.
Number of Days = Determines how many consecutive days to look for. Enter a whole number.
Threshold = Determines how many hours must have posted across the indicated consecutive gap days since the start of pay week or pay period before the check occurs. Enter a number or right-click to add an operand in order to calculate the value. Only hours beyond the indicated threshold will be returned.
Note that the Gap Day Minimum and Gap Day Min Amt settings in the person’s Pay Policy must be set to a value greater than zero. If these settings are zero and no events are posted on a day, that day will still count as a consecutive gap day.
This operand will sum the hours that are “eligible” for EWT/Comp Time over a specific Date Range Type and Timeblock. Events are defined as “eligible” for EWT/Comp Time in the Pay Policy form (Events and Hours Class tabs).
Parameters:
Date Range Type = Determines if the range to find the eligible hours is within the Posting Day (current post date), Pay Period (current pay period), or Pay Week (current pay week).
Min Hours = Specify the minimum number of eligible hours to get, or select one of the available operands to calculate this value.
Timeblock = Select To Date to find the hours in the specified Date Range Type up to the current date. Select Aggregate to find all the hours in the specified Date Range Type (i.e., the check may include future dates).
Example:
See Example 2 under Configure the Pay Rules for EWT/Comp Time in the "EWT and Comp Time" topic.
Finds any hours that were posted after the start of the day's earliest schedule. Only hours beyond the indicated threshold (the Hours parameter) will be returned.
Parameters:
Selection Type = Determines which schedule to consider as the day's earliest schedule. Normal Schedule Start selects the Normal schedule with the earliest start time. Schedule Start Include Overtime looks at Normal and Optional schedules with an Overtime Type and selects the one with the earliest start time. Schedule Start Exclude Overtime looks at Normal and Optional schedules without an Overtime Type and selects the one with the earliest start time.
Hours = Determines the number of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand to calculate the value.
Finds the hours that have passed since the employee's first clock in on the previous post date. This operand is intended for "24 hour" rules where a person is entitled to a premium because less than 24 hours have passed since the previous day’s clock in.
Parameters:
Clock In Type = Determines which type of clock in on the previous post date will be used to determine the hours that have passed since the clock in. If you select Action Clock In, the operand will look at the first clock in action on the previous post date, regardless of the person's schedule. If you select Scheduled Clock In, the operand will look at the start of the earliest Normal schedule on the previous post date.
Finds the hours that have passed since the employee's previous clock out.
Finds any hours that were posted after the end of the day's latest schedule. Only hours beyond the indicated threshold (the Hours parameter) will be returned.
Parameters:
Selection Type = Determines which schedule to consider as the day's latest schedule. Normal Schedule End selects the Normal schedule with the latest end time. Schedule End Include Overtime looks at Normal and Optional schedules with an Overtime Type and selects the one with the latest end time. Schedule End Exclude Overtime looks at Normal and Optional schedules without an Overtime Type and selects the one with the latest end time.
Hours = Number of hours that must post before the check occurs. Enter a whole number or right-click to add an operand to calculate the value. The operand will only return hours beyond this Hours threshold.
Finds the total number of hours that have received a specific hours classification within a post date, pay period, or pay week. Only hours beyond the indicated Threshold will be returned.
Parameters:
Threshold Type = Indicates whether the range to find the hours is within the post date (Post Date Threshold), pay period (Period Threshold), or pay week (Week Threshold).
Classification = Determines which hours classification to get. Available options are defined in the Hours Class Group form.
Threshold = Number of hours that must post before a check occurs. Only hours beyond this threshold will be returned. Enter a whole number or right-click to add an operand to calculate the value.
Timeblock = Select To Date if you want the operand to check for hours posted up until the current date. Select Aggregate if you want the operand to check the hours posted for the entire Threshold Type, (i.e., the check may include future dates).
Returns the hours posted before or after the start or end of the day’s applicable schedule. Only hours beyond the indicated threshold (the Hours parameter) will be returned.
Parameters:
Applicable Schedule = Indicates whether the operand will look for hour after the start or end of the applicable schedule, or before the start or end of the applicable schedule. Select After Applicable Schedule End, After Applicable Schedule Start, Before Applicable Schedule End, or Before Applicable Schedule Start.
Hours = Number of hours that must have posted before/after the applicable schedule start/end before the check occurs. Enter a whole number or right-click to add an operand to calculate the value. The operand will only return hours beyond this Hours threshold.
Finds any hours that were posted before the start of the day's earliest schedule. Only hours beyond the indicated threshold (the Hours parameter) will be returned.
Parameters:
Selection Type = Determines which schedule to consider as the day's earliest schedule. Normal Schedule Start selects the Normal schedule with the earliest start time. Schedule Start Include Overtime looks at Normal and Optional schedules with an Overtime Type and selects the one with the earliest start time. Schedule Start Exclude Overtime looks at Normal and Optional schedules without an Overtime Type and selects the one with the earliest start time.
Hours = Determines the number of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand to calculate the value.
Finds any hours that were posted before the end of the day's latest schedule. Only hours beyond the indicated threshold (the Hours parameter) will be returned.
Parameters:
Selection Type = Determines which schedule to consider as the day's latest schedule. Normal Schedule End selects the Normal schedule with the latest end time. Schedule End Include Overtime looks at Normal and Optional schedules with an Overtime Type and selects the one with the latest end time. Schedule End Exclude Overtime looks at Normal and Optional schedules without an Overtime Type and selects the one with the latest end time.
Hours = Number of hours that must post before the check occurs. Enter a whole number or right-click to add an operand to calculate the value. The operand will only return hours beyond this Hours threshold.
This IF clause finds hours that are eligible for EWT/Comp Time between two threshold amounts. Events are defined as “eligible” for EWT/Comp Time in the Pay Policy form (Events and Hours Class tabs).
Parameters:
Min Hours = Enter the minimum number of eligible hours to get, or right-click this parameter and select one of the available operands.
Max Hours = Enter the maximum number of eligible hours to get, or right-click this parameter and select one of the available operands.
Date Range Type = Determines if the range to find the hours is within the Pay Period, Pay Week, or Posting Day.
This operand finds the hours that have passed since the employee's first clock in over a given date range. This operand is the Get version of the Is Less Than Range of Last Clock In operand. This operand can be used in place of the Get Hours After Last Clock In operand.
Parameters:
Clock In Type = Determines which type of clock in on the date range (Range and Date Range Type parameters) will be used to determine the hours that have passed since the clock in. If you select Action Clock In, the operand will look at the first clock in action on the date range, regardless of the person's schedule. If you select Scheduled Clock In, the operand will look at the start of the earliest Normal schedule on the date range.
Range = A decimal value, measured in hours.
Date Range Type = Determines if the Range to find the hours that have passed since the Clock In Type is from the Previous Post Date or Current Post Date.
Example:
This operand gets the hours that passed in the 24 hours since the last Action Clock In on Previous Post Date:
Get Hours Less Than Range Of Last Clock In (Action Clock In, 24, Previous Post Date)
Typically this operand is used in a THEN clause with the Set Hours Classification operand when the Is Over Dynamic Consecutive Day Threshold operand is used in the IF clause. This operand will get the hours that need to be classified based on a number of consecutive days that have been worked. See Consecutive Day Pay Rules.
Parameters:
Cycle Option = Indicates whether the number of consecutive days will be based on a strict number of days or a cycle of days.
Strict – The operand will look for a strict number of consecutive days. The consecutive days begin on the first day after a day that does not meet the Consecutive Day requirements in the Pay Policy. The consecutive days continue for the number of days specified in the Day Number field. The operand will not start counting consecutive days again until it finds a day that does not meet the Consecutive Day requirements in the Pay Policy.
Cyclic – The operand will look for the number of consecutive days specified in the Cycle Size field. The consecutive days begin on the first day after a day that does not meet the Consecutive Day requirements in the Pay Policy. The consecutive days continue for the number of days in the cycle. If the following day also meet the Consecutive Day requirements in the Pay Policy, the consecutive day count will begin again.
Cycle Size = When consecutive days are determined based on a cycle, the Cycle Size specifies the length of this cycle. The Cycle Size should be an integer greater than one. This parameter is only used if the Cycle Option is Cyclic. If Cycle Option is Strict, the value you enter in the Cycle Size will be ignored.
Day Number = Number of consecutive days the operand will find. The Day Number should be an integer of 1 or greater. If your Cycle Option is Cyclic, do not enter a Day Number that is greater than the Cycle Size.
Overtime Bucket Type = Indicates whether the hours that count toward the Threshold (see below) should also count toward daily, weekly, or period overtime.
Daily Overtime Bucket Threshold – Only hours that count toward daily overtime (shown in the To Daily OT Duration column in the Transaction Duration form) will count toward the Threshold.
Weekly Overtime Bucket Threshold – Only hours that count toward weekly overtime (shown in the To Weekly Duration column in the Transaction Duration form) will count toward the Threshold.
Period Overtime Bucket Threshold – Only hours that count toward period overtime (shown in the To Pay OT Duration column in the Transaction Duration form) will count toward the Threshold.
Threshold = Determines the amount of hours that must post before a check for consecutive days occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Finds hours that have received a specific hours classification within a post date, period, or pay week. Only hours minus the indicated threshold will be returned.
Parameters:
Threshold Type = Determines if the range to find the Threshold hours is within the post date, pay period, or pay week.
Period Threshold - Checks the hours in the current period.
Post Date Threshold - Checks the hours on the post date.
Week Threshold - Checks the hours in the current pay week.
Classification = Indicates the hours classifications for which this operand will check. Available options are defined in the Hours Class Group form.
Threshold = Amount of hours that must post before a check occurs. Only hours less than the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
Aggregate - The check includes hours posted for the entire Threshold Type (i.e., the check may include future dates).
To Date - The check includes hours posted for the current post date.
Finds the total hours posted for a particular event within a specific time block. Only hours minus the indicated threshold will be returned.
Parameters:
Hours Threshold Type = Determines if the range to find the Threshold hours is within the post date, pay period, or pay week.
Period Hours Threshold - Checks the hours in the current period.
Post Date Hours Threshold - Checks the hours on the post date.
Week Hours Threshold - Checks the hours in the current pay week.
Event Name = Indicates the event for which this operand will check. Available options are defined in the Events form.
Threshold = Amount of hours that must post before a check occurs. Only hours less than the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
Aggregate - The check includes hours posted for the entire Hours Threshold Type (i.e., the check may include future dates).
To Date - The check includes hours posted for the current post date.
Returns hours that were not classified by any of the rules that were executed in the applicable ruleset.
This operand should be used to create a "Catch All Remaining" rule that classifies all remaining hours.
Parameters:
This operand has no parameters but you can click the button and select an operator.
Example:
IF Is Duration Not Exhausted( )
THEN Set Hours Classification (Get Remaining Duration( ), R, True,
True, True )
Returns posted hours in the specified range regardless of paid, unpaid, event, hours classification, schedule, etc. Only hours beyond the indicated threshold will be returned.
Parameters:
Hours Threshold Type = Determines where the check occurs. Select one of the options from the drop-down list:
Post Date Hours Threshold - Check only the current post date.
Weekly Hours Threshold - Check the current pay week.
Period Hours Threshold - Check the current pay period.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Finds the total hours posted for a particular event within a specific time block.
Parameters:
Hours Threshold Type = Determines where the check occurs. Select one of the options from the drop-down list:
Post Date Hours Threshold - Check only the current post date.
Weekly Hours Threshold - Check the current pay week.
Period Hours Threshold - Check the current pay period.
Event Name = Determines the event to check for. Select an option from the drop-down list.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Finds the total posted hours before or after a specific time on a specific day range, where "today" is the post date.
Parameters:
Before After Type = Indicates if the check is before or after the values listed in the Time of Day and Day Range parameters.
Time of Day = Indicates the exact time of day that is used when determining if the hours are before or after.
Day Range = Indicates which day to use when checking if the hours are before or after.
Yesterday - The check starts yesterday at the indicated time of day.
Today - The check starts today at the indicated time of day.
Tomorrow - The check starts tomorrow at the indicated time of day.
Finds total posted hours in the specified range that count toward overtime bucket. Only hours beyond the indicated threshold will be returned.
Parameters:
Overtime Bucket Type = Determines the time range that should be checked.
Daily Overtime Bucket Threshold - Check the daily overtime bucket.
Weekly Overtime Bucket Threshold - Check the overtime bucket in the pay week.
Period Overtime Bucket Threshold - Check the overtime bucket in the pay period.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Example:
In the following rule, if a person works more than 8 hours in a day, these hours are classified as overtime.
IF Is Total Hours To( Daily Overtime Bucket Threshold,
8, Aggregate )
THEN Set Hours Classification( Get Total Hours To( Daily Overtime Bucket
Threshold, 8, Aggregate ), O, True, False, False )
Finds the total of hours in the range that are ‘paid’, where ‘paid’ has an hour classification with a coefficient larger than 0.
Parameters:
Hours Threshold = Determines the time range that should be checked.
Post Date Hours Threshold - Check the post date.
Weekly Hours Threshold - Check the pay week.
Period Hours Threshold - Check the pay period.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Finds the total scheduled paid hours for the specified time block and range, where ‘paid’ has an hour classification with a coefficient larger than 0. Coefficients are configured in the Hours Class Group Details form.
Parameters:
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Range = Determines the time range that should be checked.
Posting Day - Check the post date.
Pay Week- Check the pay week.
Pay Period - Check the pay period.
Finds the total hours (in the range) that are unpaid where unpaid has a coefficient of 0. Coefficients are configured in the Hours Class Group Details form.
Parameters:
Hours Threshold = Determines the time range that should be checked.
Post Date Hours Threshold - Check the post date.
Weekly Hours Threshold - Check the pay week.
Period Hours Threshold - Check the pay period.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
This operand gets the difference between a Limit Amount and the available balance of a Balance Code. If this difference falls below zero, then the amount returned will be zero.
This operand may be used to limit the amount of Comp Time hours an employee earns. It will most likely be used with the Is Under Balance Available Limit operand in a different clause of the same rule. See Limit Comp Time During Event Posting for more information.
Parameters:
Balance Code = Select the Balance (Leave Type) Code you want to check. Available options are defined in the Leave Type Code form.
Limit Amount = Enter the balance limit you are checking.
Example:
Add To Balance( Min( Get Eligible Hours( Pay Period, Get Totals Scheduled Paid Hours( Aggregate, Pay Week ) Plus Get Authorized Hours( EWT Hours, Pay Week ), Aggregate ), Get Under Balance Available Limit( FLEXTIME, 8 ) ), FLEXTIME )
The above operand looks at the values returned from the Get Eligible Hours and Get Under Balance Available Limit operand and adds the lesser of these two values to the FLEXTIME balance.
Because the Get Under Balance Available Limit operand may return a value that is greater than or less than the required amount for Comp Time, this type of rule should use the Min() operand to return the lesser of these values.
The entire rule is shown below. This rule checks to see if the eligible and authorized Comp Time hours are greater than zero and that these hours are under the limit (8 hours, in this case) for the balance. If these conditions are met, the hours are added to the balance and given the classification “V.”
IF:
Get Eligible Hours( Pay Period, Get Totals Scheduled Paid Hours( Aggregate,
Pay Week ) Plus Get Authorized Hours( EWT Hours, Pay Week ), Aggregate
) Greater Than 0
And
Is Under Balance Available Limit(FLEXTIME, 8 )
THEN:
Add To Balance( Min( Get Eligible Hours( Pay Period, Get Totals Scheduled
Paid Hours( Aggregate, Pay Week ) Plus Get Authorized Hours( EWT Hours,
Pay Week ), Aggregate ), Get Under Balance Available Limit( FLEXTIME,
8 ) ), FLEXTIME )
And
Set Hours Classification( Min( Get Eligible Hours( Pay Period, Get
Totals Scheduled Paid Hours( Aggregate, Pay Week ) Plus Get Authorized
Hours( EWT Hours, Pay Week ), Aggregate ), Get Under Balance Available
Limit( FLEXTIME, 8 ) ), V, False, False, False)
Checks if the current post date is a Gap Day. A gap day is a post date that:
Contains one or more schedules with a Gap Number > 0.
Contains no schedules at all or just schedules that do not require the person to work, such as Ad Hoc Placeholder, Availability, Exclusion, Overtime, and Optional normal schedules.
Checks if the current post date has a schedule with the indicated Gap Day number.
A gap day is a post date that:
Contains one or more schedules with a Gap Number > 0.
Contains no schedules at all or just schedules that do not require the person to work, such as Ad Hoc Placeholder, Availability, Exclusion and Optional normal schedules.
Contains only Overtime schedules.
Parameters:
Gap Day Number = Indicates the gap day number to check for. Enter a numeric value.
Checks if the indicated hours have posted since the day’s ‘Earliest Schedule’ start.
Parameters:
Selection Type = Determines what to consider as the earliest schedule. Select one of the options in the drop-down list:
Normal Schedule Start - only normal schedules are considered.
Schedule Start Include Overtime - normal, optional and overtime schedules are considered.
Schedule Start Exclude Overtime - normal and optional, non-overtime schedules are considered.
Hours = Determines the amount of hours to check for.
Checks if the indicated hours have posted since the day's "Latest Schedule" end time.
Parameters:
Selection Type = Determines what to consider as the latest schedule. Select one of the options in the drop-down list:
Normal Schedule End - only normal schedules are considered.
Schedule End Include Overtime - normal, optional and overtime schedules are considered.
Schedule End Exclude Overtime - normal and optional, non-overtime schedules are considered.
Hours = Determines the amount of hours to check for.
Checks if there are any hours posted on a day with a Normal or Optional non-over time schedule and the hours are later than the non-overtime schedules.
Checks to see if a particular Balance (Leave Type) Code is valid. The operand compares the post date of the transaction with the Start and End Dates of the Balance Code in the person’s Balance record. For example, the operand Is Balance Valid (COMP) checks to see if the person who posted the transaction has a Person Balance record for the COMP Balance Code, and the transaction’s post date falls within the Start and End Dates of this Person Balance record.
Typically, this operand is used in a rule that accumulates time toward a particular balance. For example:
IF
Is Event Name (DAY_WORKED_COMP)
And
Is Balance Valid (COMP)
THEN
Set Hours Classification (Get Remaining Duration( ), C, False, False,
False)
And
Add To Balance (Get Remaining Duration( ), COMP)
Parameters:
Balance Code = Select the Balance Code that will be checked. Available options are defined in the Leave Type Code form.
Checks if there are any transactions posted a certain amount of hours before or after the applicable schedule start or end.
Parameters:
Applicable Schedule = Determines where to start looking for hours. Select one of the options in the drop-down list:
Before Applicable Schedule Start
After Applicable Schedule Start
Before Applicable Schedule End
After Applicable Schedule End
Hours = Determines how many hours to check for. Enter a whole number or right-click to add an operand in order to calculate the value.
Checks if there are any transactions posted a certain amount of hours before the day’s ‘Earliest Schedule’ start.
Parameters:
Selection Type = Determines which schedule to consider as the day's earliest schedule.
Normal Schedule Start - Only normal schedules are considered.
Schedule Start Include Overtime - Normal, optional and overtime schedules are considered.
Schedule Start Exclude Overtime - Normal and optional, non-overtime schedules are considered.
Hours = Determines how many hours to check for. Enter a whole number or right-click to add an operand in order to calculate the value.
Checks if there are any transactions posted a certain amount of hours before the day’s "Latest Schedule" end time.
Parameters:
Selection Type = Determines which schedule to consider as the day's earliest schedule.
Normal Schedule End - Only normal schedules are considered.
Schedule End Include Overtime - Normal, optional and overtime schedules are considered.
Schedule End Exclude Overtime - Normal and optional, non-overtime schedules are considered.
Hours = Determines how many hours to check for. Enter a whole number or right-click to add an operand in order to calculate the value.
Checks for a certain number of gap days in successive order in the pay week or pay period.
Parameters:
Start Option = Determines where the count of consecutive gap days starts (Start Of Pay Week or Start Of Pay Period).
Number of Days = Determines the number of consecutive gap days for which the rule will check.
Note that the Gap Day Minimum and Gap Day Min Amt settings in the person’s Pay Policy must be set to a value greater than zero. If these settings are zero and no events are posted on a day, that day will still count as a consecutive gap day.
Checks for a certain number of days (scheduled or gap) in successive order in the pay week or pay period.
Parameters:
Start Option = Determines where the count of consecutive days (either scheduled or gap) starts (Start Of Pay Week or Start Of Pay Period).
Number of Days = Determines the number of consecutive days (either scheduled or gap) for which the rule will check.
Note that the Gap Day Minimum, Gap Day Min Amt, Sch Day Minimum, and Sch Day Min Amt settings in the person’s Pay Policy must be set to a value greater than zero. If these settings are zero and no events are posted on a day, that day will still count as a consecutive gap or scheduled day.
This operand checks for a specific day number in a range of consecutive days (scheduled or gap) in the person’s assigned Schedule Cycle.
Because a Schedule Cycle can start and end outside a pay week or pay period, and have any number of days, this operand is needed to determine how the consecutive days should be counted based on a Schedule Cycle.
A day is counted as a consecutive day if it meets the Gap Day and Scheduled Day minimum values specified in the Pay Policy, as well as any event or hours class requirements in the Pay Policy (records in the Events and Hours Class tabs with the Context Name Consecutive Days).
Note: As with the other Consecutive Day Pay Rules, the Posting Marking setting in your Recalculation Policy should be set to Day and Forward to ensure the consecutive days are processed correctly.
Parameters:
Start Option = Select Schedule Cycle. Indicates that the check for consecutive days begins at the start of the person’s assigned Schedule Cycle.
Number of Days = This parameter specifies which consecutive day the operand needs to check. For example, enter 7 if you want the operand to check for the 7th consecutive day. If you enter zero or a negative number, the operand will return a value of false.
Cycle Option = This parameter determines how the operand will count the consecutive days from the start of the Schedule Cycle. Select Cyclic or Strict.
If you select Cyclic, the operand counts the consecutive days beginning with the start of the person’s Schedule Cycle and continuing for the number of days specified in the Cycle Size. The example below uses the Cyclic option. You need to specify the Cycle Size if your Cycle Option is Cyclic.
If you select Strict, the operand will counts the consecutive days beginning with the start of the person’s Schedule Cycle and continuing up to the day number specified in the Number of Days parameter.
Cycle Size = This parameter is only needed if you select Cyclic as the Cycle Option. This parameter defines the length of the cycle that the operand will examine when counting the consecutive days. It does not define the size of the Schedule Cycle. If you enter zero or a negative number for the Cycle Size and the Cycle Option is Cyclic, the operand will return a value of false.
IF:
Is Consecutive Days With Cycle( Schedule Cycle, 7, Cyclic, 7 )
THEN:
Set Hours Classification( Get Remaining Duration( ), D, False, False,
False )
The rule above is used to pay double-time to a person on the 7th consecutive day in a range of days that occurs cyclically beginning with the start of the person’s Schedule Cycle and continuing for 7 days. All 7 days must be worked (meet the Gap Day and Scheduled Day minimum values as well as any event or hours class requirements in the Pay Policy) for the person to be paid double-time.
In the example below, the person’s Schedule Cycle and pay period start on different days. The pay period is Monday – Sunday and begins on Monday June 29. The Schedule Cycle is 14-days long and begins on Wednesday July 1. The Is Consecutive Days With Cycle operand is looking for the 7th consecutive day in a range of days that begins at the start of the Schedule Cycle and continues cyclically for 7 days.
The Is Consecutive Days With Cycle operand starts counting the consecutive days from the first day of the Schedule Cycle. In this example, that day is Wednesday July 1. The 7th day in this Schedule Cycle is Tuesday July 7. Because all 7 days in this Schedule Cycle have been worked, the person will receive double-time for those hours.
The operand repeats this count cyclically for 7-day increments. The next time the person will be eligible for consecutive day double-time pay will be Tuesday July 14.
Week 1 |
Mon. June 29 |
Day Off |
Day 1 of Pay Period |
Day 13 of Schedule Cycle |
|
Tues. June 30 |
Day Off |
Day 2 of Pay Period |
Day 14 of Schedule Cycle |
|
Wed. July 1 |
8 hours worked |
Day 3 of Pay Period |
Day 1 of Schedule Cycle (Start of Schedule Cycle) |
|
Thurs. July 2 |
8 hours worked |
Day 4 of Pay Period |
Day 2 of Schedule Cycle |
|
Fri. July 3 |
8 hours worked |
Day 5 of Pay Period |
Day 3 of Schedule Cycle |
|
Sat. July 4 |
8 hours worked |
Day 6 of Pay Period |
Day 4 of Schedule Cycle |
|
Sun. July 5 |
8 hours worked |
Day 7 of Pay Period |
Day 5 of Schedule Cycle |
Week 2 |
Mon. July 6 |
8 hours worked |
Day 1 of Pay Period |
Day 6 of Schedule Cycle |
|
Tues. July 7 |
8 hours worked |
Day 2 of Pay Period |
Day 7 of Schedule Cycle Person will receive Double-Time for these hours because the days from Wednesday July 1 to Tuesday July 7 met the Consecutive Day requirements. |
|
Wed. July 8 |
|
Day 3 of Pay Period |
Day 8 of Schedule Cycle |
|
Thurs. July 9 |
|
Day 4 of Pay Period |
Day 9 of Schedule Cycle |
|
Fri. July 10 |
|
Day 5 of Pay Period |
Day 10 of Schedule Cycle |
|
Sat. July 11 |
|
Day 6 of Pay Period |
Day 11 of Schedule Cycle |
|
Sun. July 12 |
|
Day 7 of Pay Period |
Day 12 of Schedule Cycle |
Week 3 |
Mon. July 13 |
|
Day 1 of Pay Period |
Day 13 of Schedule Cycle |
|
Tues. July 14 |
|
Day 2 of Pay Period |
Day 14 of Schedule Cycle Person will be eligible for double-time for the 7 days from Wednesday July 8 to Tuesday July 14. |
Checks for a certain amount of unscheduled gap days in successive order in the pay week or pay period.
Parameters:
Options = Determines if the check should stop at a scheduled gap day, or if the scheduled gap day should be ignored.
Start Option (Consecutive Start Option) = Determines if the check start at the start of pay week or pay period.
Number of Days = Determines the amount of consecutive, unscheduled gap days to check for.
Note that the Gap Day Minimum and Gap Day Min Amt settings in the person’s Pay Policy must be set to a value greater than zero. If these settings are zero and no events are posted on a day, that day will still count as a consecutive gap day.
Checks if there are additional consecutive gap day hours posted beyond the entered amount for a specific amount of consecutive gap days since the start of pay week or pay period.
Parameters:
Start Option (Consecutive Start Option) = Determines if the check start at the start of pay week or pay period.
Number of Days = Determines the amount of consecutive, unscheduled gap days to check for.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Note that the Gap Day Minimum and Gap Day Min Amt settings in the person’s Pay Policy must be set to a value greater than zero. If these settings are zero and no events are posted on a day, that day will still count as a consecutive gap day.
Checks for a certain amount of scheduled days (no gap) in successive order in the pay week or pay period.
Parameters:
Options (Scheduled Gap Day Options) = Determines if the check should stop at a gap day, or if the gap day should be skipped (ignored).
Start Option (Consecutive Start Option) = Determines if the check begins at the start of pay week or pay period.
Number of Days = Determines the amount of consecutive, scheduled days to check for.
Note that the Sch Day Minimum and Sch Day Min Amt settings in the person’s Pay Policy must be set to a value greater than zero. If these settings are zero and no events are posted on a day, that day will still count as a consecutive scheduled day.
Checks if there are any posted hours that have not been classified by the rules that were executed in the applicable ruleset.
Note: This operand should be used to create a "Catch All Remaining" rule that classifies all remaining hours.
This operand checks to see if a specified number of consecutive days have passed that meet the Consecutive Day requirements in the Pay Policy. The consecutive days do not have to be in the same pay week or pay period. See Consecutive Day Pay Rules.
Parameters:
Cycle Option = Indicates whether the number of consecutive days will be based on a strict number of days or a cycle of days.
Strict – The operand will look for a strict number of consecutive days. The consecutive days begin on the first day after a day that does not meet the Consecutive Day requirements in the Pay Policy. The consecutive days continue for the number of days specified in the Day Number field. The operand will not start counting consecutive days again until it finds a day that does not meet the Consecutive Day requirements in the Pay Policy.
Cyclic – The operand will look for the number of consecutive days specified in the Cycle Size field. The consecutive days begin on the first day after a day that does not meet the Consecutive Day requirements in the Pay Policy. The consecutive days continue for the number of days in the cycle. If the following day also meet the Consecutive Day requirements in the Pay Policy, the consecutive day count will begin again.
Cycle Size = When consecutive days are determined based on a cycle, the Cycle Size specifies the length of this cycle. The Cycle Size should be an integer greater than one. This parameter is only used if the Cycle Option is Cyclic. If Cycle Option is Strict, the value you enter in the Cycle Size will be ignored.
Day Number = Number of consecutive days the operand will find. The Day Number should be an integer of 1 or greater. If your Cycle Option is Cyclic, do not enter a Day Number that is greater than the Cycle Size.
This operand checks to see if a period of time qualifies for a Late Event Premium. The operand’s parameters define this period of time. This operand is typically used with the Get Amount For Late Event Premium operand in a different clause of the same rule.
Parameters:
Last Event Type1 = This parameter specifies the event type to look for when determining the Late Event Premium. Select Attendance (Meal), Attendance (Break), or Attendance (Outside Gap).
Last Event Type2 = If you want your Late Event Premium rule to consider more than one event type, select the second event type from this list. Otherwise, select None.
Last Event On = The default value is Previous Post Date. Select Current Post Date if your Late Event Premium is based on the same post date (e.g., if the premium is awarded when there is too much time between meals on the same day).
Late Threshold = Threshold after which the Last Event Type on the current date becomes late relative to the Last Event Type on the Last Event On. Enter a decimal number that defines this number of hours. For example, set the Late Threshold to 24 if you want 24 hours to pass between the end of the Lunch (Last Event Type) on the previous day (Last Event On) and the start of the Lunch (Last Event Type) on the current day.
Minimum Worked = Enter a decimal number that defines the minimum number of hours that must be worked between the end of the Last Event Type on the Last Event On date and the start of the Last Event Type on the current day. For example, set the Minimum Worked to 8 if you want the employee to have worked at least 8 hours from the end of yesterday’s lunch to the start of today’s lunch. The events that count toward this minimum are defined with the Late Event context in the Event, Event Types, and Hours Class tabs of the Pay Policy.
Example:
IF:
Is Eligible For Late Event Premium( Attendance ( Meal ), NONE, Previous
Post Date, 24, 8 )
THEN:
Set Hours Classification( Get Amount For Late Event Premium( Attendance
( Meal ), NONE, Previous Post Date, 24, 8 ), O, False, False, False
)
The IF operand checks to see if the time is eligible for the Late Event Premium. It checks to see if 24 hours have passed between the end of the Meal event on the Previous Post Date and the start of the Meal event on the current day. It also checks to see that at least 8 hours were worked between the end of the previous day’s Meal and the start of the current day’s Meal. If the Is Eligible For Late Event Premium operand is true, the THEN operand sets the hours classification to O (overtime).
Checks for a specific event by name.
Parameters:
Event Name = Determines which event will receive the pay classification specified by this rule. The available options are defined in the Events form.
Checks for a specific event type.
Parameters:
Event Type = Determines which event type will receive the pay classification specified by this rule. You can select an Attendance, Labor, Location, or Material event type. See Event Type for more information on these options.
Checks if there are posted transactions earlier in the day than a Normal or Optional non-overtime schedule.
Note: The Front schedule does not necessarily have to be adjacent to the non-overtime schedule. For example: Time reporter’s Normal schedule is 0700 – 1530. A Front schedule on that same post date could be 0400 – 0600.
Checks if the current post date has a holiday Overtime schedule. If the time reporter must come in on a holiday they may receive a holiday overtime schedule. It will usually overlap or be identical to the Normal schedule on the post date.
Checks if a certain amount of hours have been classified a certain pay rate within a post date, week, or period.
Parameters:
Threshold Type = Determines if the range to find the hours is within the post date, pay period, or pay week. Select one option from the drop-down list.
Post Date Threshold - Checks the post date.
Period Threshold - Checks the current period.
Week Threshold - Checks the current pay week.
Classification = Determines which classification to look for. The default options are:
D - Double Time
O - Time and a Half Overtime
R - Regular Time
U - Unpaid Time
W - Weekly Overtime
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
This IF clause Boolean operand checks to see if the hours that have passed since the employee's first clock in is within the given date range.
This operand can be used in place of the Get Hours After Last Clock In operand.
Parameters:
Clock In Type = Determines where the clock in occurred. Select an option from the drop-down list:
Action Clock In - First clock in action, regardless of schedule over a date range.
Scheduled Clock In - Start of the earliest Normal schedule over a date range.
Range = A decimal value, measured in hours.
Date Range Type = Determines if the range to find the hours that have passed since the employee's first clock in is within the previous post date or current post date. Select an option from the drop-down list:
Previous Post Date – Checks the previous post date.
Current Post Date – Checks the current post date.
Example:
This rule classifies time as overtime if the prior clock in occurred in less than 24 hours.
IF Is Less Than Range Of Last Clock In( Action Clock
In, 24, Previous Post Date )
THEN Set Hours Classification( Min( Get Hours Less Than Range Of Last
Clock In( Action Clock In, 24, Previous Post Date ), Get Remaining
Duration( ) ), O, False, True, False )
This operand checks to see if a specified number of consecutive days have passed after a threshold number of hours have been worked. The consecutive days do not have to be in the same pay week or pay period. See Consecutive Day Pay Rules.
Parameters:
Cycle Option = Indicates whether the number of consecutive days will be based on a strict number of days or a cycle of days.
Strict – The operand will look for a strict number of consecutive days. The consecutive days begin on the first day after a day that does not meet the Consecutive Day requirements in the Pay Policy. The consecutive days continue for the number of days specified in the Day Number field. The operand will not start counting consecutive days again until it finds a day that does not meet the Consecutive Day requirements in the Pay Policy.
Cyclic – The operand will look for the number of consecutive days specified in the Cycle Size field. The consecutive days begin on the first day after a day that does not meet the Consecutive Day requirements in the Pay Policy. The consecutive days continue for the number of days in the cycle. If the following day also meet the Consecutive Day requirements in the Pay Policy, the consecutive day count will begin again.
Cycle Size = When consecutive days are determined based on a cycle, the Cycle Size specifies the length of this cycle. The Cycle Size should be an integer greater than one. This parameter is only used if the Cycle Option is Cyclic. If Cycle Option is Strict, the value you enter in the Cycle Size will be ignored.
Day Number = Number of consecutive days the operand will find. The Day Number should be an integer of 1 or greater. If your Cycle Option is Cyclic, do not enter a Day Number that is greater than the Cycle Size.
Overtime Bucket Type = Indicates whether the hours that count toward the Threshold (see below) should also count toward daily, weekly, or period overtime.
Daily Overtime Bucket Threshold – Only hours that count toward daily overtime (shown in the To Daily OT Duration column in the Transaction Duration form) will count toward the Threshold.
Weekly Overtime Bucket Threshold – Only hours that count toward weekly overtime (shown in the To Weekly Duration column in the Transaction Duration form) will count toward the Threshold.
Period Overtime Bucket Threshold – Only hours that count toward period overtime (shown in the To Pay OT Duration column in the Transaction Duration form) will count toward the Threshold.
Threshold = Determines the amount of hours that must post before a check for consecutive days occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Checks if the current post date has overtime transactions without a Normal or Optional non-overtime schedule.
Checks if the time reporter's birthday occurs on the day identified in the "Weekday Options" parameter.
Parameters:
Weekday Options = Determines which day to check for the birthday. Select one if the options in the drop-down list:
Post Date - the birthday is on the post date.
Day Before Post Date - the birthday is on the day before the post date.
Day After Post Date - the birthday is on the day after the post date.
Example:
An employee's birthday is Sunday, August 8. We want a rule to fire the day before the employee's birthday.
The IF statement would look like this:
Is Post Date Birthday(Day After Post Date)
The rule would fire when hours post on Saturday, August 7, because that is when the birthday occurs on the day after the post date.
Checks if the identified Weekday (Mon-Sun) occurs on the day identified in the Weekday Options parameter.
Parameters:
Weekday Options = Determines which day to check for the weekday. Select one if the options in the drop-down list:
Post Date - the weekday is on the post date.
Day Before Post Date - the specified week day occurred on the day before the post date.
Day After Post Date - the specified week day occurs on the day after the post date.
Weekday = Determines which day to check for. Select a weekday from the drop-down list.
Example:
If we set the day to "Day Before Post Date" and week day to "Friday," then the IF statement would look like this:
IsPostDateDayofWeek(Day Before Post Date, Friday)
The rule would fire when hours post to the timecard on Saturday, because that is when the day before the post date is Friday.
Checks if the identified day is a holiday defined in the person's Holiday Calendar.
Parameters:
Weekday Options = Determines which day to check for the holiday. Select Post Date if the holiday occurs on the post date. Select Day Before Post Date or Day After Post Date if the holiday occurred the day before or the day after the post date.
For example, a holiday occurs on Friday, March 26. You want the rule to check for the holiday on Saturday, March 27. The IF statement would be:
Is Post Date Holiday(Day Before Post Date)
When hours post to the timecard on March 27, the above operand will check for a holiday because the rule is configured to check the day before the post date for a holiday.
Checks if the posted time stamp is before/after the specified time stamp and day, where "day" can be yesterday, today, or tomorrow.
Parameters:
Before After Type = Indicates if the check is before or after the values listed in the Time of Day and Day Range parameters. Select before or After in the drop-down list.
Time of Day = Indicates the exact time of day that is used when determining if the hours are before or after.
Day Range = Indicates which day to use when checking if the hours are before or after.
Yesterday - The check starts yesterday at the indicated time of day.
Today - The check starts today at the indicated time of day.
Tomorrow - The check starts tomorrow at the indicated time of day.
Checks if the amount of hours posted in the specified range add up to the amount that is specified in the threshold (regardless of paid, unpaid, event, hours classification, schedule, etc.).
Parameters:
Hours Threshold Type = Determines if the range to find the hours is within the post date, pay period, or pay week. Select one option from the drop-down list.
Post Date Hours Threshold - checks the post date.
Weekly Hours Threshold - checks the current pay week.
Period Hours Threshold - checks the current period.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Checks if the total hours charged to a specific event during a specific range meets a certain amount of hours. Only hours beyond the indicated threshold will be returned.
Parameters:
Hours Threshold Type = Determines if the range to find the hours is within the post date, pay period, or pay week. Select one option from the drop-down list.
Post Date Hours Threshold - checks the post date
Weekly Hours Threshold - checks the current pay week
Period Hours Threshold - checks the current period
Event Name = Determines the event to check for. Select an option from the drop-down list.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Checks if the total posted hours in the specified range are in the overtime bucket.
Parameters:
Overtime Bucket Type = Determines if the range to find the hours is within the post date, pay period, or pay week. Select one option from the drop-down list.
Daily Overtime Bucket Threshold - checks the post date.
Weekly Overtime Bucket Threshold - checks the current pay week.
Period Overtime Bucket Threshold - checks the current period.
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Checks if the total hours in the range are ‘paid’, i.e., an hour classification with a coefficient larger than 0. Coefficients are configured in the Hours Class Group Details form.
Parameters:
Hours Threshold Type = Determines if the range to find the hours is within the post date, pay period, or pay week. Select one option from the drop-down list.
Post Date Hours Threshold - checks the post date
Weekly Hours Threshold - checks the current pay week
Period Hours Threshold - checks the current period
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
Checks if the total hours in the range are unpaid, where unpaid has a coefficient of 0. Coefficients are configured in the Hours Class Group Details form.
Parameters:
Hours Threshold Type = Determines if the range to find the hours is within the post date, pay period, or pay week. Select one option from the drop-down list.
Post Date Hours Threshold - checks the post date
Weekly Hours Threshold - checks the current pay week
Period Hours Threshold - checks the current period
Threshold = Determines the amount of hours that must post before a check occurs. Only hours beyond the indicated threshold will be returned. Enter a whole number or right-click to add an operand in order to calculate the value.
Timeblock = Determines if the check is for hours posted up until the current date, or if future scheduled hours are to be included.
To Date = The check includes hours posted for the current post date.
Aggregate - The check includes hours posted for the entire threshold type, (i.e., the check may include future dates).
This operand checks to see if the available balance for a particular Leave Type Code is under a specified limit. The available balance is the Carryover + Earned – Used Paid – Used Unpaid hours in the balance.
This operand may be used to limit the amount of Comp Time hours an employee earns. It will most likely be used with the Get Under Balance Available Limit operand in a different clause of the same rule. See Limit Comp Time During Event Posting for more information.
Parameters:
Balance Code = Select the Balance Code you want to check. Available options are defined in the Leave Type Code form.
Limit Amount = Enter the balance limit you are checking. The operand will check to see that the available balance for the specified Balance Code is under this limit.
Example:
Is Under Balance Available Limit(FLEXTIME, 8 )
The above operand checks to see if the available balance for the FLEXTIME Balance Code is less than 8.
See Get Under Balance Available Limit for an example of a rule containing this operand.
This operand checks to see if the event is a paid event or an unpaid event, based on the event's PAY_INDICATOR setting.
If the event does not have a value for the PAY_INDICATOR setting, or if the PAY_INDICATOR setting is PAID, the event will be considered a Paid event.
If the event's PAY_INDICATOR setting is UNPAID, the event will be considered an Unpaid event.
If the event's PAY_INDICATOR setting is PAID_WITH_BALANCE and there are not enough hours in the event's Leave Type Code to cover the event, the event will be considered an Unpaid event.
If the event is unpaid, it will typically be assigned an hours classification specified in the THEN clause for the rule. Refer to the example below.
Example:
This rule checks to see if the event is an Unpaid event (based on the PAY_INDICATOR setting as explained above). If it is an Unpaid event, the event's hours classification will be set to U.
IF Is Unpaid Event ()
THEN Set Hours Classification (Get Remaining Duration( ), U, False,
False, False)
Checks to see if the amount exceeds a specified maximum value. Can be used in a rule that selects from the maximum of two values.
Checks to see if the amount is at least a specified minimum value. Can be used in a rule that selects from the minimum of two values.
Use this operand to select a value that is the opposite of a specified value.
Parameters:
Value = Enter a value in this field or right-click and choose an operand to calculate this value.
For example, use the operand Not (Is Event Type (Labor (Project))) to specify an event type other than project labor.
This operand is used in a THEN clause to set the output value according to the amount of hours and classification listed in the parameters.
This operand should be used to create a "Catch All Remaining" rule that classifies all remaining hours.
Parameters:
Hours Amount - Determines the amount of hours to post. Enter an hourly amount or right-click to add an operand to calculate the value.
Classification - Determines the classification for the Hours Amount. The options are the hours classification listed in the time reporter's hours class group.
To Daily Overtime - Determines if the hours count to daily overtime or not. Select True if the hours count towards Daily Overtime. Select False if they do not.
To Weekly Overtime - Determines if the hours count towards weekly overtime or not. Select True if the hours count towards Weekly Overtime. Select False if they do not.
To Period Overtime - Determines if the hours count towards period overtime or not. Select True if the hours count towards Period Overtime. Select False if they do not.
Note: In order for an event’s hours to count toward daily, weekly, or period overtime, the event must have the corresponding COUNTS_TO_OVERTIME Event Setting enabled. For example, if you want an event to count toward daily overtime, set the event’s COUNTS_TO_DAILY_OT setting to Counts to OT. These event settings must be configured in addition to setting the To Daily Overtime, To Weekly Overtime, and To Period Overtime parameters to True.
The True operand always returns a value of True. For example, to make sure that a rule is executed in all circumstances, create an IF clause with only the True operand.
If an employee posts hours on the timecard that do not trigger any pay rules, there will be no pay classification for those hours on the timecard. Therefore, it is important that you include a rule to your rulesets that takes into account any hours that have not been classified by any of the previously executed rules in the applicable ruleset. The operands that can be used to get and classify all remaining hours to a single hours class are Is Duration Not Exhausted, Get Remaining Duration, and Set Hours Classification.
Note: It is recommended that the ‘Catch All Remaining’ rule is listed as the last rule to be executed in the ruleset, as you want it to catch only the remaining hours, i.e., the hours that have not been classified by the previously executed rules.
See the steps below on how to create a rule that catches the remaining hours.
Click Main Menu > Configuration > Rules > Calc Rule.
Select PayRulesRuleset from the Context Name field.
Click Add.
In the Rule Name field, enter a Rule Name.
Click Add IF Clause. The IF Clause window appears.
Click Select Operand and select Is Duration Not Exhausted from the drop down menu.
Click Save.
Click Add THEN Clause. The THEN Clause window appears.
Click Select Operand and select Set Hours Classification.
Right-click the Hours Amount field and select Get Remaining Duration from the Add Operand menu.
Click Classification and select the classification you want to use for all hours that have not yet been classified (for the day). For Regular Time, select R.
Click To Daily Overtime and select True if the hours count towards Daily Overtime. Select False if they do not.
Click To Weekly Overtime and select True if the hours count towards Weekly Overtime. Select False if they do not.
Click To Period Overtime and select True if the hours count towards Period Overtime. Select False if they do not.
Click Save on the THEN Clause form.
Click Save on the Calc Rule Builder form to save the rule.
Next, you must add the rule to a ruleset in order for it to take effect.
Note: It is recommended that this rule is listed as the last rule to be executed, as you want it to catch only the remaining hours, i.e., the hours that have not been affected by the previously executed rules.