diff --git a/SAS/TMSS/backend/src/tmss/workflowapp/viewsets/schedulingunitflow.py b/SAS/TMSS/backend/src/tmss/workflowapp/viewsets/schedulingunitflow.py
index 618f07a4d34de378833a15dbfcc80d3d9053f9c5..78adf2e6ab7ffa0d3f8134a60682cdd47f109711 100644
--- a/SAS/TMSS/backend/src/tmss/workflowapp/viewsets/schedulingunitflow.py
+++ b/SAS/TMSS/backend/src/tmss/workflowapp/viewsets/schedulingunitflow.py
@@ -15,11 +15,13 @@ from rest_framework.filters import OrderingFilter
 
 from drf_yasg.utils import swagger_auto_schema
 from django_filters import rest_framework as filters
+import django_property_filter as property_filters
 
 from viewflow.flow.views import FlowMixin
 from viewflow.activation import STATUS_CHOICES
 
 from lofar.sas.tmss.tmss.workflowapp import models
+from lofar.sas.tmss.tmss.tmssapp.models import SchedulingUnitStatus, ProjectCategory
 from lofar.sas.tmss.tmss.tmssapp.adapters.keycloak import get_user_mapping
 from lofar.sas.tmss.tmss.tmssapp.viewsets.metadata import LOFARDefaultMetadata
 from lofar.sas.tmss.tmss.tmssapp.viewsets.lofar_viewset import LOFARFilterBackend, FILTER_OVERRIDES
@@ -100,7 +102,7 @@ class SchedulingUnitProcessViewSet(TMSSFilterAndPermissionModelViewSet):
   serializer_class = serializers.SchedulingUnitProcessSerializer
   filter_class = SchedulingUnitProcessFilter  # note that this breaks other filter backends from LOFARViewSet
 
-class SchedulingUnitTaskFilter(filters.FilterSet):
+class SchedulingUnitTaskFilter(property_filters.PropertyFilterSet):
     id = NumberInFilter(field_name='id', lookup_expr='in')
     flow_task = CharInFilter(field_name='flow_task', method='filter_flow_task')
     flow_task_type = filters.CharFilter(field_name='flow_task_type', lookup_expr='icontains')
@@ -114,6 +116,11 @@ class SchedulingUnitTaskFilter(filters.FilterSet):
     owner_email_isnull = filters.BooleanFilter(label='owner_email [isnull]', field_name='owner__email', lookup_expr='isnull')
     owner_username = filters.CharFilter(field_name='owner__username', lookup_expr='icontains')
     owner_username_isnull = filters.BooleanFilter(label='owner_username [isnull]', field_name='owner__username', lookup_expr='isnull')
+    project_name = property_filters.PropertyCharFilter(field_name='project__name', lookup_expr='icontains')
+    project_category = property_filters.PropertyChoiceFilter(label='project category', field_name='project__project_category', choices=[(c.value, c.value) for c in ProjectCategory.Choices])
+    scheduling_unit_status = filters.MultipleChoiceFilter(label='scheduling unit status [any]', field_name='process__schedulingunitprocess__su__status', choices=[(c.value, c.value) for c in SchedulingUnitStatus.Choices], lookup_expr='iexact')
+    scheduling_unit_id = NumberInFilter(field_name='process__schedulingunitprocess__su__id', lookup_expr='in')
+    scheduling_unit_name = filters.CharFilter(field_name='process__schedulingunitprocess__su__name', lookup_expr='icontains')
 
     def filter_flow_task(self, queryset, name, values):
         ids = []