diff --git a/scipost_django/careers/templates/careers/_job_opening_card.html b/scipost_django/careers/templates/careers/_job_opening_card.html
index 264f57eca2b1337d18ccd68c9ac75d80d411c2f9..bd4cd749a4fecb42e791c889594c86bbf934abc1 100644
--- a/scipost_django/careers/templates/careers/_job_opening_card.html
+++ b/scipost_django/careers/templates/careers/_job_opening_card.html
@@ -16,7 +16,7 @@
 	</h3>
       </div>
     </div>
-    {% if perms.careers.add_job_opening %}
+    {% if perms.scipost.can_manage_job_openings %}
       <ul class="list-inline my-4">
 	<li class="list-inline-item">
 	  <a href="{% url 'careers:job_opening_update' slug=job_opening.slug %}" class="text-warning">Update</a></li>
diff --git a/scipost_django/careers/templates/careers/job_opening_detail.html b/scipost_django/careers/templates/careers/job_opening_detail.html
index c673876e13c62a9af057845490ea0eacb886d574..6752da2d2ab624f29cccc8defff6d13075855818 100644
--- a/scipost_django/careers/templates/careers/job_opening_detail.html
+++ b/scipost_django/careers/templates/careers/job_opening_detail.html
@@ -22,7 +22,7 @@
     </div>
   </div>
 
-  {% if perms.careers.add_job_opening %}
+  {% if perms.scipost.can_manage_job_openings %}
     <h1 class="highlight">Applications for this position</h1>
     <div class="accordion" id="job_app_accordion">
       {% for job_app in job_opening.job_applications.all %}
diff --git a/scipost_django/careers/templates/careers/job_opening_list.html b/scipost_django/careers/templates/careers/job_opening_list.html
index 2a5a084d5f7648cbd0c53fd16f11d6c55a4c80ff..54ab0c80aa799de275ab6bd2d98058b8a0e24635 100644
--- a/scipost_django/careers/templates/careers/job_opening_list.html
+++ b/scipost_django/careers/templates/careers/job_opening_list.html
@@ -18,7 +18,7 @@
 	Job Openings
       </h1>
 
-      {% if perms.careers.add_job_opening %}
+      {% if perms.scipost.can_manage_job_openings %}
 	<ul>
 	  <li><a href="{% url 'careers:job_opening_create' %}">Add a Job Opening</a></li>
 	</ul>
@@ -32,7 +32,7 @@
 	    <h1><a href="{{ job.get_absolute_url }}"><strong>{{ job.title }}</strong></a></h1>
 	    <p>
 	      Announced on {{ job.announced|date:'Y-m-d' }}
-	      {% if perms.careers.add_job_opening %}
+	      {% if perms.scipost.can_manage_job_openings %}
 		;&emsp;Status: {{ job.get_status_display }}
 	      {% endif %}
 	    </p>
diff --git a/scipost_django/careers/views.py b/scipost_django/careers/views.py
index 3a85e640cde8111d20e78f815353de5fb6d52b67..935b3e17011f5ae93e0dcf34a73a209bce138cc9 100644
--- a/scipost_django/careers/views.py
+++ b/scipost_django/careers/views.py
@@ -24,7 +24,7 @@ class JobOpeningCreateView(UserPassesTestMixin, CreateView):
     success_url = reverse_lazy("careers:job_openings")
 
     def test_func(self):
-        return self.request.user.has_perm("careers.add_job_opening")
+        return self.request.user.has_perm("scipost.can_manage_job_openings")
 
 
 class JobOpeningUpdateView(UserPassesTestMixin, UpdateView):
@@ -33,7 +33,7 @@ class JobOpeningUpdateView(UserPassesTestMixin, UpdateView):
     success_url = reverse_lazy("careers:job_openings")
 
     def test_func(self):
-        return self.request.user.has_perm("careers.add_job_opening")
+        return self.request.user.has_perm("scipost.can_manage_job_openings")
 
 
 class JobOpeningListView(ListView):
@@ -42,7 +42,7 @@ class JobOpeningListView(ListView):
 
     def get_queryset(self):
         qs = JobOpening.objects.all()
-        if not self.request.user.has_perm("careers.add_job_opening"):
+        if not self.request.user.has_perm("scipost.can_manage_job_openings"):
             qs = qs.publicly_visible()
         return qs
 
@@ -54,7 +54,7 @@ class JobOpeningDetailView(DetailView):
 
     def get_queryset(self):
         qs = JobOpening.objects.all()
-        if not self.request.user.has_perm("careers.add_job_opening"):
+        if not self.request.user.has_perm("scipost.can_manage_job_openings"):
             qs = qs.publicly_visible()
         return qs
 
diff --git a/scipost_django/scipost/management/commands/add_groups_and_permissions.py b/scipost_django/scipost/management/commands/add_groups_and_permissions.py
index 9dcb736d8a6ce814a2d097767d58b4c6c1ad4599..7364f21e88b1bb0386af527ec1fc94634aa43ea3 100644
--- a/scipost_django/scipost/management/commands/add_groups_and_permissions.py
+++ b/scipost_django/scipost/management/commands/add_groups_and_permissions.py
@@ -22,6 +22,9 @@ class Command(BaseCommand):
         FinancialAdmin, created = Group.objects.get_or_create(
             name="Financial Administrators"
         )
+        HumanResourcesAdmin, created = Group.objects.get_or_create(
+            name="Human Resources Administrators"
+        )
         AdvisoryBoard, created = Group.objects.get_or_create(name="Advisory Board")
         EditorialAdmin, created = Group.objects.get_or_create(
             name="Editorial Administrators"
@@ -425,11 +428,18 @@ class Command(BaseCommand):
             name="Can manage subsidies",
             content_type=content_type,
         )
+
+        # Human Resources Administration
         can_view_timesheets, created = Permission.objects.get_or_create(
             codename="can_view_timesheets",
             name="Can view timesheets",
             content_type=content_type,
         )
+        can_manage_job_openings, created = Permission.objects.get_or_create(
+            codename="can_manage_job_openings",
+            name="Can manage job openings",
+            content_type=content_type,
+        )
 
         # News administration
         can_manage_news, created = Permission.objects.get_or_create(
@@ -578,6 +588,13 @@ class Command(BaseCommand):
             ]
         )
 
+        HumanResourcesAdmin.permissions.set(
+            [
+                can_view_timesheets,
+                can_manage_job_openings,
+            ]
+        )
+
         AdvisoryBoard.permissions.set(
             [
                 can_manage_registration_invitations,