| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_template_view_form |
hr.contract.template.view.form.inherit.hr_work_entry | hr.version | separator | Inherits hr.hr_contract_template_form_view |
hr_employee_view_form |
hr.employee.view.form.inherit.hr.work.entry | hr.employee | button | Inherits hr.view_employee_form |
hr_work_entry_calendar_gantt_view_form |
hr.work.entry.form | hr.work.entry | xpath | Inherits hr_work_entry.hr_work_entry_view_form |
hr_work_entry_regeneration_wizard |
hr_work_entry_regeneration_wizard | hr.work.entry.regeneration.wizard | form | New |
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.list | hr.work.entry.type | list | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_calendar_multi_create_form |
hr.work.entry.calendar.multi_create | hr.work.entry | form | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_pivot |
hr.work.entry.pivot | hr.work.entry | pivot | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.list | hr.work.entry | list | New |
resource_calendar_attendance_view_form |
resource.calendar.attendance.form.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_form |
resource_calendar_attendance_view_tree |
resource.calendar.attendance.list.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_tree |
resource_calendar_leave_view_form |
resource.calendar.leaves.form.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_form |
resource_calendar_leave_view_tree |
resource.calendar.leaves.list.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_tree |
resource_calendar_leaves_view_search_inherit |
resource.calendar.leaves.search.inherit | resource.calendar.leaves | filter | Inherits resource.view_resource_calendar_leaves_search |
has_work_entries
Boolean
compute='_compute_has_work_entries'
groups='base.group_system,hr.group_hr_user'
work_entry_source
Selection
groups='hr.group_hr_manager'
inherited=True
readonly=False
related='version_id.work_entry_source'
work_entry_source_calendar_invalid
Boolean
groups='hr.group_hr_manager'
inherited=True
related='version_id.work_entry_source_calendar_invalid'
action_open_work_entries(self, initial_date=False)
create_version(self, values)
generate_work_entries(self, date_start, date_stop, force=False)
active
Boolean
default=True
args: 'Active'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee', 'Employee'
is_checked
Boolean
default=True
user_id
Many2one → res.users
default=<expr>
ondelete='cascade'
required=True
args: 'res.users', 'Me'
No public methods.
date_generated_from
Datetime
default=<expr>
groups='hr.group_hr_user'
readonly=True
required=True
string='Generated From'
tracking=True
date_generated_to
Datetime
default=<expr>
groups='hr.group_hr_user'
readonly=True
required=True
string='Generated To'
tracking=True
last_generation_date
Date
groups='hr.group_hr_user'
readonly=True
string='Last Generation Date'
tracking=True
work_entry_source
Selection
default='calendar'
groups='hr.group_hr_manager'
help="\n Defines the source for work entries generation\n\n Working Schedule: Work entries will be generated from the working hours below.\n Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n "
required=True
tracking=True
args: [('calendar', 'Working Schedule')]
work_entry_source_calendar_invalid
Boolean
compute='_compute_work_entry_source_calendar_invalid'
groups='hr.group_hr_manager'
generate_work_entries(self, date_start, date_stop, force=False)
has_static_work_entries(self)
unlink(self)
write(self, vals)
active
Boolean
default=True
amount_rate
Float
code
Char
related='work_entry_type_id.code'
color
Integer
readonly=True
related='work_entry_type_id.color'
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
string='Company'
args: 'res.company'
conflict
Boolean
compute='_compute_conflict'
store=True
args: 'Conflicts'
country_id
Many2one → res.country
related='employee_id.company_id.country_id'
search='_search_country_id'
args: 'res.country'
date
Date
required=True
department_id
Many2one → hr.department
related='employee_id.department_id'
store=True
args: 'hr.department'
display_code
Char
related='work_entry_type_id.display_code'
duration
Float
default=8
string='Duration'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
required=True
args: 'hr.employee'
external_code
Char
related='work_entry_type_id.external_code'
name
Char
state
Selection
default='draft'
args: [('draft', 'New'), ('conflict', 'In Conflict'), ('validated', 'In Payslip'), ('cancelled', 'Cancelled')]
version_id
Many2one → hr.version
index=True
required=True
string='Employee Record'
args: 'hr.version'
work_entry_source
Selection
related='version_id.work_entry_source'
work_entry_type_id
Many2one → hr.work.entry.type
default=<expr>
domain=<expr>
index=True
args: 'hr.work.entry.type'
action_split(self, vals)
action_validate(self)
create(self, vals_list)
get_unusual_days(self, date_from, date_to=None)
unlink(self)
write(self, vals)
date_from
Date
default=<expr>
required=True
args: 'From'
date_to
Date
compute='_compute_date_to'
default=<expr>
readonly=False
required=True
store=True
args: 'To'
earliest_available_date
Date
compute='_compute_earliest_available_date'
args: 'Earliest date'
earliest_available_date_message
Char
default=''
readonly=True
store=False
employee_ids
Many2many → hr.employee
domain=<expr>
required=True
string='Employees'
args: 'hr.employee'
latest_available_date
Date
compute='_compute_latest_available_date'
args: 'Latest date'
latest_available_date_message
Char
default=''
readonly=True
store=False
search_criteria_completed
Boolean
compute='_compute_search_criteria_completed'
valid
Boolean
compute='_compute_valid'
validated_work_entry_employee_ids
Many2many → hr.employee
compute='_compute_validated_work_entry_employee_ids'
export_string_translation=False
args: 'hr.employee'
regenerate_work_entries(self, slots=None, record_ids=None)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the work entry type without removing it.'
args: 'Active'
amount_rate
Float
default=1.0
help='If you want the hours should be paid double, the rate should be 200%.'
string='Rate'
code
Char
help='Careful, the Code is used in many references, changing it could lead to unwanted changes.'
required=True
string='Payroll Code'
color
Integer
default=0
country_code
Char
related='country_id.code'
country_id
Many2one → res.country
domain=<expr>
string='Country'
args: 'res.country'
display_code
Char
help='This code can be changed, it is only for a display purpose (3 letters max)'
size=3
string='Display Code'
translate=True
external_code
Char
help='Use this code to export your data to a third party'
is_extra_hours
Boolean
help='Check this setting if you want the hours to be considered as extra time and added as a bonus to the basic salary.'
string='Added to Monthly Pay'
is_leave
Boolean
default=False
help='Allow the work entry type to be linked with time off types.'
string='Time Off'
is_work
Boolean
compute='_compute_is_work'
help='If checked, the work entry is counted as work time in the working schedule'
inverse='_inverse_is_work'
readonly=False
string='Working Time'
name
Char
required=True
translate=True
sequence
Integer
default=25
No public methods.
No new fields.
Public methods (0)No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
default=_default_work_entry_type_id
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
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/18.0/hr_work_entry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Damien Bouvy, Yannick Tivisse, Odoo Online, Tiffany Chang (tic), Gorash, Pierre Paridans, Abdelouahab (abla), Louis Wicket (wil), Dylan Kiss (dyki), omra-odoo, Agustin Castro Bugallo, Louis (wil), kais-odoo, Kacper Gasior, dhka-odoo, oumaima-aarabe, Arthur Pierrot (arpi), Madhav Pancholi |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - digest - bus - web_tour - html_editor - portal - web_editor - http_routing - auth_signup - resource - phone_validation - resource_mail |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_employee_view_form |
hr.employee.view.form.inherit.hr.work.entry | hr.employee | div | Inherits hr.view_employee_form |
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.list | hr.work.entry.type | list | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_pivot |
hr.work.entry.pivot | hr.work.entry | pivot | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.list | hr.work.entry | list | New |
resource_calendar_attendance_view_form |
resource.calendar.attendance.form.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_form |
resource_calendar_attendance_view_tree |
resource.calendar.attendance.list.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_tree |
resource_calendar_leave_view_form |
resource.calendar.leaves.form.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_form |
resource_calendar_leave_view_tree |
resource.calendar.leaves.list.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_tree |
resource_calendar_leaves_view_search_inherit |
resource.calendar.leaves.search.inherit | resource.calendar.leaves | filter | Inherits resource.view_resource_calendar_leaves_search |
has_work_entries
Boolean
compute='_compute_has_work_entries'
groups='base.group_system,hr.group_hr_user'
action_open_work_entries(self, initial_date=False)
active
Boolean
default=True
args: 'Active'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee', 'Employee'
user_id
Many2one → res.users
default=<expr>
ondelete='cascade'
required=True
args: 'res.users', 'Me'
No public methods.
active
Boolean
default=True
code
Char
related='work_entry_type_id.code'
color
Integer
readonly=True
related='work_entry_type_id.color'
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
string='Company'
args: 'res.company'
conflict
Boolean
compute='_compute_conflict'
store=True
args: 'Conflicts'
country_id
Many2one → res.country
related='employee_id.company_id.country_id'
search='_search_country_id'
args: 'res.country'
date_start
Datetime
required=True
string='From'
date_stop
Datetime
compute='_compute_date_stop'
readonly=False
store=True
string='To'
department_id
Many2one → hr.department
related='employee_id.department_id'
store=True
args: 'hr.department'
duration
Float
compute='_compute_duration'
readonly=False
store=True
string='Duration'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
required=True
args: 'hr.employee'
external_code
Char
related='work_entry_type_id.external_code'
name
Char
compute='_compute_name'
readonly=False
required=True
store=True
state
Selection
default='draft'
args: [('draft', 'Draft'), ('validated', 'Validated'), ('conflict', 'Conflict'), ('cancelled', 'Cancelled')]
work_entry_type_id
Many2one → hr.work.entry.type
default=<expr>
domain="['|', ('country_id', '=', False), ('country_id', '=', country_id)]"
index=True
args: 'hr.work.entry.type'
action_validate(self)
create(self, vals_list)
init(self)
unlink(self)
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the work entry type without removing it.'
args: 'Active'
code
Char
help='Careful, the Code is used in many references, changing it could lead to unwanted changes.'
required=True
string='Payroll Code'
color
Integer
default=0
country_code
Char
related='country_id.code'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
external_code
Char
help='Use this code to export your data to a third party'
name
Char
required=True
translate=True
sequence
Integer
default=25
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
default=_default_work_entry_type_id
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
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/17.0/hr_work_entry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Yannick Tivisse, Odoo Online, Jorge Pinna Puissant, Tiffany Chang (tic), Gorash, Pierre Paridans, Kevin Baptiste, sofiagvaladze, Abdelouahab (abla), Dossogne Bertrand, niyasraphy, Louis Wicket (wil), Tommy (tong), Jurgen (jugj), Dylan Kiss (dyki), Michael (mcm), dasz, Flotchet, Louis (wil), Kacper Gasior, oumaima-aarabe |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:02:07 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - phone_validation - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_employee_view_form |
hr.employee.view.form.inherit.hr.work.entry | hr.employee | div | Inherits hr.view_employee_form |
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.tree | hr.work.entry.type | tree | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_pivot |
hr.work.entry.pivot | hr.work.entry | pivot | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.tree | hr.work.entry | tree | New |
resource_calendar_attendance_view_form |
resource.calendar.attendance.form.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_form |
resource_calendar_attendance_view_tree |
resource.calendar.attendance.tree.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_tree |
resource_calendar_leave_view_form |
resource.calendar.leaves.form.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_form |
resource_calendar_leave_view_tree |
resource.calendar.leaves.tree.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_tree |
resource_calendar_leaves_view_search_inherit |
resource.calendar.leaves.search.inherit | resource.calendar.leaves | filter | Inherits resource.view_resource_calendar_leaves_search |
has_work_entries
Boolean
compute='_compute_has_work_entries'
action_open_work_entries(self, initial_date=False)
active
Boolean
default=True
args: 'Active'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee', 'Employee'
user_id
Many2one → res.users
default=<expr>
ondelete='cascade'
required=True
args: 'res.users', 'Me'
No public methods.
active
Boolean
default=True
code
Char
related='work_entry_type_id.code'
color
Integer
readonly=True
related='work_entry_type_id.color'
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
string='Company'
args: 'res.company'
conflict
Boolean
compute='_compute_conflict'
store=True
args: 'Conflicts'
date_start
Datetime
required=True
string='From'
date_stop
Datetime
compute='_compute_date_stop'
readonly=False
store=True
string='To'
department_id
Many2one → hr.department
related='employee_id.department_id'
store=True
args: 'hr.department'
duration
Float
compute='_compute_duration'
readonly=False
store=True
string='Duration'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
required=True
args: 'hr.employee'
external_code
Char
related='work_entry_type_id.external_code'
name
Char
compute='_compute_name'
readonly=False
required=True
store=True
state
Selection
default='draft'
args: [('draft', 'Draft'), ('validated', 'Validated'), ('conflict', 'Conflict'), ('cancelled', 'Cancelled')]
work_entry_type_id
Many2one → hr.work.entry.type
default=<expr>
index=True
args: 'hr.work.entry.type'
action_validate(self)
create(self, vals_list)
init(self)
unlink(self)
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the work entry type without removing it.'
args: 'Active'
code
Char
help='Careful, the Code is used in many references, changing it could lead to unwanted changes.'
required=True
string='Payroll Code'
color
Integer
default=0
external_code
Char
help='Use this code to export your data to a third party'
name
Char
required=True
translate=True
sequence
Integer
default=25
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
default=_default_work_entry_type_id
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
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/16.0/hr_work_entry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Yannick Tivisse, Romeo Fragomeli, Victor Feyens, Alvaro Fuentes, Gorash, William Braeckman, Kevin Baptiste, Philippe Wauthy, Dossogne Bertrand, niyasraphy, Tommy (tong), Jurgen (jugj), Kacper Gasior |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_employee_view_form |
hr.employee.view.form.inherit.hr.work.entry | hr.employee | div | Inherits hr.view_employee_form |
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.tree | hr.work.entry.type | tree | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_pivot |
hr.work.entry.pivot | hr.work.entry | pivot | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.tree | hr.work.entry | tree | New |
resource_calendar_attendance_view_form |
resource.calendar.attendance.form.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_form |
resource_calendar_attendance_view_tree |
resource.calendar.attendance.tree.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_tree |
resource_calendar_leave_view_form |
resource.calendar.leaves.form.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_form |
resource_calendar_leave_view_tree |
resource.calendar.leaves.tree.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_tree |
resource_calendar_leaves_view_search_inherit |
resource.calendar.leaves.search.inherit | resource.calendar.leaves | filter | Inherits resource.view_resource_calendar_leaves_search |
No new fields.
Public methods (1)action_open_work_entries(self, initial_date=False)
active
Boolean
default=True
args: 'Active'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee', 'Employee'
user_id
Many2one → res.users
default=<expr>
required=True
args: 'res.users', 'Me'
No public methods.
active
Boolean
default=True
color
Integer
readonly=True
related='work_entry_type_id.color'
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
string='Company'
args: 'res.company'
conflict
Boolean
compute='_compute_conflict'
store=True
args: 'Conflicts'
date_start
Datetime
required=True
string='From'
date_stop
Datetime
compute='_compute_date_stop'
readonly=False
store=True
string='To'
department_id
Many2one → hr.department
related='employee_id.department_id'
store=True
args: 'hr.department'
duration
Float
compute='_compute_duration'
readonly=False
store=True
string='Duration'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
required=True
args: 'hr.employee'
name
Char
compute='_compute_name'
readonly=False
required=True
store=True
state
Selection
default='draft'
args: [('draft', 'Draft'), ('validated', 'Validated'), ('conflict', 'Conflict'), ('cancelled', 'Cancelled')]
work_entry_type_id
Many2one → hr.work.entry.type
default=<expr>
index=True
args: 'hr.work.entry.type'
action_validate(self)
create(self, vals_list)
init(self)
unlink(self)
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the work entry type without removing it.'
args: 'Active'
code
Char
help='Careful, the Code is used in many references, changing it could lead to unwanted changes.'
required=True
color
Integer
default=0
name
Char
required=True
translate=True
sequence
Integer
default=25
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
default=_default_work_entry_type_id
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
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/15.0/hr_work_entry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Yannick Tivisse, Adrien Dieudonne, Xavier-Do, Julien Mougenot, Alvaro Fuentes, William Braeckman, Kevin Baptiste, sofiagvaladze, niyasraphy, Jurgen (jugj), Leonardo Pavan Rocha |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_employee_view_form |
hr.employee.view.form.inherit.hr.work.entry | hr.employee | div | Inherits hr.view_employee_form |
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.tree | hr.work.entry.type | tree | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.tree | hr.work.entry | tree | New |
resource_calendar_attendance_view_form |
resource.calendar.attendance.form.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_form |
resource_calendar_attendance_view_tree |
resource.calendar.attendance.tree.inherit.hr.work.entry | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_tree |
resource_calendar_leave_view_form |
resource.calendar.leaves.form.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_form |
resource_calendar_leave_view_tree |
resource.calendar.leaves.tree.inherit.hr.work.entry | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_tree |
resource_calendar_leaves_view_search_inherit |
resource.calendar.leaves.search.inherit | resource.calendar.leaves | filter | Inherits resource.view_resource_calendar_leaves_search |
No new fields.
Public methods (1)action_open_work_entries(self)
active
Boolean
default=True
args: 'Active'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee', 'Employee'
user_id
Many2one → res.users
default=<expr>
required=True
args: 'res.users', 'Me'
No public methods.
active
Boolean
default=True
color
Integer
readonly=True
related='work_entry_type_id.color'
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
string='Company'
args: 'res.company'
conflict
Boolean
compute='_compute_conflict'
store=True
args: 'Conflicts'
date_start
Datetime
required=True
string='From'
date_stop
Datetime
compute='_compute_date_stop'
readonly=False
store=True
string='To'
department_id
Many2one → hr.department
related='employee_id.department_id'
store=True
args: 'hr.department'
duration
Float
compute='_compute_duration'
store=True
string='Period'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
required=True
args: 'hr.employee'
name
Char
compute='_compute_name'
readonly=False
required=True
store=True
state
Selection
default='draft'
args: [('draft', 'Draft'), ('validated', 'Validated'), ('conflict', 'Conflict'), ('cancelled', 'Cancelled')]
work_entry_type_id
Many2one → hr.work.entry.type
index=True
args: 'hr.work.entry.type'
action_validate(self)
create(self, vals_list)
init(self)
unlink(self)
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the work entry type without removing it.'
args: 'Active'
code
Char
help='Carefull, the Code is used in many references, changing it could lead to unwanted changes.'
required=True
color
Integer
default=0
name
Char
required=True
translate=True
sequence
Integer
default=25
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
default=_default_work_entry_type_id
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
groups='hr.group_hr_user'
args: 'hr.work.entry.type', 'Work Entry Type'
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/14.0/hr_work_entry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Nicolas Martinelli, Aaron Bohy, Yannick Tivisse, Adrien Dieudonne, Xavier-Do, Alvaro Fuentes, jbm-odoo, niyasraphy, Jurgen (jugj) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.tree | hr.work.entry.type | tree | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.tree | hr.work.entry | tree | New |
resource_calendar_attendance_view_form |
resource.calendar.attendance.view.form | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_form |
resource_calendar_attendance_view_tree |
resource.calendar.attendance.view.tree | resource.calendar.attendance | field | Inherits resource.view_resource_calendar_attendance_tree |
resource_calendar_leave_view_form |
resource.calendar.leaves.view.form | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_form |
resource_calendar_leave_view_tree |
resource.calendar.leaves.view.tree | resource.calendar.leaves | field | Inherits resource.resource_calendar_leave_tree |
resource_calendar_view_form |
resource.calendar.view.form | resource.calendar | xpath | Inherits resource.resource_calendar_form |
active
Boolean
default=True
args: 'Active'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee', 'Employee'
user_id
Many2one → res.users
default=<expr>
required=True
args: 'res.users', 'Me'
No public methods.
active
Boolean
default=True
color
Integer
readonly=True
related='work_entry_type_id.color'
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
string='Company'
args: 'res.company'
conflict
Boolean
compute='_compute_conflict'
store=True
args: 'Conflicts'
date_start
Datetime
required=True
string='From'
date_stop
Datetime
compute='_compute_date_stop'
readonly=False
store=True
string='To'
duration
Float
compute='_compute_duration'
store=True
string='Period'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
required=True
args: 'hr.employee'
name
Char
required=True
state
Selection
default='draft'
args: [('draft', 'Draft'), ('validated', 'Validated'), ('conflict', 'Conflict'), ('cancelled', 'Cancelled')]
work_entry_type_id
Many2one → hr.work.entry.type
index=True
args: 'hr.work.entry.type'
action_validate(self)
create(self, vals_list)
init(self)
unlink(self)
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the work entry type without removing it.'
args: 'Active'
code
Char
required=True
color
Integer
default=0
name
Char
required=True
translate=True
sequence
Integer
default=25
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
default=_default_work_entry_type_id
args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
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/hr_work_entry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Human Resources/Employees |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Denis Ledoux, Nicolas Martinelli, Yannick Tivisse, Jigar Patel, Adrien Dieudonne, Adrian Torres, Xavier-Do, Sébastien Theys, Alvaro Fuentes, Kevin Baptiste |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr - base_setup - base - web - bus - web_tour - resource - mail_bot |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.tree | hr.work.entry.type | tree | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.tree | hr.work.entry | tree | New |
active
Boolean
default=True
args: 'Active'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee', 'Employee'
user_id
Many2one → res.users
default=<expr>
required=True
args: 'res.users', 'Me'
No public methods.
active
Boolean
default=True
color
Integer
readonly=True
related='work_entry_type_id.color'
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
string='Company'
args: 'res.company'
conflict
Boolean
compute='_compute_conflict'
store=True
args: 'Conflicts'
date_start
Datetime
required=True
string='From'
date_stop
Datetime
string='To'
duration
Float
compute='_compute_duration'
inverse='_inverse_duration'
store=True
string='Period'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
required=True
args: 'hr.employee'
name
Char
required=True
state
Selection
default='draft'
args: [('draft', 'Draft'), ('validated', 'Validated'), ('conflict', 'Conflict'), ('cancelled', 'Cancelled')]
work_entry_type_id
Many2one → hr.work.entry.type
action_validate(self)
create(self, vals_list)
init(self)
unlink(self)
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the work entry type without removing it.'
args: 'Active'
code
Char
required=True
color
Integer
default=0
name
Char
required=True
sequence
Integer
default=25
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
default=_default_work_entry_type_id
args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
work_entry_type_id
Many2one → hr.work.entry.type
No public methods.