v 8.0 v 9.0 v 10.0 v 12.0 Third Party
Required Apps Project (project)
Employees (hr)
Technical Name project_timelog
LicenseSee License tab
Also available in version v 10.0 v 9.0 v 8.0
You bought this module and need support? Click here!
Required Apps Project (project)
Employees (hr)
Technical Name project_timelog
LicenseSee License tab
Also available in version v 10.0 v 9.0 v 8.0

Time Tracker

Track the work time and know what your team is working on

The timer

  • allows to track the user working time
  • helps to control and see the overall working load during a day/week
  • generates the corresponding worktime reports
It is a great solution that could be as alternative to Hubstaff or other work time tracker app.


After the module installation, you can see the timer bar 00:00:00 00:00 00:00 00:00 at the top right hand.

  • 1st timer - it's time for current subtask. When approaching to 2 hours boundary (the value can be changed in Configuration → Subtask → Set completion time), it changes color to orange and sounds a short signal. When the time is beyond the preset 2 hours limit, the timer is stopped, the color changes to red, it flashes and sounds a long beep. If you click on the timer, it works as a pause.
  • 2nd timer - it's general time for current task (only the time of current user is taken into account and summed). Once the "Initially planned hours" value is exceeded (all the time records related to the task are teaken into account), it changes color to yellow. When "Initially planned hours" exceeds 100% (set it in Configuration), it changes color to red. Clicking on the timer opens the current task.
  • 3rd timer - it's general time for current day. If the time reaches 5 hours (set it in Configuration → Day → Set normal time), it changes color to yellow and if it reaches 6 hours (set it in Configuration → Day → Set good time), it changes color to green. Clicking on the timer opens a page with the current day logs.
  • 4th timer - it's general time for current week. When reaching 30 hours (set it in Configuration → Week → Set normal time), it changes color to green and sounds a beautiful melody. When reaching 40 hours (set it in Configuration → Week → Set good time), it changes color to blue and sounds a long beautiful melody. Clicking on the timer opens the page with the current week logs.

Start the timer

Go to the Project → Task menu and open or create a task. Then you need to add a new subtask to this task. Here you can see the "play/stop" button. Click on "play" to start the timer or "stop" to stop it. After the stop, a time you spent on the subtask will be displayed in "Time Spent".

If the subtask was created in one task state, the timer for this subtask cannot be launched in other task state.

If the timer was launched in one task state and the latter has been changed during the work, the timer automatically stops and new subtask with the same name is created.

The user activity is tracked by his status in chat. Thus, timer automatically stops if user is "offline" or there is no internet connection and in this case he will hear the specific audio signal. If connection is restored, he should restart the timer.

If there are subtasks that contain time records on previous days, they will be unavailable for user. Also user will be able to start the timer on own subtasks only (the subtask owner is displayed in the "Done by" column).

Time correction

If user launched the timer accidentally, he can delete all the unnecessary time by using "Time correction". Go to "My timelog" and click on log you are going to correct. Click on "Edit" and then "Time correction" will be available for editing. User can only reduce time, but manager can both reduce and increase it.

Forced completion of the task

In case of user should immediately goes to a new task, he must specify the date and time in "Stopline". When reaching it, the timer changes color to orange, sounds the specific signal and user cannot add timelogs to the current task before "Stopline" is changed or deleted. The "Stopline" is used for difficult tasks usually and can be edited by manager only.

Disable logs for certain task state

To disable the logs creation for certain task state, go to Project → Configuration → Stages → Task Stages, open Stage edit form and uncheck the box "Allow log time".

Timer logs

The result of timer work will be written in Project → Timelog → My timelog. This section shows time logs of current user and explains which task corresponds to subtask, when the timer was launched and stopped, how long it has been working and what state had a task. There is a "Time correction" feature, which allows to correct the time (see details at the "Time correction" section below). Manager has access to all users time logs.

Timer specifics

  • Simultaneously you may switch on the timer for one subtask only.
  • You cannot switch on the timer for subtasks which contains not today's logs.
  • You cannot create subtasks with the same names in task of one state.


Go to the Settings → Configuration → Timelog menu. Choose necessary configuration settings and click "Apply".

  • "Set warning time" - it is a time that will warn a user with audio signal indicating the approach to subtask completion time.
  • "Set completion time" - it is a limit on timer work for subtask, it stops after achieving this time.
  • "Set normal time" - it is a warning time for hours worked for current day/week (a set number of hours).
  • "Set good time" - it is a warning time for number of hours worked for current day/week (more than a set number of hours).


  • To use the module, you need to be sure that your odoo instance support longpolling, i.e. Instant Messaging works. Read more about how to use the "longpolling" .
  • If you want to reinstall the module, you need to clear browser data after removing it.

