| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/10.0/hr_contract_hourly_rate |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Stéphane Bidoul (ACSONE), Iryna Vushnevska |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_contract_multi_jobs odoo/odoo: - hr_contract - base_action_rule - base - resource - base_setup - web_kanban - web - bus - web_tour - hr |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | field | Inherits hr_contract_multi_jobs.hr_contract_view_form |
view_hr_hourly_rate_class_filter |
Hourly Rate Classes | hr.hourly.rate.class | search | New |
view_hr_hourly_rate_class_form |
hr.hourly.rate.class.form | hr.hourly.rate.class | form | New |
view_hr_hourly_rate_class_tree |
hr.hourly.rate.class.tree | hr.hourly.rate.class | tree | New |
salary_computation_method
Selection
default='monthly'
help='Whether to use the annual wage or an hourly rate for computation of payslip.'
required=True
string='Salary Computation Method'
args: [('yearly', 'Annual Wage'), ('monthly', 'Monthly Wage'), ('hourly', 'Hourly Wage')]
get_job_hourly_rate(self, date_from, date_to, job_id=False, main_job=False)
hourly_rate
Float
compute='_get_current_hourly_rate'
string='Hourly Rate'
hourly_rate_class_id
Many2one → hr.hourly.rate.class
string='Hourly Rate Class'
args: 'hr.hourly.rate.class'
No public methods.
class_id
Many2one → hr.hourly.rate.class
ondelete='cascade'
required=True
string='Salary Class'
args: 'hr.hourly.rate.class'
date_end
Date
string='End Date'
date_start
Date
default=fields.Date.today()
required=True
string='Start Date'
rate
Float
required=True
string='Rate'
No public methods.
contract_job_ids
One2many → hr.contract.job
string='Contract Jobs'
args: 'hr.contract.job', 'hourly_rate_class_id'
line_ids
One2many → hr.hourly.rate
string='Hourly Rates'
args: 'hr.hourly.rate', 'class_id'
name
Char
index=True
required=True
string='Class Name'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/9.0/hr_contract_hourly_rate |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Stéphane Bidoul (ACSONE) |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_contract_multi_jobs odoo/odoo: - hr_contract - base_action_rule - base - resource - base_setup - web_kanban - web - bus - hr - web_tip |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | field | Inherits hr_contract_multi_jobs.hr_contract_view_form |
view_hr_hourly_rate_class_filter |
Hourly Rate Classes | hr.hourly.rate.class | search | New |
view_hr_hourly_rate_class_form |
hr.hourly.rate.class.form | hr.hourly.rate.class | form | New |
view_hr_hourly_rate_class_tree |
hr.hourly.rate.class.tree | hr.hourly.rate.class | tree | New |
salary_computation_method
Selection
default='monthly'
help='Whether to use the annual wage or an hourly rate for computation of payslip.'
required=True
string='Salary Computation Method'
args: [('yearly', 'Annual Wage'), ('monthly', 'Monthly Wage'), ('hourly', 'Hourly Wage')]
get_job_hourly_rate(self, date_from, date_to, job_id=False, main_job=False)
hourly_rate
Float
compute='_get_current_hourly_rate'
string='Hourly Rate'
hourly_rate_class_id
Many2one → hr.hourly.rate.class
string='Hourly Rate Class'
args: 'hr.hourly.rate.class'
No public methods.
class_id
Many2one → hr.hourly.rate.class
ondelete='cascade'
required=True
string='Salary Class'
args: 'hr.hourly.rate.class'
date_end
Date
string='End Date'
date_start
Date
default=fields.Date.today()
required=True
string='Start Date'
rate
Float
required=True
string='Rate'
No public methods.
contract_job_ids
One2many → hr.contract.job
string='Contract Jobs'
args: 'hr.contract.job', 'hourly_rate_class_id'
line_ids
One2many → hr.hourly.rate
string='Hourly Rates'
args: 'hr.hourly.rate', 'class_id'
name
Char
index=True
required=True
string='Class Name'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/8.0/hr_contract_hourly_rate |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Fekete Mihai, Stéphane Bidoul (ACSONE), Alex Comba, OCA Transbot, dufresnedavid, David Dufresne, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:23 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_contract_multi_jobs odoo/odoo: - hr_contract - base_action_rule - base - resource - base_setup - web_kanban - web - hr - board |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | field | Inherits hr_contract_multi_jobs.hr_contract_view_form |
view_hr_hourly_rate_class_filter |
Hourly Rate Classes | hr.hourly.rate.class | search | New |
view_hr_hourly_rate_class_form |
hr.hourly.rate.class.form | hr.hourly.rate.class | form | New |
view_hr_hourly_rate_class_tree |
hr.hourly.rate.class.tree | hr.hourly.rate.class | tree | New |
salary_computation_method
Selection
default='monthly'
help='Whether to use the annual wage or an hourly rate for computation of payslip.'
required=True
string='Salary Computation Method'
args: [('yearly', 'Annual Wage'), ('monthly', 'Monthly Wage'), ('hourly', 'Hourly Wage')]
get_job_hourly_rate(self, date_from, date_to, job_id=False, main_job=False)
hourly_rate
Float
compute='_get_current_hourly_rate'
string='Hourly Rate'
hourly_rate_class_id
Many2one → hr.hourly.rate.class
string='Hourly Rate Class'
args: 'hr.hourly.rate.class'
No public methods.
class_id
Many2one → hr.hourly.rate.class
ondelete='cascade'
required=True
string='Salary Class'
args: 'hr.hourly.rate.class'
date_end
Date
string='End Date'
date_start
Date
default=fields.Date.today()
required=True
string='Start Date'
rate
Float
required=True
string='Rate'
No public methods.
contract_job_ids
One2many → hr.contract.job
string='Contract Jobs'
args: 'hr.contract.job', 'hourly_rate_class_id'
line_ids
One2many → hr.hourly.rate
string='Hourly Rates'
args: 'hr.hourly.rate', 'class_id'
name
Char
index=True
required=True
string='Class Name'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/7.0/hr_contract_hourly_rate |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle, Stéphane Bidoul (ACSONE), OCA Transbot, Rudolf Schnapka, dufresnedavid, Maxime Chambreuil - http://www.savoirfairelinux.com |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:07:14 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_contract_multi_jobs odoo/odoo: - hr_contract - hr - base_setup - base - web_kanban - web - resource - process - board |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Contract Hourly Rate ==================== The objective of this module is to manage employee hourly rates. Annual wage is still possible. On the contract, the field salary_computation_method allows to choose between hourly rate and annual wage. Each contract job belongs to an hourly rate class if the employee is paid by hourly rates. This allows to manage hourly rate increments over the years for multiple employees at the same time. Contributors ------------ * David Dufresne <david.dufresne@savoirfairelinux.com> * Pierre Lamarche <pierre.lamarche@savoirfairelinux.com> |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | field | Inherits hr_contract_multi_jobs.hr_contract_view_form |
view_hr_hourly_rate_class_filter |
Hourly Rate Classes | hr.hourly.rate.class | search | New |
view_hr_hourly_rate_class_form |
hr.hourly.rate.class.form | hr.hourly.rate.class | form | New |
view_hr_hourly_rate_class_tree |
hr.hourly.rate.class.tree | hr.hourly.rate.class | tree | New |
No new fields.
Public methods (1)get_job_hourly_rate(self, cr, uid, date_from, date_to, contract_id, job_id=False, main_job=False, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.