Standard Pay Formulas

The following tables are descriptions of the standard pay formulas included with Track. Black texts are the explanation of a pay formula. Red texts indicate the actual pay formula language. If user copy and paste the standard pay formula texts into the Formula Text text box at the Pay Formula screen, ensure there is at least one blank line at the end of the pay formula after the word "stop;".

 

CUM R15 OT>40

cumulative net time, rounded to nearest 15 minutes, pay overtime after 40 hours, with a lunch deduction

|Record the Early Time Not Paid
|Set "early time not paid" to 0 if person clocks in more than 75 minutes before
|scheduled time; the time clocked in before scheduled time becomes part of net time.
|If not, "early time not paid" is set to time clocked in before scheduled time in.

Time("EARLY TIME NOT PAID")=@If(@TIMEBEFORESCH>75,0,@TIMEBEFORESCH);

 

|Net time is set to time on site less the "early time not paid".
Time("NetMinTemp")=@TimeOnSite - Time("EARLY TIME NOT PAID");

 

|Record the Late Time Not Paid
|Set "late time not paid" to 0 if person clocks out more than 30 minutes after
|scheduled time; the time clocked out after scheduled time becomes part of net time.
|If not, "late time not paid" is set to time clocked out after scheduled time out.
Time("LATE TIME NOT PAID")=@If(@TIMEAFTERSCH>30,0,@TIMEAFTERSCH);

 

|Net time is set to net time less the "late time not paid".
Time("NetMinTemp")=Time("NetMinTemp") - Time("LATE TIME NOT PAID");

 

|Calculate Late In Time
|If net time is greater than 15 minutes then round up "late in time" (difference in
|minutes between "time clocked in" and "scheduled time in") to nearest 15 minute
|increment. Subtract from this the actual "late in time" to calculate difference.
|"Dock late in time" is set to difference.
Time("DOCK LATE IN TIME")=@If(Time("NetMinTemp") > 15,
@ROUND(@LATEINTIME,15,1) - @LATEINTIME, 0);

 

|Also Early Out Time
|If net time is greater than 15 minutes then round up "early time out" (difference in
|minutes between "time clocked out" and "scheduled time out") to nearest 15 minute
|increment. Subtract from this the actual "early time out" to calculate difference.
|"Dock early out time" is set to difference.
Time("DOCK EARLY OUT TIME")=@If(Time("NetMinTemp") > 15,
@ROUND(@EARLYOUTTIME,15,1) - @EARLYOUTTIME, 0);

 

|Net Time
|Net time is set to net time less "dock early out time" less "dock late in time".
Time("NetMinTemp")=((Time("NetMinTemp") - Time("DOCK EARLY OUT TIME")) - Time("DOCK LATE IN TIME"));

 

|Lunch deduction
|If "time on site" is greater than 315 minutes (5 ¼ hours) then deduct scheduled lunch
|break from net time.
Time("LUNCH DEDUCTION")=@If(@TimeOnSite>315,@LUNCH,0);
Time("NetMinTemp")=Time("NetMinTemp") - Time("LUNCH DEDUCTION");

 

|Final rounding to keep values in value export ranges
|If net time is greater than 15 minutes, then "rounding unpaid" is set to the difference
|between the actual net time less the actual net time rounded down to the nearest
|15 minute increment.
Time("ROUNDING UNPAID")=@If(Time("NetMinTemp") > 15,
Time("NetMinTemp") - @ROUND(Time("NetMinTemp"),15,0),0);
Time("NetMinTemp") = Time("NetMinTemp") - Time("ROUNDING UNPAID");

 

