diff --git a/addons/hr_timesheet/models/__init__.py b/addons/hr_timesheet/models/__init__.py
index 87061d8bb36..efa0ce7911a 100644
--- a/addons/hr_timesheet/models/__init__.py
+++ b/addons/hr_timesheet/models/__init__.py
@@ -4,6 +4,7 @@
from . import hr_employee
from . import hr_timesheet
from . import ir_http
+from . import ir_ui_menu
from . import res_company
from . import res_config_settings
from . import project
diff --git a/addons/hr_timesheet/models/ir_ui_menu.py b/addons/hr_timesheet/models/ir_ui_menu.py
new file mode 100644
index 00000000000..6eddc5e8085
--- /dev/null
+++ b/addons/hr_timesheet/models/ir_ui_menu.py
@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+
+
+class IrUiMenu(models.Model):
+ _inherit = 'ir.ui.menu'
+
+ def _load_menus_blacklist(self):
+ res = super()._load_menus_blacklist()
+ if self.env.user.has_group('hr_timesheet.group_hr_timesheet_approver'):
+ res.append(self.env.ref('hr_timesheet.timesheet_menu_activity_user').id)
+ return res
diff --git a/addons/hr_timesheet/security/hr_timesheet_security.xml b/addons/hr_timesheet/security/hr_timesheet_security.xml
index 2c35c99bfb2..8cb5f7ad79b 100644
--- a/addons/hr_timesheet/security/hr_timesheet_security.xml
+++ b/addons/hr_timesheet/security/hr_timesheet_security.xml
@@ -7,14 +7,14 @@
- See own timesheets
+ User: own timesheets only
- Approver
+ User: all timesheets
diff --git a/addons/hr_timesheet/views/hr_timesheet_views.xml b/addons/hr_timesheet/views/hr_timesheet_views.xml
index 534a84c03ab..6695c0f7d47 100644
--- a/addons/hr_timesheet/views/hr_timesheet_views.xml
+++ b/addons/hr_timesheet/views/hr_timesheet_views.xml
@@ -12,6 +12,7 @@