OdooWiki OCA HUB

HR Timesheet: Employee Cost from Contract

hr_timesheet_employee_cost_contract folder_open OCA/timesheet open_in_new
Human Resources License: AGPL-3

This module implements automatic computation of Employee Cost based on contracts.

auto_awesome What this module does

AI-generated from the code · Odoo 12.0

Automatically calculates each employee's hourly timesheet cost from their HR contracts, instead of typing it manually. You can choose the averaging policy (contract, annual or monthly) and switch individual employees back to a manual cost.

This module makes the hourly cost used to value timesheets come from the employee's contract instead of being typed by hand.

In Settings, under Timesheet Cost, you choose the company-wide policy: contract-wide average, annual average or monthly average, and whether manual cost is the default. On each employee you can tick 'Use manual Timesheet Cost' to enter a fixed rate; otherwise the cost is computed from the employee's open, pending or closed contracts that are valid on the date, ignoring contracts flagged 'Exclude from Employee Cost' on the contract form.

On a timesheet line, the 'Recompute Timesheeet Cost' action recalculates the amount from the employee's cost, the hours and the currencies. Unpaid leave is taken into account when working out the hours used in the average.

If you try to type a cost for an employee whose cost is contract-based, Odoo blocks it with an error message. The module touches hr.employee, hr.contract, account.analytic.line, res.company, res.config.settings and resource.calendar.leaves.

Depends on

hr_timesheethr_contracthr_holidays
Models and fields (6)
  • hr.contract · extends an existing modelexclude_from_employee_cost (Exclude from Employee Cost)
  • hr.employee · extends an existing modeltimesheet_cost, timesheet_cost_manual (Timesheet Cost (manual)), timesheet_cost_contracts (Timesheet Cost (contracts)), use_manual_timesheet_cost (Use manual Timesheet Cost)
  • res.company · extends an existing modelemployee_timesheet_cost_policy (Employee's Timesheet Cost policy), use_manual_employee_timesheet_cost (Use manual Employee's Timesheet Cost)
  • res.config.settings · extends an existing modelemployee_timesheet_cost_policy, use_manual_employee_timesheet_cost
  • account.analytic.line · extends an existing model
  • resource.calendar.leaves · extends an existing modelunpaid

Text generated by AI (DeepSeek) from reading the Odoo 12.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: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/timesheet.

terminal Installation and usage

OCA documentation · Odoo 12.0

No extra configuration is required, yet it is possible to exclude specific contract from the Employee Cost computation by marking the contact with "Exclude from Employee Cost" checkbox.

To change how cost is computed:

  • Go to Configuration > Settings > Timesheet Options
  • Configure Employee's Timesheet Cost policy accordingly.

This module also supports optional integration with hr_contract_rate module that allows configuring contract rate with more variety of options: e.g. hourly, monthly, etc. rates.

With project_timesheet_holidays module installed, leaves are not taken into account: effective rate is calculated as if leaves have been tracked to other project.

Without project_timesheet_holidays module installed, leaves are taken into account: cost of paid leaves is split among the actual time entries.

No verified information in OCA: Installation.

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.