|Calculate the Straight Time
|Temporary cumulative time is set to cumulative net time for the week + net time for the day
|If ‘temp cum time’ is less than 2400 minutes (40 hours), then straight time is set to
|the net time for the day,
|else if overtime total ("temp cum time" less 2400) is less than net time for the day,
|straight time is set to difference between net time for the day less overtime total
|else straight time is set to 0.
Time("TempCum") = @CumTimeWeek + Time("NetMinTemp");
Time("STRAIGHT") = @If( Time("TempCum") <= 2400,
Time("NetMinTemp"),
@If((Time("TempCum") - 2400) < Time("NetMinTemp"),
Time("NetMinTemp") - (Time("TempCum") - 2400), 0));

 

|Calculate the overtime
|Overtime is set to net time for the day less straight time.
Time("OVERTIME") = Time("NetMinTemp") - Time("STRAIGHT");
stop;

  

 

DOW & HOL OT>40

cumulative net time, rounded to nearest 15 minutes, overtime after 40 hours, overtime for specified day of week, overtime for holiday, double-time for specified day of week, with a lunch deduction

|Record the Early Time Not Paid
|Set "early time not paid" to 0 if person clocks in more than 75 minutes before
|scheduled time; the time clocked in before scheduled time becomes part of net time.
|If not, "early time not paid" is set to time clocked in before scheduled time in.
Time("EARLY TIME NOT PAID")=@If(@TIMEBEFORESCH>75,0,@TIMEBEFORESCH);

 

|Net time is set to time on site less the "early time not paid".
Time("NetMinTemp")=@TimeOnSite - Time("EARLY TIME NOT PAID");

 

|Record the Late Time Not Paid
|Set "late time not paid" to 0 if person clocks out more than 30 minutes after
|scheduled time; the time clocked out after scheduled time becomes part of net time.
|If not, "late time not paid" is set to time clocked out after scheduled time out.
Time("LATE TIME NOT PAID")=@If(@TIMEAFTERSCH>30,0,@TIMEAFTERSCH);

 

|Net time is set to net time less the "late time not paid".
Time("NetMinTemp")=Time("NetMinTemp") - Time("LATE TIME NOT PAID");

 

|Calculate Late In Time
|If net time is greater than 15 minutes then round up "late in time" (difference in
|minutes between "time clocked in" and "scheduled time in") to nearest 15 minute
|increment. Subtract from this the actual ‘late in time’ to calculate difference.
|"Dock late in time" is set to difference.
Time("DOCK LATE IN TIME")=@If(Time("NetMinTemp") > 15,
@ROUND(@LATEINTIME,15,1) - @LATEINTIME, 0);

 

|Also Early Out Time
|If net time is greater than 15 minutes then round up "early time out" (difference in
|minutes between "time clocked out" and "scheduled time out") to nearest 15 minute
|increment. Subtract from this the actual "early time out" to calculate difference. 
|"Dock early out time" is set to difference.
Time("DOCK EARLY OUT TIME")=@If(Time("NetMinTemp") > 15,
@ROUND(@EARLYOUTTIME,15,1) - @EARLYOUTTIME, 0);

 

|Net Time
|Net time is set to net time less "dock early out time" less "dock late in time".
Time("NetMinTemp")=((Time("NetMinTemp") - Time("DOCK EARLY OUT TIME")) - Time("DOCK LATE IN TIME"));

 

|Lunch deduction
|If "time on site" is greater than 315 minutes (5 ¼ hours) then deduct scheduled lunch
|break from net time.
Time("LUNCH DEDUCTION")=@If(@TimeOnSite>315,@LUNCH,0);
Time("NetMinTemp")=Time("NetMinTemp") - Time("LUNCH DEDUCTION");

 

|Final rounding to keep values in value export ranges
|If net time is greater than 15 minutes, then "rounding unpaid" is set to the difference
|between the actual net time less the actual net time rounded down to the nearest
|15 minute increment.
Time("ROUNDING UNPAID")=@If(Time("NetMinTemp") > 15,
Time("NetMinTemp") - @ROUND(Time("NetMinTemp"),15,0), 0);
Time("NetMinTemp") = Time("NetMinTemp") - Time("ROUNDING UNPAID");

 

