Contributors mailing list archives
contributors@odoo-community.org
Browse archives
Overtime calculation in Odoo 15 and OCA
byHello 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,
Florian
[1] https://github.com/OCA/hr-attendance/pull/114
-- Mit freundlichen Grüßen Florian Kantelberg Softwareentwickler initOS GmbH Innungsstraße 7 21244 Buchholz i.d.N. Tel.: +49 (0) 4181 1350344 Fax: +49 (0) 4181 1350310 Email: florian.kantelberg@initos.com Internet: https://www.initos.com Geschäftsführung: 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
Follow-Ups
-
Re: Overtime calculation in Odoo 15 and OCA
byModuon Team, S. L., Rafael Blasco (Moduon) -
Re: Overtime calculation in Odoo 15 and OCA
byCamptocamp SA, Akim Juillerat -
Re: Overtime calculation in Odoo 15 and OCA
by "Holger Brunn" <mail@hunki-enterprises.nl> - 14/08/2023 07:49:26 - 1 -
Re: Overtime calculation in Odoo 15 and OCA
byInitOS GmbH, Florian Kantelberg -
Re: Overtime calculation in Odoo 15 and OCA
byModuon Team, S. L., Rafael Blasco (Moduon) -
Re: Overtime calculation in Odoo 15 and OCA
byInitOS GmbH, Frederik Kramer -
RE: Overtime calculation in Odoo 15 and OCA
byModuon Team, S. L., Rafael Blasco (Moduon)