Need our service?

Contact us by email or fill out request form

  • apps@it-projects.info
  • https://www.it-projects.info/page/website.contactus
  • https://m.me/itprojectsllc
  • skype@it-projects.info
Tested on Odoo
12.0 community

Project timelog


  • Install this module in a usual way

  • To use the module, you need to be sure that your odoo instance support longpolling, i.e. Instant Messaging works. Read more about how to use the longpolling

  • You need to install a patch to use the new group (the beginning of the week is Sunday). The use of the patch is optional and needed only to use Sunday grouping (otherwise only Monday works). More here. To apply the patch execute:

    cd /path/to/odoo/source
    patch -p1 < /path/to/0001-IMP-support-grouping-by-weeks-starting-with-Sunday.patch


Timer launching

  • Go to the menu Project >> Task.
  • Create a new subtask by clicking on Edit >> Add an item.
  • Click on green button play to switch on timer for this subtask.
  • Click on red button pause to stop the timer.

How to see results

  • Go to the menu Project >> Timelog >> My timelog.
  • Press to any timer’s datum (log is result of timer’s work).
  • Logs of all users appear in secton Timelog (only for managers).

The timer work

  • Click on the first timer to start it. Click again to stop it.
  • Click on the second timer to open the page with the current task.
  • Click on the third timer to open Logs page for current day.
  • Click on the fourth timer to open Logs page for current week.

Forced completion of the task

  • Click on Edit in current task and put to stopline date and time (if the timer was launched, it stops after achieving this time).


This section is about how you can implement integration with third-party services using the module Outgoing Webhooks (need to install additionally), for example, send notifications about user actions to telegram group through IFTTT.

Consider the following example. Let's say we need to send a webhook when one of these following events occurs:
  • The user turned on the timer for the first time of the day.
  • The user switched to another task
You'll need:
Prepare IFTTT Webhook URL
  • Open Webhook page at IFTTT
  • Click Documentation
  • Choose some event name, e.g. timelog_event
  • Copy the url. It has following format: https://maker.ifttt.com/trigger/EVENT_NAME/with/key/SOME-KEY
Register Webhook:
  • Open Odoo

  • Install Outgoing Webhooks module

  • Create an Automated Action with the following values (see Module Documentation for details):
    • Model: Analytic Line (account.analytic.line).
    • Trigger condition: On creation.
    • Action To Do: Execute Python Code.
    • Python Code:
    WEBHOOK = "https://maker.ifttt.com/trigger/EVENT-NAME/with/key/SOME-KEY"
    base_url = env['ir.config_parameter'].sudo().get_param('web.base.url')
    task_url = base_url + '/web#id={}&model=project.task'.format(record.task_id.id)
    today = datetime.datetime.now().date()
    user = record.user_id.name
    sum_time = record.task_id.effective_hours
    td = datetime.timedelta(hours=sum_time)
    dt = datetime.datetime.min + td
    duration = '{:%H:%M}'.format(dt)
    previous_timesheet = records.search([
        ('user_id', '=', record.user_id.id),
        ('date', '=', today),
        ('id', '!=', record.id)
    ], order='create_date desc', limit=1)
    send_request = False
    if not previous_timesheet:
      # First task of the day
      send_request = True
    elif previous_timesheet and previous_timesheet.task_id != record.task_id:
      # user switched to another subtask
      send_request = True
    if send_request:
        data = {'value1': user, 'value2': task_url, 'value3': duration}
        requests.post(WEBHOOK, data, timeout=2)

It should look like this:

Prepare IFTTT applet:
  • Open url: https://ifttt.com/create
  • This: search and select Webhooks
    • Choose Receive a web request
    • Set Event Name (in our example, timelog_event)
  • That: search and select Notifications
    • Choose Send a notification from the IFTTT app
      • User: {{Value1}}<br>
      • Task: {{Value2}}<br>
      • Total duration: {{Value3}}
Try it out:
  • Now to check that everything is working go to Project >> Task >> Timesheets
  • Click the Edit button and add some line
  • Save and you'll receive a notification from IFTTT


  • Open the``Project timelog`` module by going to Apps and click on the Uninstall button.
The MIT License (MIT)

Copyright 2020 IT-Projects Labs
Copyright 2015-2020 IT-Projects LLC
Copyright 2014-2015 Ivan Yelizariev

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.


Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.