|Calculate the Straight Time
|Temporary cumulative time is set to cumulative time for the week + net time for the day
|If "temp cum time" is less than 2400 minutes (40 hours), then straight time is set to
|the net time for the day,
|else if overtime total ("temp cum time" less 2400) is less than net time for the day,
|straight time is set to difference between net time for the day less overtime total
|else straight time is set to 0.
Time("TempCum") = @CumTimeWeek + Time("NetMinTemp");
Time("STRAIGHT") = @If( Time("TempCum") <= 2400,
Time("NetMinTemp"),
@If((Time("TempCum") - 2400) < Time("NetMinTemp"),
Time("NetMinTemp") - (Time("TempCum") - 2400), 0));

 

|Calculate the overtime. Overtime is set to net time for the day less straight time.
Time("OVERTIME") = Time("NetMinTemp") - Time("STRAIGHT");

 

|Overtime for Day of week. Net time is paid as overtime if day of week is Saturday.
Time("STRAIGHT") = @If((@DAYOFWEEK == 6), 0,
Time("STRAIGHT"));
Time("OVERTIME") = @If((@DAYOFWEEK == 6),
Time("NetMinTemp"),
Time("OVERTIME"));

 

|Overtime for Holiday. Pay net time as overtime if day is a holiday.
Time("STRAIGHT") = @If((@ISHOLIDAY == 1), 0,
Time("STRAIGHT"));
Time("OVERTIME") = @If((@ISHOLIDAY == 1),
Time("NetMinTemp"),
Time("OVERTIME"));

 

|Double-time for Day of week. Net time is paid as double-time if day of week is Sunday.
Time("STRAIGHT") = @If((@DAYOFWEEK == 7), 0,
Time("STRAIGHT"));
Time("DOUBLETIME") = @If((@DAYOFWEEK == 7),
Time("NetMinTemp"),
Time("DOUBLETIME"));
stop;
 

   

 

DOW 7 HOL OT>8

rounded to nearest 15 minutes, overtime after 8 hours, overtime for specified day of week, overtime for holiday, double-time after 12 hours, double-time for specified day of week, with a lunch deduction

|Record the Early Time Not Paid
|Set "early time not paid" to 0 if person clocks in more than 75 minutes before
|scheduled time; the time clocked in before scheduled time becomes part of net time.
|If not, "early time not paid" is set to time clocked in before scheduled time in.
Time("EARLY TIME NOT PAID")=@If(@TIMEBEFORESCH>75,0,@TIMEBEFORESCH);

 

|Net time is set to time on site less the "early time not paid".
Time("NetMinTemp")=@TimeOnSite - Time("EARLY TIME NOT PAID");

 

|Record the Late Time Not Paid
|Set "late time not paid" to 0 if person clocks out more than 30 minutes after
|scheduled time; the time clocked out after scheduled time becomes part of net time.
|If not, "late time not paid" is set to time clocked out after scheduled time out.
Time("LATE TIME NOT PAID")=@If(@TIMEAFTERSCH>30,0,@TIMEAFTERSCH);

 

|Net time is set to net time less the "late time not paid".
Time("NetMinTemp")=Time("NetMinTemp") - Time("LATE TIME NOT PAID");

 

|Calculate Late In Time
|If net time is greater than 15 minutes then round up "late in time" (difference in
|minutes between "time clocked in" and "scheduled time in") to nearest 15 minute
|increment. Subtract from this the actual "late in time" to calculate difference.
|"Dock late in time" is set to difference.
Time("DOCK LATE IN TIME")=@ROUND(@LATEINTIME,15,1) - @LATEINTIME;

 

|Also Early Out Time
|If net time is greater than 15 minutes then round up "early time out" (difference in
|minutes between "time clocked out" and "scheduled time out") to nearest 15 minute
|increment. Subtract from this the actual "early time out" to calculate difference.
|"Dock early out time" is set to difference.
Time("DOCK EARLY OUT TIME")=@ROUND(@EARLYOUTTIME,15,1) - @EARLYOUTTIME;

 

