OdooWiki OCA HUB

HR Contract Rate

hr_contract_rate folder_open OCA/hr open_in_new
Human Resources License: AGPL-3

This module allows to specify a contractual rate of Employee using various time periods:

  • Hour
  • Day
  • Week
  • Month
  • Quarter
  • Year

It's possible to specify number of hours/days/weeks per month for wage calculation for the contract.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Lets you enter an employee's contract pay as an amount per hour, day, week, month, quarter or year, and Odoo converts it into the monthly wage used by payroll.

On the employee contract form, the usual monthly wage field is replaced by an "Amount" field followed by a "Period of Amount" selector. You can choose Hour, Day, Week, Month, Quarter or Year, so a contract can be recorded as, for example, 25 per hour or 45,000 per year.

Odoo then calculates the monthly wage automatically: - Hour, day and week amounts are multiplied by the average number of work hours, days or weeks per month. - Month amounts are used as-is; quarter amounts are divided by 3 and year amounts by 12.

Because hourly, daily and weekly rates depend on assumptions, the result is shown as an approximate monthly wage and a flag marks it as not accurate; only month, quarter and year amounts are treated as exact. Three fields let you set the average work hours, days and weeks per month, pre-filled with standard values (about 173 hours, 21.7 days and 4.3 weeks).

When you type a monthly wage directly, the module stores it back as a monthly amount, keeping the two ways of entering pay consistent. Existing contracts are converted on installation, keeping their previous wage as a monthly amount. The changes appear in the Salary and Advantages section of the contract form.

Depends on

hr_contract
Models and fields (1)
  • hr.contract · extends an existing modelwage, amount (Amount), amount_period (Period of Amount), approximate_wage (Wage (approximate)), is_wage_accurate, work_days_per_month (Work days (per month)), work_hours_per_month (Work hours (per month)), work_weeks_per_month (Work weeks (per month))

Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 14.0

Since hourly, daily, and weekly rates are not tranformable to monthly wage with precision, wage is being set to zero in these cases. An extra approximate_wage field is added to store approximately computed average monthly wage. It's also important to review payroll calculation rules.

This module is based on different approach than hr_contract_hourly_rate use.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.