The module TIME INVOICE offers extensive extensions of the attendance time recording in Odoo with connection to the vacation administration. 

1) Recording of planned working time with core working times and flexitime
2) Overtime calculation
3) Manual recording of pause times
4) Automatic recording of pauses
5) Automatic logging out at a definable point in time 
6) Lock time recording entries 
7) Use overtime as holiday entitlement  



The routing in which the TARGET attendances are defined in Odoo can only list fixed TARGET COME and TARGET GOING times in the standard system. The duration of the break times must also be entered with a fixed value and is not calculated dynamically from the attendance time. 

Here an extension takes place in such a way that in addition to the core working times, an earliest start of work and a latest end of work can also be defined in the work schedule, as well as a target attendance time in hours.  

If an employee logs on before the earliest start of work or logs off after the latest end of work, the values for the earliest start of work or the latest end of work are entered instead of the actual times. Example: The work center is open for employees from 7:00 a.m., but an employee logs on at 6:50 a.m., the time 7:00 a.m. is still entered as the start time for the relevant workday. Similarly, the same happens for a late logout. If an employee logs out after the beginning or before the end of the core working time, the correct time should be recorded in Odoo, but a note is also automatically recorded in the respective presence, which informs about a late log-in or a too early log-out. The attendance times can then be evaluated in reporting according to these characteristics.


The target attendance time in hours is used to determine whether an employee has fulfilled the required target attendance time or not. If the actual attendance time on a day after the break times have been deducted is greater than the target attendance time in hours stored in the routing, the delta between the target attendance and the actual attendance is credited to an overtime account. At the same time, a negative delta between the target and actual attendances is deducted from the overtime account. In the employee data record (hr.employee), all attendance times that have either increased or decreased the overtime account are visible at the push of a button. The current amount of overtime or minus hours can also be taken from this evaluation. In the configuration of the module, it is also possible to define the amount of overtime or minus hours above which the employee's manager is to be informed of the status of the overtime account via e-mail. In addition, a maximum limit for overtime or minus hours can be configured, above which no further overtime or minus hours are recorded. 


If an employee logs off and on again during the course of a working day, Odoo records these absences as breaks. Breaks are clearly displayed in the time recording entry and the duration of all breaks is deducted from the attendance time to calculate the net working time. The gross attendance time, the break time and the net working time are then evaluated and displayed in the individual attendance time entries.

If an employee forgets to enter his or her break times, a break is automatically entered at the end of the day and deducted from the gross attendance time. The deduction of break times follows special rules which have to be defined by the administrator (at this point the administrator should be allowed to edit break rules manually in order to keep Odoo up to date in case of any legal changes). Such pause rules always consist of a comparison of the ACTUAL attendance time with a TARGET attendance time to be defined by the administrator and a resulting pause duration. Example: A rule could be as follows: IF ACTUAL presence >= 6:00 hours, THEN pause time = 0:30 hours or IF ACTUAL presence >= 9:00 hours, THEN pause time = 0:45 hours The pauses are calculated at the end of a working day and recorded in the presence time of the respective employee.

In the Odoo standard, an employee can be logged in for several days and thus record attendances of more than 24 hours at a time. The module offers an automatic feature that automatically logs out each employee at a time defined by the administrator. If an employee has been logged out by this automatism, a corresponding note appears in the attendance time entry of the respective day. This feature can also be used for subsequent evaluation via reporting.  

Via a new checkbox in the module configurations, it can be activated that employees can no longer make manual changes to their attendance times or create new time recording entries from a certain day in the following month or after the end of the current working day. Example: If this checkbox is activated and the third of the month is entered as the lock date, then, for example, all attendance times from March 2019 can no longer be edited by the employees themselves from 3 April onwards. If only the checkbox is activated, but no day in the month is configured, then the processing and subsequent creation of time recording entries by the employees is automatically prevented after the end of each day. 

If an employee has accumulated overtime, he or she can use it to take leave using a special leave entitlement. A leave request taken for overtime can only be submitted to the manager for approval up to a maximum of the available overtime. If such a leave request is approved, the overtime account is reduced by the number of hours taken. If the manager withdraws the approval, the invested overtime hours are also credited to the employee's overtime account. The employee's overtime account shows the reduction in overtime due to leave requests.