|Net Time
|Net time is set to net time less "dock early out time" less "dock late in time".
Time("NetMinTemp")=((Time("NetMinTemp") - Time("DOCK EARLY OUT TIME")) - Time("DOCK LATE IN TIME"));

 

|Lunch deduction
|If "time on site" is greater than 315 minutes (5 ¼ hours) then deduct scheduled lunch
|break from net time.
Time("LUNCH DEDUCTION")=@If(@TimeOnSite>315,@LUNCH,0);
Time("NetMinTemp")=Time("NetMinTemp") - Time("LUNCH DEDUCTION");

 

|Final rounding to keep values in value export ranges
|If net time is greater than 15 minutes, then "rounding unpaid" is set to the difference
|between the actual net time less the actual net time rounded down to the nearest
|15 minute increment.
Time("ROUNDING UNPAID")=Time("NetMinTemp") - @ROUND(Time("NetMinTemp"),15,0);
Time("NetMinTemp") = Time("NetMinTemp") - Time("ROUNDING UNPAID");

 

|Calculate the Straight Time
|Straight time is set to net time if net time is less than or = to 8 hours, else straight
|time is set to 8 hours.
Time("STRAIGHT") = @If( Time("NetMinTemp") <= 480,
Time("NetMinTemp"), 480);

 

|Calculate the overtime
|Overtime <= to 4 hours over straight time.
Time("OVERTIME") =@If ((Time ("NetMinTemp") - Time("STRAIGHT")) <=240,
Time("NetMinTemp") - Time("STRAIGHT"), 240);

 

|Overtime for Day of week
|Net time is paid as overtime if day of week is Saturday.
Time("STRAIGHT") = @If((@DAYOFWEEK == 6), 0,
Time("STRAIGHT"));
Time("OVERTIME") = @If((@DAYOFWEEK == 6),
Time("NetMinTemp"),
Time("OVERTIME"));

 

|Overtime for Holiday
|Pay net time as overtime if day is a holiday.
Time("STRAIGHT") = @If((@ISHOLIDAY == 1), 0,
Time("STRAIGHT"));
Time("OVERTIME") = @If((@ISHOLIDAY == 1),
Time("NetMinTemp"),
Time("OVERTIME"));

 

|Calculate the double-time
|Double-time is all time over 12 hours.
Time("DOUBLETIME") =@If (Time("NetMinTemp") - Time("OVERTIME") - Time("STRAIGHT") > 0,
(Time("NetMinTemp") - Time("OVERTIME")) - Time("STRAIGHT"), 0);

 

|Double-time for Day of week
|Net time is paid as double-time if day of week is Sunday.
Time("STRAIGHT") = @If((@DAYOFWEEK == 7), 0,
Time("STRAIGHT"));
Time("DOUBLETIME") = @If((@DAYOFWEEK == 7)
Time("NetMinTemp"),
Time("DOUBLETIME"));
stop;

  

 

NO PAY

No net time is calculated.

|Straight time is set to zero.
Time("STRAIGHT") = 0;

stop;

   

 

PAY SCHEDULED TIME

Pay scheduled time. This is used for employees who are salaried exempt.

|Set net time to scheduled time
Time("NetMinTemp") =@SCHEDTIME;

 

|Lunch deduction
|Always deduct lunch from net time.
Time("LUNCH DEDUCTION")=@LUNCH;
Time("NetMinTemp")=Time("NetMinTemp") - Time("LUNCH DEDUCTION");

 

|Straight time is set to net time
Time("STRAIGHT") = Time("NetMinTemp");
stop;

   

 

PAY TIME ONSITE OT>40

pay time-on-site, overtime after 40 hours

|Net time is set to time on site.
Time("NetMinTemp") = @TIMEONSITE;

 

