Contributors mailing list archives

Browse archives


Overtime calculation in Odoo 15 and OCA

InitOS GmbH, Florian Kantelberg
- 28/07/2023 13:47:55

Hello community,

we are currently looking on overtime calculation in Odoo 15.0. Odoo 15.0 introduced a new model (hr.attendance.overtime) and mechanisms for an overtime calculation. First I want to share our knowledge with digging into it. There are currently some core bugs with the overtime calculation:

  • The resource.calendar from hr.contract is not used for overtime calculation as you would expect if hr_attendance and hr_contract is installed. Causes wrong calculations if you edit attendance before a resource calendar (e.g. somebody forgot to logout and you are validating the attendance)
  • Overtime ignores dates without attendance completly despite it's an actual working day. E.g. if you have to work for 8h and login for 1min you have -7:59h overtime. If you don't login it's +/-0h. This isn't fully consistent.

We are currently trying to develop fixes for these core bugs. The bugs are present from 15.0 to master. We can share the PRs when they are ready.

Following are additional observations regarding the state of the OCA modules in regard to overtime and attendance:

  •  hr_attendance_sheet and hr_attendance_validation: (up to 14.0)
    •  There is a big intersection in the feature sets of both modules. Both are creating a kind of sheet and a multiple step process to verify/approve attendances. They also add features like overtime calculation etc. based on the sheets.
    • A simple migration PR[1] is maybe not worth it because of the core changes in the overtime calculation. E.g. if an approval process is needed shouldn't only approved attendances count towards your overtime?
  • hr_holidays_public: (already 15.0)
    • This module works fine especially the automatic holiday generation with the modules built on top. The module has problems in the overtime calculation. The holidays reduce the days when you request additional holidays. But such a holiday is getting ignored for the overtime calculation. E.g. if you work on a holiday for 9h instead of the regular 8h you get 1h overtime with OCA holiday but 9h for core holiday. It's also not possible to use half holidays (e.g. the 24.12. or 31.12. in Germany). The module also ignores the holidays of the Odoo core. Are there any reasons to stick to the extra model we are not seeing?
    • In 15.0 Odoo core has a own model for public holidays. So just going on we community solution might result in a growing divergence from the core. The feature to generate public holidays is still very comfortable. A new approach could be to rebuild this to create entries of Odoo core model.
  • hr_attendance_report_theoretical_time
    • Here a intersection to the Odoo core overtime calculation in Odoo 15.0 exists, since it comes with some reports (pivot tables).

Is currently somebody else working on it and can share information or experience with overtime in Odoo 15.0 onwards?

Best Regards,



Mit freundlichen Grüßen

Florian Kantelberg

initOS GmbH
Innungsstraße 7
21244 Buchholz i.d.N.

Tel.: +49 (0) 4181 1350344
Fax: +49 (0) 4181 1350310


Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke

Sitz der Gesellschaft: Buchholz i.d.N.
Amtsgericht: Tostedt, HRB 205226
USt-IdNr: DE 815580155
Steuer-Nr: 15/200/53247