OdooWiki OCA HUB

HR Timesheet Sheet

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

This module supplies a new screen enabling you to manage your work encoding (timesheet) by period. Timesheet entries are made by employees each day. At the end of the defined period, employees submit their validated sheet and the reviewer must then approve submitted entries. Periods are defined in the company forms and you can set them to run monthly, weekly or daily. By default, policy is configured to have HR Officers as reviewers.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Employees can record their time on a weekly, monthly or daily timesheet sheet, submit it for review, and reviewers can approve or reject it. Sheets are created automatically with the right period, employee and reviewer policy.

This module adds a Timesheet Sheet screen where employees enter their time day by day for a defined period (week, month or day, set per company). Each sheet shows a grid of dates against projects and tasks, and the total time is calculated automatically.

  • Employees open their sheet from the My Timesheets menu, fill in the grid, then submit it. Once submitted, the sheet moves to Waiting Review and the entries can no longer be changed.
  • Reviewers see submitted sheets under the To Review menu and can approve or reject them. Approval records who reviewed it; rejection sends it back to Open.
  • The company settings let you choose the period range, the week start day and who reviews sheets (HR Officers, HR Managers or Timesheet Managers).
  • Sheets are linked to employees, departments and companies; overlapping sheets for the same employee are blocked, and start date cannot be after end date.
  • Timesheet entries are automatically attached to the sheet covering their date, and entries in a confirmed or approved sheet cannot be modified or deleted.
  • Employees and departments show counts of sheets and sheets waiting for approval, and the timesheet analysis report can be filtered by sheet.

Depends on

hr_timesheetsale_timesheetweb_widget_x2many_2d_matrix

Menus it adds

menu_act_hr_timesheet_line_to_submitmenu_act_hr_timesheet_line_to_submit_myMy Timesheetsmenu_act_hr_timesheet_sheet_my_timesheetsmenu_act_hr_timesheet_sheet_all_timesheetsTo Reviewmenu_act_hr_timesheet_sheet_to_review
Models and fields (11)
  • hr.employee · extends an existing modeltimesheet_sheet_ids (Timesheet Sheets), timesheet_sheet_count (Timesheet Sheets Count)
  • res.company · extends an existing modelsheet_range (Timesheet Sheet Range), timesheet_week_start (Week start day), timesheet_sheet_review_policy
  • hr.department · extends an existing modeltimesheet_sheet_to_approve_count (Timesheet Sheets to Approve)
  • hr_timesheet.sheet · new modelname, state (Status), user_id (User), date_end (Date To), line_ids (Timesheet Sheet Lines), can_review, company_id (Company), date_start (Date From), total_time, employee_id (Employee), reviewer_id (Reviewer), new_line_ids (Temporary Timesheets), complete_name, department_id (Department), review_policy, timesheet_ids (Timesheets), add_line_task_id (Select Task), available_task_ids (Available Tasks), add_line_project_id (Select Project)
  • res.config.settings · extends an existing modelsheet_range (Timesheet Sheet Range), timesheet_week_start (Week Start Day), timesheet_sheet_review_policy
  • account.analytic.line · extends an existing modelsheet_id (Sheet), sheet_state (Sheet State)
  • hr_timesheet.sheet.line · new modelvalue_x (Date Name), value_y (Project Name), new_line_id
  • account.analytic.account · extends an existing model
  • timesheets.analysis.report · extends an existing modelsheet_id (Sheet)
  • hr_timesheet.sheet.line.abstract · new modeldate, task_id (Task), sheet_id, company_id (Company), project_id (Project), employee_id (Employee), unit_amount (Quantity)
  • hr_timesheet.sheet.new.analytic.line · new model

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

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

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

Sources · Odoo 15.0

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

terminal Installation and usage

OCA documentation · Odoo 18.0

This module relies on:

  • The OCA module '2D matrix for x2many fields', and can be downloaded from Github:

If you want other default ranges different from weekly, you need to go:

  • In the menu Configuration -\> Settings -\> Timesheet Options, and select in Timesheet Sheet Range the default range you want.
  • When you have a weekly range you can also specify the Week Start Day.

To change who reviews submitted sheets, go to Configuration \> Settings \> Timesheet Options and configure Timesheet Sheet Review Policy accordingly.

For adding more review policies, look at the hr_timesheet_sheet_policy_xxx extra modules.

If you modify the Details tab, automatically the Summary tab is updated. But if you modify the Summary tab, you need to save in order to have the Details tab updated.

In case you modify the unit amount of both tabs, the Details tab will prevail. If you modify the Summary tab, and you need to do a change in the Details tab, please save before.

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.