|Calculate the straight time
|Temporary cumulative time is set to cumulative time for the week + net time for the day
|If "temp cum time" is less than 2400 minutes (40 hours), then straight time is set to
|the net time for the day,
|else if overtime total ("temp cum time" less 2400) is less than net time for the day,
|straight time is set to difference between net time for the day less overtime total
|else straight time is set to 0.
Time("TempCum") = @CumTimeWeek + Time("NetMinTemp");
Time("STRAIGHT") = @If ( Time("TempCum") <= 2400,
Time("NetMinTemp"),
@If ( (Time("TempCum") - 2400) < Time("NetMinTemp"),
Time("NetMinTemp") - (Time("TempCum") - 2400), 0 ));

 

|Calculate the overtime
|Overtime is set to net time less straight time.
Time("OVERTIME") = Time("NetMinTemp") - Time("STRAIGHT");
stop;

   

 

RUNNER R15 OT8

runner net time calculated on first clock-in through last clock-out, rounded to nearest 15 minutes, overtime after 8 hours, lunch deduction

|Record the Early Time Not Paid
|Set "early time not paid" to 0 if person clocks in more than 75 minutes before
|scheduled time; the time clocked in before scheduled time becomes part of net time.
|If not, "early time not paid" is set to time clocked in before scheduled time in.
Time("EARLY TIME NOT PAID")=@If(@TIMEBEFORESCH>75,0,@TIMEBEFORESCH);

 

|Net time is set to time from "first clock in to last clock out" less the "early time not paid".
Time("NetMinTemp")=@FIRST2LASTTIME - Time("EARLY TIME NOT PAID");

 

|Record the Late Time Not Paid
|Set "late time not paid" to 0 if person clocks out more than 30 minutes after
|scheduled time; the time clocked out after scheduled time becomes part of net time.
|If not, "late time not paid" is set to time clocked out after scheduled time out.
Time("LATE TIME NOT PAID")=@If(@TIMEAFTERSCH>30,0,@TIMEAFTERSCH);

 

|Net time is set to net time less the "late time not paid".
Time("NetMinTemp")=Time("NetMinTemp") - Time("LATE TIME NOT PAID");

 

|Calculate Late In Time
|If net time is greater than 15 minutes then round up "late in time" (difference in
|minutes between "time clocked in" and "scheduled time in") to nearest 15 minute
|increment. Subtract from this the actual "late in time" to calculate difference.
|"Dock late in time" is set to difference.
Time("DOCK LATE IN TIME")=@ROUND(@LATEINTIME,15,1) - @LATEINTIME;

 

|Also Early Out Time
|If net time is greater than 15 minutes then round up "early time out" (difference in
|minutes between "time clocked out" and "scheduled time out") to nearest 15 minute
|increment. Subtract from this the actual ‘early time out’ to calculate difference.
|"Dock early out time" is set to difference.
Time("DOCK EARLY OUT TIME")=@ROUND(@EARLYOUTTIME,15,1) - @EARLYOUTTIME;

 

|Net Time
|Net time is set to net time less "dock early out time" less "dock late in time".
Time("NetMinTemp")=((Time("NetMinTemp") - Time("DOCK EARLY OUT TIME")) - Time("DOCK LATE IN TIME"));

 

|Lunch deduction
|If "time on site" is greater than 315 minutes (5 ¼ hours) then deduct scheduled lunch
|break from net time.
Time("LUNCH DEDUCTION")=@If(@TimeOnSite>315,@LUNCH,0);
Time("NetMinTemp")=Time("NetMinTemp") - Time("LUNCH DEDUCTION");

 

|Final rounding to keep values in value export ranges
|If net time is greater than 15 minutes, then "rounding unpaid" is set to the difference
|between the actual net time less the actual net time rounded down to the nearest
|15 minute increment.
Time("ROUNDING UNPAID")=Time("NetMinTemp") - @ROUND(Time("NetMinTemp"),15,0);
Time("NetMinTemp") = Time("NetMinTemp") - Time("ROUNDING UNPAID");

 

