Contributors mailing list archives

Browse archives


Re: Overtime calculation in Odoo 15 and OCA

sewisoft UG , Stefan Wild
- 09/08/2023 23:47:38
Hello everyone,

I pained about the same issues, you are all telling about. I just can speak for version 16. Probably 15 too, but I‘am not sure. Our module depends to Odoo Core only.

Our biggest pain was, that the overtime is not reduced on days without attendance, where you normally have to work. 

For that problem we found a really simple solution.
The approach was, when you have attendances, then overtime calculation is correct.
The trick is, we create an attendance with zero time for days, where no attendance entries exist. 

Therefore we have implemented a cronjob which runs every night and creates missing attendances for days where are no entries. We use here the „generate_series“ method from postgres. 

You also have got a new field „count_attendance_from“ in employee. Starting from that date, all missing attendances are generated with zero time.

If anyone is interested, here is a link to the code.
I just uploaded it to github, while primarily we are using gitlab.

In this repository there are two more modules. Once for generating public holidays worldwide using pythons holiday library and one module, for updating overtime when creating the holidays later. 

Module for correct overtime calculation 

Module for generating holidays

Bridge module between hr_attendance and hr_holidays to update overtime.

We also would contribute them to oca, but haven‘t written any tests yet. Feel free to contribute :)

Vielen Dank und Viele Grüße

Stefan Wild 
Geschäftsführer - Logo

sewisoft GmbH
Örtleinsweg 39
96148 Baunach 
Tel. +49 (0) 160 / 99 11 25 69

Sitz der Gesellschaft: Baunach
Registergericht: Amtsgericht Bamberg, HRB 8508
Geschäftsführer: Günter Selbert, Stefan Wild

Am 08.08.2023 um 15:11 schrieb Rafael Blasco <>:

Hello Florian, Holger:


After testing and testing in runbot I don’t catch up the “issue” for me is working properly.


I will try to test the OCA PR to get in a defined user cases (we can write down) the difference.






De: Holger Brunn <>
Enviado el: martes, 8 de agosto de 2023 7:42
Para: Contributors <>
Asunto: Re: Overtime calculation in Odoo 15 and OCA


> Is your proposal to transfer times from time-sheet / attendance -> payslip
> CODE according to some rules (like the Salary Rules). I am running older
> version of Odoo and upgrading to 16 ATM and would like to incorporate a
> feature like this.
no, it might be built on top of my proposal though. I'm now exclusively 
talking about populating hr.attendance.overtime in a way that
overtime = (time recorded in hr.attendance records) - (expected working hours 
as per working calendar)
Your partner for the hard Odoo problems

Post to: