diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/adapters/CMakeLists.txt b/SAS/TMSS/backend/src/tmss/tmssapp/adapters/CMakeLists.txt
index 457bdbabeb7c04db158abe1c7a6a6a9b0f5dd90e..d3438271ca516b706d2d6f687b7ec6db2db2253d 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/adapters/CMakeLists.txt
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/adapters/CMakeLists.txt
@@ -5,6 +5,7 @@ set(_py_files
     parset.py
     sip.py
     feedback.py
+    reports.py
     )
 
 python_install(${_py_files}
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/adapters/reports.py b/SAS/TMSS/backend/src/tmss/tmssapp/adapters/reports.py
new file mode 100644
index 0000000000000000000000000000000000000000..7c2d2c11f6ec78d7841ade63ee3df70efb0dd809
--- /dev/null
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/adapters/reports.py
@@ -0,0 +1,21 @@
+from lofar.sas.tmss.tmss.tmssapp import models
+from lofar.sas.tmss.tmss.tmssapp import serializers
+
+from rest_framework.request import Request
+
+import logging
+logger = logging.getLogger(__name__)
+
+
+def create_project_report(request: Request, project: models.Project) -> {}:
+    # TODO: Retrieve the information needed, all in one go.
+    project_pk = project.pk
+    result = {'project': project_pk}  # Object to be returned
+
+    # Add project_quota to result
+    # TODO: Do we also need quota's id?
+    project_quota = models.ProjectQuota.objects.get(project=project_pk)
+    project_quota_data = serializers.ProjectQuotaSerializer(project_quota, context={'request': request}).data
+    result['quota'] = [{k: project_quota_data[k] for k in ('resource_type_id', 'value')}, ]
+
+    return result
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
index bca693a80a0719d0ae487f3d002a57c43af16827..84a9df91c6ee8cf862748d031ca5105b1cdeb906 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
@@ -22,6 +22,7 @@ from drf_yasg.openapi import Parameter
 from lofar.sas.tmss.tmss.tmssapp.viewsets.lofar_viewset import LOFARViewSet, LOFARNestedViewSet, AbstractTemplateViewSet, LOFARCopyViewSet
 from lofar.sas.tmss.tmss.tmssapp import models
 from lofar.sas.tmss.tmss.tmssapp import serializers
+from lofar.sas.tmss.tmss.tmssapp.adapters.reports import create_project_report
 from django.http import JsonResponse
 
 from datetime import datetime
@@ -354,15 +355,8 @@ class ProjectViewSet(LOFARViewSet):
     @action(methods=['get'], detail=True, url_name="report", name="Get Report")
     def report(self, request, pk=None):
         # TODO: Discuss about the endpoint choose. ATM is /project/<project-name>/report
-        # TODO: Decide how to retrieve the information needed: recipe of existing APIs or all in one go.
-
-        result = {} # Object to be returned
-        result['project_id'] = pk
-
-        project_quota = models.ProjectQuota.objects.get(project=pk)
-        project_quota_data = serializers.ProjectQuotaSerializer(project_quota, context={'request': request}).data
-        result['quota'] = project_quota_data
-
+        project = get_object_or_404(models.Project, pk=pk)
+        result = create_project_report(request, project)
         return Response(result, status=status.HTTP_200_OK)