|Calculate the Straight Time
|Straight time is set to net time if net time is less than or = to 8 hours, else straight
|time is set to 8 hours.
Time("STRAIGHT") = @If( Time("NetMinTemp") <= 480,
Time("NetMinTemp"), 480);

 

|Calculate the overtime
|Overtime is set to net time less straight time.
Time("OVERTIME") = Time("NetMinTemp") - Time("STRAIGHT");
stop;

   

 

STD R15 OT8 DT12 LD

rounded to nearest 15 minutes, overtime after 8 hours, double-time after 12 hours, lunch deduction

|Record the Early Time Not Paid
|Set "early time not paid" to 0 if person clocks in more than 75 minutes before
|scheduled time; the time clocked in before scheduled time becomes part of net time.
|If not, "early time not paid" is set to time clocked in before scheduled time in.
Time("EARLY TIME NOT PAID")=@If(@TIMEBEFORESCH>75,0,@TIMEBEFORESCH);

 

|Net time is set to time on site less the "early time not paid".
Time("NetMinTemp")=@TimeOnSite - Time("EARLY TIME NOT PAID");

 

|Record the Late Time Not Paid
|Set "late time not paid" to 0 if person clocks out more than 30 minutes after
|scheduled time; the time clocked out after scheduled time becomes part of net time.
|If not, "late time not paid" is set to time clocked out after scheduled time out.
Time("LATE TIME NOT PAID")=@If(@TIMEAFTERSCH>30,0,@TIMEAFTERSCH);

 

|Net time is set to net time less the "late time not paid".
Time("NetMinTemp")=Time("NetMinTemp") - Time("LATE TIME NOT PAID");

 

|Calculate Late In Time
|If net time is greater than 15 minutes then round up "late in time" (difference in
|minutes between "time clocked in" and "scheduled time in") to nearest 15 minute
|increment. Subtract from this the actual "late in time" to calculate difference.
|"Dock late in time" is set to difference.
Time("DOCK LATE IN TIME")=@ROUND(@LATEINTIME,15,1) - @LATEINTIME;

 

|Also Early Out Time
|If net time is greater than 15 minutes then round up "early time out" (difference in
|minutes between "time clocked out" and "scheduled time out") to nearest 15 minute
|increment. Subtract from this the actual "early time out" to calculate difference.
|Dock early out time’ is set to difference.
Time("DOCK EARLY OUT TIME")=@ROUND(@EARLYOUTTIME,15,1) - @EARLYOUTTIME;

 

|Net Time
|Net time is set to net time less "dock early out time" less "dock late in time".
Time("NetMinTemp")=((Time("NetMinTemp") - Time("DOCK EARLY OUT TIME")) - Time("DOCK LATE IN TIME"));

 

|Lunch deduction
|If "time on site" is greater than 315 minutes (5 ¼ hours) then deduct scheduled lunch
|break from net time.
Time("LUNCH DEDUCTION")=@If(@TimeOnSite>315,@LUNCH,0);
Time("NetMinTemp")=Time("NetMinTemp") - Time("LUNCH DEDUCTION");

 

|Final rounding to keep values in value export ranges
|If net time is greater than 15 minutes, then "rounding unpaid" is set to the difference
|between the actual net time less the actual net time rounded down to the nearest
|15 minute increment.
Time("ROUNDING UNPAID")=Time("NetMinTemp") - @ROUND(Time("NetMinTemp"),15,0);
Time("NetMinTemp") = Time("NetMinTemp") - Time("ROUNDING UNPAID");

 

|Calculate the Straight Time
|Straight time is set to net time if net time is less than or = to 8 hours, else straight
|time is set to 8 hours.
Time("STRAIGHT") = @If( Time("NetMinTemp") <= 480,
Time("NetMinTemp"), 480);

 

|Calculate the overtime
|Overtime <= to 4 hours over straight time.
Time("OVERTIME") =@If ((Time ("NetMinTemp") - Time("STRAIGHT")) <=240,
Time("NetMinTemp") - Time("STRAIGHT"), 240);

 

