diff --git a/process/Turnover_lib/process.js b/process/Turnover_lib/process.js
index 1e69ad37d5f05c94e3779b5fe5c6edb3fe81cbc5..b070a1a6605c5a3c5d63ef49760af0709429cf9c 100644
--- a/process/Turnover_lib/process.js
+++ b/process/Turnover_lib/process.js
@@ -78,22 +78,33 @@ TurnoverUtil.getTurnoverData = function (pMaxYear, pYearCount, pSalesprojectId)
  */
 TurnoverUtil.getForecastData = function (pMaxYear, pYearCount, pSalesprojectId)
 {
-    var forecastCategory = translate.text('Forecast');
-
+    var forecastCategory = translate.text("Forecast");
     var minYear = pMaxYear - pYearCount + 1;
+    var sqlMask = new SqlMaskingUtils();
 
     // load data
-    var forecastSelect = newSelect("'" + forecastCategory + "', year(DATE_START) yearNum, month(DATE_START) monthNum, 0 discount, 0 vat, sum(VOLUME) price, 1 quantity, GROUPCODE prodGroup, (" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODE") + ") prodGroupName")
-                            .from("FORECAST")
-                            .where("FORECAST.DATE_START", pMaxYear, "year(#) <= ?", SQLTYPES.INTEGER)
-                            .and("FORECAST.DATE_START", minYear, "year(#) >= ?", SQLTYPES.INTEGER)
+    var forecastSelect = newSelect([
+            "'" + forecastCategory + "'", 
+            sqlMask.yearFromDate("DATE_START") + " yearNum", 
+            sqlMask.monthFromDate("DATE_START") + " monthNum", 
+            "0 discount", 
+            "0 vat", 
+            "sum(VOLUME) price", 
+            "1 quantity", 
+            "GROUPCODE prodGroup", 
+            "(" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODE") + ") prodGroupName"
+        ])
+        .from("FORECAST")
+        .where("FORECAST.DATE_START", pMaxYear, sqlMask.yearFromDate("#") + " <= ?", SQLTYPES.INTEGER)
+        .and("FORECAST.DATE_START", minYear, sqlMask.yearFromDate("#") + " >= ?", SQLTYPES.INTEGER);
+        
     if (pSalesprojectId)
     {
-        forecastSelect.and("FORECAST.OBJECT_TYPE", 'Salesproject')
+        forecastSelect.and("FORECAST.OBJECT_TYPE", "Salesproject")
                       .and("FORECAST.OBJECT_ROWID", pSalesprojectId)
     }   
     
-    forecastSelect.groupBy("year(DATE_START), month(DATE_START), GROUPCODE")
+    forecastSelect.groupBy([sqlMask.yearFromDate("DATE_START"), sqlMask.monthFromDate("DATE_START"), "GROUPCODE"])
                   .orderBy("yearNum, monthNum");
                   
     return forecastSelect.table();