Track Work Time


This app can track your work time easily! You can automate time tracking using geo-fencing functions (see below). You may also categorize each recorded interval by a predefined client/task and a free text. Of course, the list of clients/tasks can be edited to suit your needs, and the app has a widget for your home screen.

Additionally, if you wish, your flexible time account is taken care of: you always see how much you worked. You can also keep an eye on how much work time is left for today or for the current week (by a notification which you can enable).

The app enables you to modify the planned working time effortlessly – just tap on the date you want to edit in the main table.

You may provide the geo-coordinates or the Wi-Fi network name of your work place and the app can automatically clock you in while you are at work. This is done without using GPS, so your battery won’t be emptied by this app. (You don’t have to be connected to the WiFi network at work, it just has to be visible.)

If you prefer to use other apps like LlamaLab Automate or Tasker for tracking your movements, that’s fine – TWT can be triggered from other apps and just do the book-keeping of your work time. You have to create broadcast intents with the action org.zephyrsoft.trackworktime.ClockIn or org.zephyrsoft.trackworktime.ClockOut. When using ClockIn, you can also set the parameters task=… and text=… in the “extra” section of the intent so your events are more meaningful. Here are some screenshots to point out how it can be done in Automate: Flow overview, “Broadcast send” block arguments.
You can also use the action org.zephyrsoft.trackworktime.StatusRequest to get the current state of TWT: is the user clocked in, and if so, with which task and how much time remains for today? Here’s how you can use this in Automate: Flow overview, “Send broadcast” settings, “Receive broadcast” settings top, “Receive broadcast” settings bottom, “Dialog message” settings, resulting message.

It’s also possible the other way around: TWT generates broadcast messages on event creation/update/deletion which can trigger actions in other apps. Automation apps can listen for intents with the actions org.zephyrsoft.trackworktime.event.Created, org.zephyrsoft.trackworktime.event.Updated and org.zephyrsoft.trackworktime.event.Deleted.
There are the following extras available: id (number uniquely identifying an event), date (the event’s date, formatted YYYY-MM-DD), time (the event’s time, formatted HH:MM:SS), timezone_offset (offset in standard format, e.g. +02:00), timezone_offset_minutes (offset in minutes, e.g. 120), type_id (number uniquely identifying the event’s type, 0=clock-out / 1=clock-in), type (name of the event’s type, CLOCK_IN or CLOCK_OUT), task_id (number uniquely identifying the event’s task, not available on clock-out events), task (name of the event’s task, not available on clock-out events), comment (only available if the user provided it), source (where the event was generated originally, possible values are MAIN_SCREEN_BUTTON, EVENT_LIST, QUICK_SETTINGS, LAUNCHER_SHORTCUT, MULTI_INSERT, AUTO_PAUSE, LOCATION, WIFI, RECEIVED_INTENT [which includes both externally created broadcasts and actions from TWT’s own widget]).
Some screenshots so you can see it in action in Automate: Flow overview, “Receive Broadcast” settings top, “Receive Broadcast” settings bottom, “Dialog Message” settings, Result 1, Result 2.

If you have a Pebble smart watch, the app can notify you on clock-in and clock-out events which is especially useful if you want to be in the know about automatic time tracking via location and/or WiFi.

Finally, the app can generate reports for you. The raw events report is the right thing if you want to import your data somewhere else, while year/month/week reports are fine if you want to keep track of your task progress.

Important note: This app definitely won’t use your personal data for anything you don’t want! If the app crashes, it will offer you to send some information about the crash circumstances to the developer (and does that only if you agree, you will be asked every time). The app does NOT include tracked times or places in the bug report, but the general log file is appended and might potentially include personal data – if so, it will be kept strictly confidential and only used to identify the problem. See the privacy policy to learn why the app needs the permissions it asks for.

You can track the past development by looking at the version history.

Links to store appearances:

And finally, some technical stuff (which might only be interesting if you are a developer):