|Calculate the Double-time
|Double-time is all time over 12 hours.
Time("DOUBLETIME") =@If (Time("NetMinTemp") - Time("OVERTIME") - Time("STRAIGHT") > 0,
(Time("NetMinTemp") - Time("OVERTIME")) - Time("STRAIGHT"), 0);
stop;

   

 

STD R15 OT8 DT12 MIN4

rounded to nearest 15 minutes, overtime after 8 hours, double-time after 12 hours, lunch deduction, minimum 4 hours paid

Time("EARLY TIME NOT PAID")=@If(@TIMEBEFORESCH>75,0,@TIMEBEFORESCH);

 

|Net time is set to time on site less the "early time not paid".
Time("NetMinTemp")=@TimeOnSite - Time("EARLY TIME NOT PAID");

 

|Record the Late Time Not Paid
|Set "late time not paid" to 0 if person clocks out more than 30 minutes after
|scheduled time; the time clocked out after scheduled time becomes part of net time.
|If not, "late time not paid" is set to time clocked out after scheduled time out.
Time("LATE TIME NOT PAID")=@If(@TIMEAFTERSCH>30,0,@TIMEAFTERSCH);

 

|Net time is set to net time less the "late time not paid".
Time("NetMinTemp")=Time("NetMinTemp") - Time("LATE TIME NOT PAID");

 

|Calculate Late In Time
|If net time is greater than 15 minutes then round up "late in time" (difference in
|minutes between "time clocked in" and "scheduled time in") to nearest 15 minute
|increment. Subtract from this the actual "late in time" to calculate difference.
|"Dock late in time" is set to difference.
Time("DOCK LATE IN TIME")=@ROUND(@LATEINTIME,15,1) - @LATEINTIME;

 

|Also Early Out Time
|If net time is greater than 15 minutes then round up "early time out" (difference in
|minutes between "time clocked out" and "scheduled time out") to nearest 15 minute
|increment. Subtract from this the actual "early time out" to calculate difference.
|‘Dock early out time’ is set to difference.
Time("DOCK EARLY OUT TIME")=@ROUND(@EARLYOUTTIME,15,1) - @EARLYOUTTIME;

 

|Net Time
|Net time is set to net time less "dock early out time" less "dock late in time".
Time("NetMinTemp")=((Time("NetMinTemp") - Time("DOCK EARLY OUT TIME")) - Time("DOCK LATE IN TIME"));

 

|Lunch deduction
|If "time on site" is greater than 315 minutes (5 ¼ hours) then deduct scheduled lunch
|break from net time.
Time("LUNCH DEDUCTION")=@If(@TimeOnSite>315,@LUNCH,0);
Time("NetMinTemp")=Time("NetMinTemp") - Time("LUNCH DEDUCTION");

 

|Final rounding to keep values in value export ranges
|If net time is greater than 15 minutes, then "rounding unpaid" is set to the difference
|between the actual net time less the actual net time rounded down to the nearest
|15 minute increment.
Time("ROUNDING UNPAID")=Time("NetMinTemp") - @ROUND(Time("NetMinTemp"),15,0);
Time("NetMinTemp") = Time("NetMinTemp") - Time("ROUNDING UNPAID");

 

|Always give them at least 4 hours of time for showing up
Time("NetMinTemp") = @If( Time("NetMinTemp") <= 240,
@If( Time("NetMinTemp") > 0, 240, 0),
Time("NetMinTemp"));

 

|Calculate the Straight Time
|Straight time is set to net time if net time is less than or = to 8 hours, else straight
|time is set to 8 hours.
Time("STRAIGHT") = @If( Time("NetMinTemp") <= 480,
Time("NetMinTemp"), 480);

 

|Calculate the overtime
|Overtime <= to 4 hours over straight time.
Time("OVERTIME") =@If ((Time ("NetMinTemp") - Time("STRAIGHT")) <=240,
Time("NetMinTemp") - Time("STRAIGHT"), 240);

 

