OdooWiki OCA HUB

Task Logs Utilization Report

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

This module allows to generate Utilization Report from Task Logs.

Features:

  • Configure source data set
  • Select reported fields
  • Select and reorder report line grouping
  • Select time interval
  • Configure capacity format (HH:MM, HH:MM:SS, or decimal)
  • Configure utilization format (percentage or absolute)
  • View in browser, export in PDF and XLSX formats

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Generate a utilization report from timesheet task logs, showing how much of each employee's working capacity was used over a chosen period. Results can be viewed in the browser or exported to PDF and XLSX.

This module adds a report wizard under the Timesheets reporting menu called "Utilization Report Wizard". Users pick a start and end date, optionally limit to active employees, and filter by employees, employee tags or departments. They then choose which fields to group the report by (for example department) and which detail fields to show (for example employee and project), and can reorder them.

A "Split-By Field" option lets users separate logged hours into two columns (for example billable versus non-billable), and the report can show utilization as a percentage or as an absolute number, with time displayed as hours and minutes, hours/minutes/seconds, or decimal.

Buttons on the wizard let users view the report in the browser, export it to PDF, or export it to XLSX. The report calculates each employee's capacity from their working calendar and subtracts leave, then compares it with the hours logged on tasks, producing utilization figures per employee, per group and overall. The same "Generate Utilization Report" action is also available from the Employees and Departments screens, pre-filling the selected records. Only users with Timesheet access rights can use it.

Depends on

hrhr_timesheetreport_xlsx

Menus it adds

Utilization Report Wizard
Models and fields (12)
  • hr.utilization.report · new modeldate_to (End Date), date_from (Start Date), group_ids (Groups), time_format (Time format), employee_ids (Employees), department_ids (Departments), total_capacity (Total Capacity), entry_field_ids (Entry Fields), groupby_field_ids (Group-By Fields), utilization_format (Utilization format), split_by_field_name (Split-By Field), total_unit_amount_a (Total Quantity (A)), total_unit_amount_b (Total Quantity (B)), total_utilization_a (Total Utilization (A)), total_utilization_b (Total Utilization (B)), split_by_field_title (Split-By Field Title), employee_category_ids (Employee Tags), has_multientry_blocks (Has Multi-Entry Blocks), only_active_employees (Only Active Employees)
  • hr.utilization.report.block · new modelcapacity (Capacity), group_id (Group), sequence (Sequence), entry_ids (Entries), employee_id (Employee), is_multientry (Is Multi-Entry), total_unit_amount_a (Total Quantity (A)), total_unit_amount_b (Total Quantity (B)), total_utilization_a (Total Utilization (A)), total_utilization_b (Total Utilization (B))
  • hr.utilization.report.entry · new modelscope (Scope), block_id (Block), sequence (Sequence), any_line_id (Account Analytics Lines), total_unit_amount_a (Total Quantity (A)), total_unit_amount_b (Total Quantity (B)), total_utilization_a (Total Utilization (A)), total_utilization_b (Total Utilization (B))
  • hr.utilization.report.field · new modelgroupby (Group-by expression), sequence (Sequence), report_id (Report), field_name (Field name), field_type (Field type), aggregation (Aggregation), field_title (Field title)
  • hr.utilization.report.group · new modelname, scope (Scope), sequence (Sequence), block_ids (Blocks), report_id (Report), total_capacity (Total Capacity), total_unit_amount_a (Total Quantity (A)), total_unit_amount_b (Total Quantity (B)), total_utilization_a (Total Utilization (A)), total_utilization_b (Total Utilization (B)), has_multientry_blocks (Has Multi-Entry Blocks)
  • hr.utilization.report.wizard · new modeldate_to (End Date), date_from (Start Date), time_format (Time format), employee_ids (Employees), department_ids (Departments), entry_field_ids (Details Fields), grouping_field_ids (Grouping Fields), utilization_format (Utilization format), split_by_field_name (Split-By Field), employee_category_ids (Employee Tags), only_active_employees (Only Active Employees)
  • hr.utilization.report.field.entry · new modelcell_classes (Cell classes)
  • hr.utilization.report.wizard.field · new modelsequence (Sequence), wizard_id (Wizard), field_name (Field), field_type (Type), field_title (Title)
  • hr.utilization.report.field.groupby · new model
  • report.hr_utilization_report.report · new model
  • hr.utilization.report.wizard.field.details · new model
  • hr.utilization.report.wizard.field.grouping · new model

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

Sources · Odoo 14.0

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

terminal Installation and usage

OCA documentation · Odoo 14.0

To create report using Utilization Report Wizard:

  • Go to Timesheets > Reporting > Utilization Report Wizard.
  • Configure the data set and click "View".

To create report using Utilization Report Wizard on a specific set of Employees:

  • Go to Employees > Employees.
  • Select employees that should be used in the report
  • Press the Action > Generate Utilization Report button
  • Configure the report and export it in one of the formats

To create report using Utilization Report Wizard on a specific set of Departments:

  • Go to Employees > Departments.
  • Select departments that should be used in the report
  • Press the Action > Generate Utilization Report button
  • Configure the report and export it in one of the formats

With project_timesheet_holidays module installed, leaves are not taken into account: for a single 4-hour entry on specific day with 8 working hours and 4 hours of leaves, capacity would be calculated as 8 hours and utilization would be calculated as 100%.

Without project_timesheet_holidays module installed, leaves are taken into account: for a single 4-hour entry on specific day with 8 working hours and 4 hours of leaves, capacity would be calculated as 4 hours and utilization would be calculated as 100%.

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.