Clocking and Time Tracking using org-mode and EasyOrg
When working on projects it's common to have to track how much time is spent on different tasks. Sometimes it's enough to track how many hours you work each day. Sometimes you need to keep track of how much you should bill different customers. and yet other times you want to track the time spent on each individual task on your todo list.
Org-mode allows you to use a few different ways to achieve the above, either by storing clocking data in a LOGBOOK drawer or by using properties. There is also flexibility in how you want to organize it.
EasyOrg helps you summarize the date with the help of it's powerful table search capabilities as well as its calculation features. This way you can easily multiply your hourly rate with the hours worked and sum up each day or task for the month. Hours and minutes should be written in the form HH:MM
.
Daily journal type clocking using properties
One easy way to track time spent on a daily basis is to add the data in a PROPERTIES drawer. You can add both hours worked as well as for example the hourly rate.
When looking in the Table view you can see the date header and the COST and HOURS properties with their data in therir respective columns. By selecting the MULT
operation selector you can multiply each rows values. They will also be added at the bottom of the page.
Daily journal type clocking using Logbook drawer
Instead of using PROPERTIES you can use a LOGBOOK drawer. There is a common practice to store clocking data using a key called CLOCK:
. Here you can write down the hours and minutes worked in the for HH:MM
. You can have multiple CLOCK lines within one LOGBOOK drawer. They will be added together when you look in the Table view.
In case you have several customers and you want to separate the calculations you can add a customer tag to the daily date header.
Table view:
Daily journal type clocking using properties, customer based.
Another option to separate customers or projects is by puting each customer under its own header.
You can filter out each customer by searching on the parent header using the search expression h.
.
Tasks based clocking
You can track time spent on each todo task by either using a PROPERTIES drawer or a LOGBOOK drawer.
Clocking using a LOGBOOK and the CLOCK:
key is useful in case the task is being worked on for multiple days as it allows for many CLOCK lines and they are automatically added up when looking in the Table view. They can also be combined with a PROPERTIES drawer in case you want to add the hourly rate there for further calculations in the Table view.
Filter out the information you need
You might need to filter out only the relevant lines. You might want to focus on a specific month and only a certain customer. Only the shown lines are multiplied/added together.
When using task based tracking you can filter by using closing timestamp as one parameter. You can in addition for example filter on the customer, either by filtering on tags if the customer name is there or maybe it is mentioned in the header or in the title.
Useful example searches include:
December 2022, tagged customer1
c.ge.2022-12-01 c.le.2022-12-31 t.customer1
December 2022, everything below parent header containing text 'Customer A'.
c.ge.2022-12-01 c.le.2022-12-31 h.Customer+A