[ Home ]

Time Recording: Punch rules

«Punch rules» allows you to enforce punch time rules based on "time of day" or "total work time".
Typical use cases:
• I cannot have check-in times before 08:00, so when I clock in too early the app should change that time to 08:00
• For the same reason, check-outs after 17:00 should floor to 17:00
• Work after 20:00 should be booked to a different task
• Working more than 10 hours is counted as overtime and should be booked to a different task

Each rule consists of a "Condition" (on which event should the rule fire) and an "Action" (to which time should we change that entry, or which "task switch" should be performed).
Note that if a rule kicks in but the resulting "time slot" is not available (i.e. you already have an entry at the specific time) then the given rule is silently ignored.

Caution: we suggest you only set up punch rules once you are familiar with how Time Recording works - misconfigured rules will lead to strange app behaviour and punch times mismatching your actual work time.

Setup: Condition
Condition is comprised of:
• Which action, "Check in" or "Check out"
• Which "Time" (i.e. time of day, supporting "+1" for entries after midnight) or "Total" (i.e. work time total, excluding breaks and auto breaks)
• "Comparison" type (less than, greater than) which is derived from 'action' and cannot be entered manually. That is: "check in" based rules always check for "time less than", "check out" based rules for "time or total greater than".

Setup: Action
As soon as a rule as per above kicks in, the "action" will evaluate as follows.
Rule of thumb: "Set new time" changes time entries, "Switch task" leaves the original entry but adds an additional work unit.
(1) "Set new time" changes the time being entered to the one as per "Time" or "Total":
• "Time" based rules use the time value set above as new time entry
• "Total" based rules use formula "FirstCheckIn plus Total plus BreakTimes" to calculate the "new time" (i.e. that time of day when total worktime as per setting above is reached for the given work day)
(2) "Switch task" uses the same time entry calculation as "Set new time". It will then do a "Switch task" at the given time, optionally using the selected task for task assignment:
• For "check-in and less-than" rules, selected task is applied to the preceeding work unit (i.e. the one added before 'time')
• For "check-out and greater-than" rules, selected task is applied to the subsequent work unit (i.e. the one added after 'time/total')


Sample 1
Time before 07:00 should be ignored. I.e. if checking in before 07:00, the punch time should be adjusted to 07:00

Sample 2
Similar to sample 1, but time from "early checkin" to 07:00 should be booked to separate task "Too early"

Sample 3
If worktime total is more than 8 hours 30 minutes, then time exceeding this is booked to task "Overtime". I.e. the task switch occurs at "first check-in plus 8:30 plus optional breaks".

Sample 4
See Overtime tracking using tasks and punch rules