| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Xavier ALT, Xavier Morel, Yannick Tivisse, Julien Castiaux, Prakash Prajapati, Tiffany Chang (tic), Gorash, William Braeckman, Audric Onockx (auon), Vincent Larcin, Victor Piryns (pivi), Dylan Kiss (dyki), Simon Goffaux (sigo), Xavier Bol (xbo), Maxime de Neuville, suth-odoo, Tanguy Quéguineur, Mathieu Coutant, Yassin Abdelkarim, st-yes, Corentin Heinix (cohe), bona-odoo, Krzysztof Magusiak (krma), mjvi-odoo, Dirk Douglas, path-odoo, Vincent Janssen, Shubham Patel, Aurélien Bertrand, Jurgen Gjini |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:43 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - digest - bus - web_tour - html_editor - portal - http_routing - auth_signup - resource - phone_validation - resource_mail - hr_hourly_cost - analytic - uom - project - rating - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
leave_task_form_view |
project.task.leave.form.view | project.task | xpath | Inherits hr_timesheet.view_task_form2_inherited |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
global_leave_id
Many2one → resource.calendar.leaves
export_string_translation=False
index='btree_not_null'
ondelete='cascade'
string='Global Time Off'
args: 'resource.calendar.leaves'
holiday_id
Many2one → hr.leave
copy=False
export_string_translation=False
index='btree_not_null'
string='Time Off Request'
args: 'hr.leave'
task_id
Many2one
domain="[('allow_timesheets', '=', True), ('project_id', '=?', project_id), ('has_template_ancestor', '=', False), ('is_timeoff_task', '=', False)]"
No public methods.
No new fields.
Public methods (2)create(self, vals_list)
write(self, vals)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
write(self, vals)
is_timeoff_task
Boolean
compute='_compute_is_timeoff_task'
export_string_translation=False
groups='hr_timesheet.group_hr_timesheet_user'
search='_search_is_timeoff_task'
args: 'Is Time off Task'
leave_types_count
Integer
compute='_compute_leave_types_count'
string='Time Off Types Count'
No public methods.
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', internal_project_id)]"
string='Time Off Task'
args: 'project.task'
No public methods.
internal_project_id
Many2one
domain="[('company_id', '=', company_id), ('is_template', '=', False)]"
help='The default project used when automatically generating timesheets via time off requests. You can specify another project on each time off type individually.'
readonly=False
related='company_id.internal_project_id'
required=True
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id), ('project_id', '=?', internal_project_id), ('has_template_ancestor', '=', False)]"
help='The default task used when automatically generating timesheets via time off requests. You can specify another task on each time off type individually.'
readonly=False
related='company_id.leave_timesheet_task_id'
string='Time Off Task'
No public methods.
timesheet_ids
One2many → account.analytic.line
export_string_translation=False
string='Analytic Lines'
args: 'account.analytic.line', 'global_leave_id'
create(self, vals_list)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Xavier ALT, Yannick Tivisse, Odoo Online, Prakash Prajapati, Tiffany Chang (tic), Vincent Larcin, alsh-odoo, Louis Wicket (wil), Victor Piryns (pivi), Daniel Kosky (dako), Levi Siuzdak (sile), Dylan Kiss (dyki), Simon Goffaux (sigo), Xavier Bol (xbo), ravb-odoo, Youssef Bashandy, Maxime de Neuville, suth-odoo, Abderraouf Ghrissi (abgh), Tanguy Quéguineur, Louis (wil), Yassin Abdelkarim, Rob Coekaerts, st-yes, Chris Duvivier, Corentin Heinix (cohe), Ritika Shekhawat, Krzysztof Magusiak (krma), Dirk Douglas, sbel-odoo, Uemus, Vincent Janssen, Shubham Patel, Jurgen Gjini |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - digest - bus - web_tour - html_editor - portal - web_editor - http_routing - auth_signup - resource - phone_validation - resource_mail - hr_hourly_cost - analytic - uom - project - rating - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.leave.type.form | hr.leave.type | xpath | Inherits hr_holidays.edit_holiday_status_form |
leave_task_form_view |
project.task.leave.form.view | project.task | xpath | Inherits hr_timesheet.view_task_form2_inherited |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
global_leave_id
Many2one → resource.calendar.leaves
export_string_translation=False
index='btree_not_null'
ondelete='cascade'
string='Global Time Off'
args: 'resource.calendar.leaves'
holiday_id
Many2one → hr.leave
copy=False
export_string_translation=False
index='btree_not_null'
string='Time Off Request'
args: 'hr.leave'
task_id
Many2one
domain="[('allow_timesheets', '=', True), ('project_id', '=?', project_id), ('is_timeoff_task', '=', False)]"
No public methods.
No new fields.
Public methods (2)create(self, vals_list)
write(self, vals)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
write(self, vals)
timesheet_generate
Boolean
compute='_compute_timesheet_generate'
help='If checked, when validating a time off, timesheet will be generated in the Vacation Project of the company.'
readonly=False
store=True
args: 'Generate Timesheets'
timesheet_project_id
Many2one → project.project
compute='_compute_timesheet_project_id'
domain="[('company_id', 'in', [False, company_id])]"
readonly=False
store=True
string='Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
compute='_compute_timesheet_task_id'
domain="[('project_id', '=', timesheet_project_id),('project_id', '!=', False),('company_id', 'in', [False, company_id])]"
readonly=False
store=True
string='Task'
args: 'project.task'
No public methods.
is_timeoff_task
Boolean
compute='_compute_is_timeoff_task'
export_string_translation=False
search='_search_is_timeoff_task'
args: 'Is Time off Task'
leave_types_count
Integer
compute='_compute_leave_types_count'
string='Time Off Types Count'
No public methods.
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', internal_project_id)]"
string='Time Off Task'
args: 'project.task'
No public methods.
internal_project_id
Many2one
domain="[('company_id', '=', company_id)]"
help='The default project used when automatically generating timesheets via time off requests. You can specify another project on each time off type individually.'
readonly=False
related='company_id.internal_project_id'
required=True
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id), ('project_id', '=?', internal_project_id)]"
help='The default task used when automatically generating timesheets via time off requests. You can specify another task on each time off type individually.'
readonly=False
related='company_id.leave_timesheet_task_id'
string='Time Off Task'
No public methods.
timesheet_ids
One2many → account.analytic.line
export_string_translation=False
string='Analytic Lines'
args: 'account.analytic.line', 'global_leave_id'
create(self, vals_list)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/17.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Denis Ledoux, Xavier ALT, Xavier Morel, GitHub, Barad Mahendra, Yannick Tivisse, Odoo Online, Jorge Pinna Puissant, Prakash Prajapati, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Kevin Baptiste, Xavier BOL (xbo), Audric Onockx (auon), Dossogne Bertrand, niyasraphy, Thomas Lefebvre (thle), alsh-odoo, Louis Wicket (wil), Victor Piryns (pivi), Yash Vaishnav, Tom De Caluwé, Daniel Kosky (dako), Levi Siuzdak (sile), Dylan Kiss (dyki), Simon Goffaux (sigo), Kartik Chavda, Xavier Bol (xbo), Youssef Bashandy, suth-odoo, Abderraouf Ghrissi (abgh), Tanguy Quéguineur, Louis (wil), Rob Coekaerts, st-yes, Chris Duvivier, Remi Chauvenne, Ritika Shekhawat, Thomas Carlier(thc), Dirk Douglas, sbel-odoo, Uemus, Vincent Janssen |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:02:08 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - phone_validation - bus - web_tour - resource - hr_hourly_cost - analytic - uom - project - portal - web_editor - http_routing - auth_signup - rating - digest - hr_holidays - calendar - onboarding |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.leave.type.form | hr.leave.type | xpath | Inherits hr_holidays.edit_holiday_status_form |
leave_task_form_view |
project.task.leave.form.view | project.task | xpath | Inherits hr_timesheet.view_task_form2_inherited |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
global_leave_id
Many2one → resource.calendar.leaves
index='btree_not_null'
ondelete='cascade'
string='Global Time Off'
args: 'resource.calendar.leaves'
holiday_id
Many2one → hr.leave
copy=False
index='btree_not_null'
string='Time Off Request'
args: 'hr.leave'
task_id
Many2one
domain="[('allow_timesheets', '=', True), ('project_id', '=?', project_id), ('is_timeoff_task', '=', False)]"
No public methods.
No new fields.
Public methods (2)create(self, vals_list)
write(self, vals)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
write(self, vals)
timesheet_generate
Boolean
compute='_compute_timesheet_generate'
help='If checked, when validating a time off, timesheet will be generated in the Vacation Project of the company.'
readonly=False
store=True
args: 'Generate Timesheets'
timesheet_project_id
Many2one → project.project
compute='_compute_timesheet_project_id'
domain="[('company_id', 'in', [False, company_id])]"
readonly=False
store=True
string='Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
compute='_compute_timesheet_task_id'
domain="[('project_id', '=', timesheet_project_id),('project_id', '!=', False),('company_id', 'in', [False, company_id])]"
readonly=False
store=True
string='Task'
args: 'project.task'
No public methods.
is_timeoff_task
Boolean
compute='_compute_is_timeoff_task'
search='_search_is_timeoff_task'
args: 'Is Time off Task'
leave_types_count
Integer
compute='_compute_leave_types_count'
string='Time Off Types Count'
No public methods.
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', internal_project_id)]"
string='Time Off Task'
args: 'project.task'
No public methods.
internal_project_id
Many2one
domain="[('company_id', '=', company_id)]"
help='The default project used when automatically generating timesheets via time off requests. You can specify another project on each time off type individually.'
readonly=False
related='company_id.internal_project_id'
required=True
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id), ('project_id', '=?', internal_project_id)]"
help='The default task used when automatically generating timesheets via time off requests. You can specify another task on each time off type individually.'
readonly=False
related='company_id.leave_timesheet_task_id'
string='Time Off Task'
No public methods.
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'global_leave_id'
create(self, vals_list)
unlink(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Denis Ledoux, Barad Mahendra, Yannick Tivisse, Victor Feyens, Prakash Prajapati, Kevin Baptiste, Philippe Wauthy, Xavier BOL (xbo), mafo-odoo, Laurent Stukkens (LTU), Vincent Larcin, Thomas Lefebvre (thle), alsh-odoo, Tom De Caluwé, Anna Janiszewska, Daniel Kosky (dako), Michele, Levi Siuzdak (sile), Simon Goffaux (sigo), Kartik Chavda, Xavier Bol (xbo), Nguyễn Đại Dương, Youssef Bashandy, Remi Chauvenne, Ritika Shekhawat, Thomas Carlier(thc) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - bus - web_tour - resource - hr_hourly_cost - analytic - uom - project - portal - web_editor - http_routing - auth_signup - rating - digest - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.leave.type.form | hr.leave.type | xpath | Inherits hr_holidays.edit_holiday_status_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
global_leave_id
Many2one → resource.calendar.leaves
ondelete='cascade'
string='Global Time Off'
args: 'resource.calendar.leaves'
holiday_id
Many2one → hr.leave
copy=False
string='Leave Request'
args: 'hr.leave'
task_id
Many2one
domain="[('allow_timesheets', '=', True),('project_id', '=?', project_id), ('is_timeoff_task', '=', False)]"
create(self, vals_list)
write(self, vals)
No new fields.
Public methods (2)create(self, vals_list)
write(self, vals)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
timesheet_generate
Boolean
compute='_compute_timesheet_generate'
help='If checked, when validating a time off, timesheet will be generated in the Vacation Project of the company.'
readonly=False
store=True
args: 'Generate Timesheet'
timesheet_project_id
Many2one → project.project
default=_default_project_id
domain="[('company_id', '=', company_id)]"
string='Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
compute='_compute_timesheet_task_id'
default=_default_task_id
domain="[('project_id', '=', timesheet_project_id),('project_id', '!=', False),('company_id', '=', company_id)]"
readonly=False
store=True
string='Task'
args: 'project.task'
No public methods.
is_timeoff_task
Boolean
compute='_compute_is_timeoff_task'
search='_search_is_timeoff_task'
args: 'Is Time off Task'
leave_types_count
Integer
compute='_compute_leave_types_count'
No public methods.
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', internal_project_id)]"
string='Time Off Task'
args: 'project.task'
No public methods.
internal_project_id
Many2one
domain="[('company_id', '=', company_id)]"
help='The default project used when automatically generating timesheets via time off requests. You can specify another project on each time off type individually.'
readonly=False
related='company_id.internal_project_id'
required=True
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id), ('project_id', '=?', internal_project_id)]"
help='The default task used when automatically generating timesheets via time off requests. You can specify another task on each time off type individually.'
readonly=False
related='company_id.leave_timesheet_task_id'
string='Time Off Task'
No public methods.
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'global_leave_id'
create(self, vals_list)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Barad Mahendra, Yannick Tivisse, Xavier-Do, Tiffany Chang (tic), William Braeckman, Philippe Wauthy, Xavier BOL (xbo), Mitali Patel, mafo-odoo, Laurent Stukkens (LTU), Vincent Larcin, Thomas Lefebvre (thle), alsh-odoo, Daniel Kosky (dako), Simon Goffaux (sigo), Nguyễn Đại Dương, Youssef Bashandy |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:28 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - bus - web_tour - resource - analytic - uom - project - portal - web_editor - http_routing - auth_signup - rating - digest - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.leave.type.form | hr.leave.type | xpath | Inherits hr_holidays.edit_holiday_status_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
global_leave_id
Many2one → resource.calendar.leaves
copy=False
ondelete='cascade'
string='Global Time Off'
args: 'resource.calendar.leaves'
holiday_id
Many2one → hr.leave
copy=False
string='Leave Request'
args: 'hr.leave'
No public methods.
No new fields.
Public methods (2)create(self, vals)
write(self, vals)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
timesheet_generate
Boolean
compute='_compute_timesheet_generate'
help='If checked, when validating a time off, timesheet will be generated in the Vacation Project of the company.'
readonly=False
store=True
args: 'Generate Timesheet'
timesheet_project_id
Many2one → project.project
default=_default_project_id
domain="[('company_id', '=', company_id)]"
help='The project will contain the timesheet generated when a time off is validated.'
string='Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
compute='_compute_timesheet_task_id'
default=_default_task_id
domain="[('project_id', '=', timesheet_project_id),('company_id', '=', company_id)]"
readonly=False
store=True
string='Task'
args: 'project.task'
No public methods.
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', internal_project_id)]"
string='Time Off Task'
args: 'project.task'
No public methods.
internal_project_id
Many2one
domain="[('company_id', '=', company_id)]"
readonly=False
related='company_id.internal_project_id'
required=True
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id), ('project_id', '=?', internal_project_id)]"
readonly=False
related='company_id.leave_timesheet_task_id'
string='Time Off Task'
No public methods.
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'global_leave_id'
create(self, vals_list)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Nicolas Martinelli, Yannick Tivisse, Julien Castiaux, Xavier-Do, Victor Feyens, jbm-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - bus - web_tour - resource - analytic - uom - project - portal - web_editor - http_routing - auth_signup - rating - digest - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.leave.type.form | hr.leave.type | xpath | Inherits hr_holidays.edit_holiday_status_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
holiday_id
Many2one → hr.leave
string='Leave Request'
args: 'hr.leave'
unlink(self)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
timesheet_generate
Boolean
compute='_compute_timesheet_generate'
help='If checked, when validating a time off, timesheet will be generated in the Vacation Project of the company.'
readonly=False
store=True
args: 'Generate Timesheet'
timesheet_project_id
Many2one → project.project
default=_default_project_id
domain="[('company_id', '=', company_id)]"
help='The project will contain the timesheet generated when a time off is validated.'
string='Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
compute='_compute_timesheet_task_id'
default=_default_task_id
domain="[('project_id', '=', timesheet_project_id),('company_id', '=', company_id)]"
readonly=False
store=True
string='Task for timesheet'
args: 'project.task'
No public methods.
leave_timesheet_project_id
Many2one → project.project
help='Default project value for timesheet generated from time off type.'
string='Internal Project'
args: 'project.project'
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', leave_timesheet_project_id)]"
string='Time Off Task'
args: 'project.task'
init(self)
leave_timesheet_project_id
Many2one
domain="[('company_id', '=', company_id)]"
readonly=False
related='company_id.leave_timesheet_project_id'
required=True
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id), ('project_id', '=?', leave_timesheet_project_id)]"
readonly=False
related='company_id.leave_timesheet_task_id'
string='Time Off Task'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Christophe Simonis, Nicolas Martinelli, Yannick Tivisse, jem-odoo, Adrian Torres, Xavier-Do, fw-bot, Geoffroy Larue |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:43 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - bus - web_tour - resource - mail_bot - analytic - uom - project - portal - web_editor - http_routing - auth_signup - rating - digest - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.leave.type.form | hr.leave.type | xpath | Inherits hr_holidays.edit_holiday_status_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
holiday_id
Many2one → hr.leave
string='Leave Request'
args: 'hr.leave'
unlink(self)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
timesheet_generate
Boolean
default=True
help='If checked, when validating a time off, timesheet will be generated in the Vacation Project of the company.'
args: 'Generate Timesheet'
timesheet_project_id
Many2one → project.project
default=_default_project_id
domain="[('company_id', '=', company_id)]"
help='The project will contain the timesheet generated when a time off is validated.'
string='Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
default=_default_task_id
domain="[('project_id', '=', timesheet_project_id), ('company_id', '=', company_id)]"
string='Task for timesheet'
args: 'project.task'
No public methods.
leave_timesheet_project_id
Many2one → project.project
help='Default project value for timesheet generated from time off type.'
string='Internal Project'
args: 'project.project'
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', leave_timesheet_project_id)]"
string='Time Off Task'
args: 'project.task'
create(self, values)
init(self)
leave_timesheet_project_id
Many2one
domain="[('company_id', '=', company_id)]"
readonly=False
related='company_id.leave_timesheet_project_id'
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id)]"
readonly=False
related='company_id.leave_timesheet_task_id'
string='Time Off Task'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Nicolas Martinelli, GitHub, Yannick Tivisse, qsm-odoo, jem-odoo, RomainLibert, Adrian Torres, mreficent, Xavier-Do, Alexey Pelykh |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:01 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - bus - web_tour - resource - analytic - decimal_precision - uom - project - portal - http_routing - rating - digest - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.leave.type.form | hr.leave.type | xpath | Inherits hr_holidays.edit_holiday_status_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
holiday_id
Many2one → hr.leave
string='Leave Request'
args: 'hr.leave'
unlink(self)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
timesheet_generate
Boolean
default=True
help='If checked, when validating a leave, timesheet will be generated in the Vacation Project of the company.'
args: 'Generate Timesheet'
timesheet_project_id
Many2one → project.project
default=_default_project_id
help='The project will contain the timesheet generated when a leave is validated.'
string='Internal Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
default=_default_task_id
domain="[('project_id', '=', timesheet_project_id)]"
string='Internal Task for timesheet'
args: 'project.task'
No public methods.
leave_timesheet_project_id
Many2one → project.project
help='Default project value for timesheet generated from leave type.'
string='Internal Project'
args: 'project.project'
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', leave_timesheet_project_id)]"
string='Leave Task'
args: 'project.task'
create(self, values)
init(self)
leave_timesheet_project_id
Many2one
domain="[('company_id', '=', company_id)]"
readonly=False
related='company_id.leave_timesheet_project_id'
string='Internal Project'
leave_timesheet_task_id
Many2one
domain="[('company_id', '=', company_id)]"
readonly=False
related='company_id.leave_timesheet_task_id'
string='Leave Task'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/project_timesheet_holidays |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Jérome Maes, Richard Mathot, Yannick Tivisse, Odoo Online, jem-odoo, Christophe Monniez |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:43 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - bus - web_tour - resource - project - product - decimal_precision - analytic - portal - http_routing - web_planner - hr_holidays - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Bridge module to integrate leaves in timesheet
================================================
This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_holiday_status_view_form_inherit |
hr.holidays.status.form | hr.holidays.status | xpath | Inherits hr_holidays.edit_holiday_status_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.project.timesheet.holidays | res.config.settings | xpath | Inherits hr_timesheet.res_config_settings_view_form |
holiday_id
Many2one → hr.holidays
string='Leave Request'
args: 'hr.holidays'
unlink(self)
timesheet_ids
One2many → account.analytic.line
string='Analytic Lines'
args: 'account.analytic.line', 'holiday_id'
action_refuse(self)
timesheet_generate
Boolean
default=True
help='If checked, when validating a leave, timesheet will be generated in the Vacation Project of the company.'
args: 'Generate Timesheet'
timesheet_project_id
Many2one → project.project
default=_default_project_id
help='The project will contain the timesheet generated when a leave is validated.'
string='Internal Project'
args: 'project.project'
timesheet_task_id
Many2one → project.task
default=_default_task_id
domain="[('project_id', '=', timesheet_project_id)]"
string='Internal Task for timesheet'
args: 'project.task'
No public methods.
leave_timesheet_project_id
Many2one → project.project
help='Default project value for timesheet generated from leave type.'
string='Internal Project'
args: 'project.project'
leave_timesheet_task_id
Many2one → project.task
domain="[('project_id', '=', leave_timesheet_project_id)]"
string='Leave Task'
args: 'project.task'
create(self, values)
init(self)
leave_timesheet_project_id
Many2one
related='company_id.leave_timesheet_project_id'
string='Internal Project'
leave_timesheet_task_id
Many2one
related='company_id.leave_timesheet_task_id'
string='Leave Task'
No public methods.