diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index 45455a0fb3237ce5b0d5c100592cb23d2fb93fad..9bdcd9e87ff99fd29c58f91f56d6099f2e8c626d 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -303,6 +303,12 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>TIMETRACKINGSUM</name>
+      <title>Time expenses</title>
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js b/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..91a3e076d0cc7c79921b286f3a29247efe27d23f
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js
@@ -0,0 +1,13 @@
+import("system.eMath");
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("Salesproject_lib");
+
+var objectId = ContextUtils.getCurrentContextId();
+var rowId = vars.getString("$field.SALESPROJECTID");
+
+var hrs = Salesproject.getTotalTrackingTime(objectId, rowId) / 60;
+hrs = eMath.roundDec(hrs, 2, eMath.ROUND_HALF_UP);
+
+result.string(hrs + " " + translate.text("hrs"));
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 0220c356e438f93caec2593833348848e6b0672e..1961ad30ca4f5803b0bf1ec963b2eb215d0d9999 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -1530,6 +1530,9 @@
     <entry>
       <key>Swiss franc</key>
     </entry>
+    <entry>
+      <key>hrs</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 6ebf2d3938dafa3844f9c42d57c01b885b6c26e7..8f281a95a4653e5f898e78220d2ad8d2f31f1b07 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -78,6 +78,10 @@
       <key>Customercode</key>
       <value>Kundennummer</value>
     </entry>
+    <entry>
+      <key>Time expenses</key>
+      <value>Aufwand</value>
+    </entry>
     <entry>
       <key>Norwegian</key>
       <value>Norwegisch</value>
@@ -711,6 +715,10 @@
       <key>Salesproject</key>
       <value>Vertriebsprojekt</value>
     </entry>
+    <entry>
+      <key>hrs</key>
+      <value>Std.</value>
+    </entry>
     <entry>
       <key>Rollout</key>
       <value>Roll Out</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 5fb077d32ad3a7f989a1f38a0fa7489d54b50d53..cb879eadc37a225a881ba5308f30454d95104aff 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -1556,6 +1556,9 @@
     <entry>
       <key>Swiss franc</key>
     </entry>
+    <entry>
+      <key>hrs</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index dfa8042e8af3a5ac06c7ee43b87aee9fb7a62b10..5ae0e4ce87a721c66b169da59f446b40edb5050b 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -52,6 +52,10 @@
           <name>774ab565-a5e0-4b31-a77a-39143534f9a8</name>
           <entityField>ESTIMATION</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>bf7ecf7a-3d7f-4ec8-867a-c10ced346343</name>
+          <entityField>TIMETRACKINGSUM</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
diff --git a/process/Salesproject_lib/process.js b/process/Salesproject_lib/process.js
index 20b3bac23f92667573e46f92effa12a47e05c2ed..393cc721882ce3815c532aa1309ce72c7e09f6be 100644
--- a/process/Salesproject_lib/process.js
+++ b/process/Salesproject_lib/process.js
@@ -81,4 +81,22 @@ Salesproject.getSalesProjectTitleById = function(pSalesProjectId)
     return db.cell( SqlCondition.begin()
                         .andPrepare("SALESPROJECT.SALESPROJECTID", pSalesProjectId)
                         .buildSql("select PROJECTTITLE from SALESPROJECT", "1=0"));
+}
+
+/**
+ * calculates the total time of all time trackings of the object
+ * 
+ * @param {String} pObjectId the objectId
+ * @param {String} pRowId the rowId
+ * 
+ * @return {Number} total time in minutes
+ */
+Salesproject.getTotalTrackingTime = function (pObjectId, pRowId)
+{
+    var totalMinutes = db.cell(SqlCondition.begin()
+        .andPrepare("TIMETRACKING.OBJECT_ID", pObjectId)
+        .andPrepare("TIMETRACKING.ROW_ID", pRowId)
+        .buildSql("select sum(MINUTES) from TIMETRACKING", "1=0"));
+    
+    return Number(totalMinutes);
 }
\ No newline at end of file