|Calculate the Double-time
|Double-time is all time over 12 hours.
Time("DOUBLETIME") =@If (Time("NetMinTemp") - Time("OVERTIME") - Time("STRAIGHT") > 0,
(Time("NetMinTemp") - Time("OVERTIME")) - Time("STRAIGHT"), 0);
stop;

   

 

STD R15 OT8 DT12 NL

rounded to nearest 15 minutes, overtime after 8 hours, double-time after 12 hours, no lunch deduction

|Record the Early Time Not Paid
|Set "early time not paid" to 0 if person clocks in more than 75 minutes before
|scheduled time; the time clocked in before scheduled time becomes part of net time.
|If not, "early time not paid" is set to time clocked in before scheduled time in.
Time("EARLY TIME NOT PAID")=@If(@TIMEBEFORESCH>75,0,@TIMEBEFORESCH);

 

|Net time is set to time on site less the "early time not paid".
Time("NetMinTemp")=@TimeOnSite - Time("EARLY TIME NOT PAID");

 

|Record the Late Time Not Paid
|Set "late time not paid" to 0 if person clocks out more than 30 minutes after
|scheduled time; the time clocked out after scheduled time becomes part of net time.
|If not, "late time not paid" is set to time clocked out after scheduled time out.
Time("LATE TIME NOT PAID")=@If(@TIMEAFTERSCH>30,0,@TIMEAFTERSCH);

 

|Net time is set to net time less the "late time not paid".
Time("NetMinTemp")=Time("NetMinTemp") - Time("LATE TIME NOT PAID");

 

|Calculate Late In Time
|If net time is greater than 15 minutes then round up "late in time" (difference in
|minutes between "time clocked in" and "scheduled time in") to nearest 15 minute
|increment. Subtract from this the actual "late in time" to calculate difference.
|"Dock late in time" is set to difference.
Time("DOCK LATE IN TIME")=@ROUND(@LATEINTIME,15,1) - @LATEINTIME;

 

|Also Early Out Time
|If net time is greater than 15 minutes then round up "early time out" (difference in
|minutes between "time clocked out" and "scheduled time out") to nearest 15 minute
|increment. Subtract from this the actual "early time out" to calculate difference.  
|"Dock early out time" is set to difference.
Time("DOCK EARLY OUT TIME")=@ROUND(@EARLYOUTTIME,15,1) - @EARLYOUTTIME;

 

|Net Time
|Net time is set to net time less "dock early out time" less "dock late in time".
Time("NetMinTemp")=((Time("NetMinTemp") - Time("DOCK EARLY OUT TIME")) - Time("DOCK LATE IN TIME"));

 

|Final rounding to keep values in value export ranges
|If net time is greater than 15 minutes, then "rounding unpaid" is set to the difference
|between the actual net time less the actual net time rounded down to the nearest
|15 minute increment.
Time("ROUNDING UNPAID")=Time("NetMinTemp") - @ROUND(Time("NetMinTemp"),15,0);
Time("NetMinTemp") = Time("NetMinTemp") - Time("ROUNDING UNPAID");

 

|Calculate the Straight Time
|Straight time is up to 8 hours.
Time("STRAIGHT") = @If( Time("NetMinTemp") <= 480,
Time("NetMinTemp"), 480);

 

|Calculate the overtime
|Overtime <= to 4 hours over straight time.
Time("OVERTIME") =@If ((Time ("NetMinTemp") - Time("STRAIGHT")) <=240,
Time("NetMinTemp") - Time("STRAIGHT"), 240);

 

|Calculate the Double-time
|Double-time is all time over 12 hours.
Time("DOUBLETIME") =@If (Time("NetMinTemp") - Time("OVERTIME") - Time("STRAIGHT") > 0,
(Time("NetMinTemp") - Time("OVERTIME")) - Time("STRAIGHT"),0);
stop;