diff --git a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
index ee4d7f91050523db74d422c05894dcafc868f284..620de869917cdd857fbdaee72b06b6b9ae84c26c 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
@@ -13,10 +13,4 @@
     <include relativeToChangelogFile="true" file="alter_VisitrecommendationpriorityDatatype.xml"/>
     <include relativeToChangelogFile="true" file="alter_KeywordTitlesForTranslation.xml"/>
     <include relativeToChangelogFile="true" file="alter_CommrestrictionsEmployeeInvolved.xml"/>
-    <include relativeToChangelogFile="true" file="alter_VisitrecommendationpriorityUserNewResp.xml"/>
-    <include relativeToChangelogFile="true" file="insert_VisitFrequencyAttributeUsagePers.xml"/>
-    <include relativeToChangelogFile="true" file="insert_VisitPlanningAttribute.xml"/> 
-    <include relativeToChangelogFile="true" file="insert_VisitPlanEntryStatusAppointment.xml"/> 
-    <include relativeToChangelogFile="true" file="add_VisitPlanEntry.xml"/> 
-    <include relativeToChangelogFile="true" file="add_VisitrecommendationStatus.xml"/> 
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.0/add_VisitPlanEntry.xml b/.liquibase/Data_alias/basic/2021.0.0/Visit/add_VisitPlanEntry.xml
similarity index 100%
rename from .liquibase/Data_alias/basic/2020.2.0/add_VisitPlanEntry.xml
rename to .liquibase/Data_alias/basic/2021.0.0/Visit/add_VisitPlanEntry.xml
diff --git a/.liquibase/Data_alias/basic/2020.2.0/add_VisitrecommendationStatus.xml b/.liquibase/Data_alias/basic/2021.0.0/Visit/add_VisitrecommendationStatus.xml
similarity index 100%
rename from .liquibase/Data_alias/basic/2020.2.0/add_VisitrecommendationStatus.xml
rename to .liquibase/Data_alias/basic/2021.0.0/Visit/add_VisitrecommendationStatus.xml
diff --git a/.liquibase/Data_alias/basic/2020.2.0/alter_VisitrecommendationpriorityUserNewResp.xml b/.liquibase/Data_alias/basic/2021.0.0/Visit/alter_VisitrecommendationpriorityUserNewResp.xml
similarity index 100%
rename from .liquibase/Data_alias/basic/2020.2.0/alter_VisitrecommendationpriorityUserNewResp.xml
rename to .liquibase/Data_alias/basic/2021.0.0/Visit/alter_VisitrecommendationpriorityUserNewResp.xml
diff --git a/.liquibase/Data_alias/basic/2021.0.0/Visit/changelog.xml b/.liquibase/Data_alias/basic/2021.0.0/Visit/changelog.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d6346a774dad2b61c9236231ed90636d636123c6
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.0.0/Visit/changelog.xml
@@ -0,0 +1,11 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include relativeToChangelogFile="true" file="alter_VisitrecommendationpriorityUserNewResp.xml"/>
+    <include relativeToChangelogFile="true" file="insert_VisitFrequencyAttributeUsagePers.xml"/>
+    <include relativeToChangelogFile="true" file="insert_VisitPlanningAttribute.xml"/> 
+    <include relativeToChangelogFile="true" file="insert_VisitPlanEntryStatusAppointment.xml"/> 
+    <include relativeToChangelogFile="true" file="add_VisitPlanEntry.xml"/> 
+    <include relativeToChangelogFile="true" file="add_VisitrecommendationStatus.xml"/> 
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.0/insert_VisitFrequencyAttributeUsagePers.xml b/.liquibase/Data_alias/basic/2021.0.0/Visit/insert_VisitFrequencyAttributeUsagePers.xml
similarity index 100%
rename from .liquibase/Data_alias/basic/2020.2.0/insert_VisitFrequencyAttributeUsagePers.xml
rename to .liquibase/Data_alias/basic/2021.0.0/Visit/insert_VisitFrequencyAttributeUsagePers.xml
diff --git a/.liquibase/Data_alias/basic/2020.2.0/insert_VisitPlanEntryStatusAppointment.xml b/.liquibase/Data_alias/basic/2021.0.0/Visit/insert_VisitPlanEntryStatusAppointment.xml
similarity index 100%
rename from .liquibase/Data_alias/basic/2020.2.0/insert_VisitPlanEntryStatusAppointment.xml
rename to .liquibase/Data_alias/basic/2021.0.0/Visit/insert_VisitPlanEntryStatusAppointment.xml
diff --git a/.liquibase/Data_alias/basic/2020.2.0/insert_VisitPlanningAttribute.xml b/.liquibase/Data_alias/basic/2021.0.0/Visit/insert_VisitPlanningAttribute.xml
similarity index 100%
rename from .liquibase/Data_alias/basic/2020.2.0/insert_VisitPlanningAttribute.xml
rename to .liquibase/Data_alias/basic/2021.0.0/Visit/insert_VisitPlanningAttribute.xml
diff --git a/.liquibase/Data_alias/basic/2021.0.0/changelog.xml b/.liquibase/Data_alias/basic/2021.0.0/changelog.xml
index 68a89e3e7fe42e0da1999d5357912e1ac4e3c583..596d2498a8f91b84c17aa4fe61d6cdf1fb260235 100644
--- a/.liquibase/Data_alias/basic/2021.0.0/changelog.xml
+++ b/.liquibase/Data_alias/basic/2021.0.0/changelog.xml
@@ -2,4 +2,5 @@
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
     <include relativeToChangelogFile="true" file="Classification/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="Visit/changelog.xml"/>
 </databaseChangeLog>
diff --git a/entity/VisitPlanEntry_entity/afterSave.js b/entity/VisitPlanEntry_entity/afterSave.js
index 965057b26347f4a4dfbfd2dbe487c80b0d799352..0474f7803292e84fd36388734a67e8a568cefc41 100644
--- a/entity/VisitPlanEntry_entity/afterSave.js
+++ b/entity/VisitPlanEntry_entity/afterSave.js
@@ -1,3 +1,4 @@
+import("Sql_lib");
 import("system.translate");
 import("system.eMath");
 import("system.datetime");
@@ -16,12 +17,12 @@ var savedData = vars.get("$local.entitydata");
 
 if(savedData["VISITRECOMMENDATION_ID"])
 {
-    db.updateData("VISITRECOMMENDATION", ["STATUS"], db.getColumnTypes("VISITRECOMMENDATION", ["STATUS"]), ["PLANNED"]
-                , "VISITRECOMMENDATIONID = '" + savedData["VISITRECOMMENDATION_ID"] + "'");
+    newWhere("VISITRECOMMENDATION.VISITRECOMMENDATIONID", savedData["VISITRECOMMENDATION_ID"])
+                            .updateData(true, "VISITRECOMMENDATION", ["STATUS"], null, ["PLANNED"]);
 }
 if(savedData["STATUS_APPOINTMENT"] == "VISITSTATUSAPPOINTMENTCONFIRMED")
 {
-    var summary = translate.text("Besuch vor Ort") + " | " + savedData["CONTACT_ID.displayValue"];
+    var summary = translate.text("Site visit") + " | " + savedData["CONTACT_ID.displayValue"];
     var description = savedData["CONTACT_ID.displayValue"];
     var standardMail = CommUtil.getStandardMail(savedData["CONTACT_ID"]); 
     
diff --git a/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js b/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js
index c126a5d2a263001f4b8eaac8baa62547502831dd..7250691eb897d766a2c439be45dd7e9a05553581 100644
--- a/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js
+++ b/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js
@@ -1,10 +1,8 @@
-import("system.logging");
 import("system.datetime");
 import("system.vars");
 import("system.eMath");
 import("system.neon");
 
-logging.log(eMath.absInt(vars.get("$this.value")))
 if(datetime.toDate(vars.get("$this.value"), "HH:mm") == "23:00")
     neon.setFieldValue("$field.END_TIME", eMath.absInt(vars.get("$this.value")) + datetime.ONE_MINUTE * 30);
 else
diff --git a/entity/VisitPlanEntry_entity/entityfields/entityactiongroup/children/newappointment/onActionProcess.js b/entity/VisitPlanEntry_entity/entityfields/entityactiongroup/children/newappointment/onActionProcess.js
index 45e7640fba8b6464723964a809f4c1792e4a76cf..83d2148d4e05ea1d5c71a3b04cedc476baee492b 100644
--- a/entity/VisitPlanEntry_entity/entityfields/entityactiongroup/children/newappointment/onActionProcess.js
+++ b/entity/VisitPlanEntry_entity/entityfields/entityactiongroup/children/newappointment/onActionProcess.js
@@ -1,3 +1,4 @@
+import("Sql_lib");
 import("system.translate");
 import("system.db");
 import("Communication_lib");
@@ -15,12 +16,12 @@ var selectionRowData = vars.get("$sys.selectionRows");
 
 if(selectionRowData[0].VISITRECOMMENDATION_ID)
 {
-    db.updateData("VISITRECOMMENDATION", ["STATUS"], db.getColumnTypes("VISITRECOMMENDATION", ["STATUS"]), ["PLANNED"]
-                , "VISITRECOMMENDATIONID = '" + selectionRowData[0].VISITRECOMMENDATION_ID + "'");
+    newWhere("VISITRECOMMENDATION.VISITRECOMMENDATIONID", selectionRowData[0].VISITRECOMMENDATION_ID)
+            .updateData(true, "VISITRECOMMENDATION", ["STATUS"], null, ["PLANNED"]);
 }
 
 var fullName = ContactUtils.getFullTitleByContactId(selectionRowData[0].CONTACT_ID, true)
-var summary = translate.text("Besuch vor Ort") + " || " + fullName;
+var summary = translate.text("Site visit") + " || " + fullName;
 var description = fullName;
 var standardMail = CommUtil.getStandardMail(selectionRowData[0].CONTACT_ID); 
 
diff --git a/entity/VisitPlanEntry_entity/recordcontainers/jdito/onDelete.js b/entity/VisitPlanEntry_entity/recordcontainers/jdito/onDelete.js
index 21a2ce7d36ca4ec834da97971295351836ace21c..77424135ff0acd196f784311bbc6b6497a9f743e 100644
--- a/entity/VisitPlanEntry_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/VisitPlanEntry_entity/recordcontainers/jdito/onDelete.js
@@ -7,8 +7,8 @@ import("system.db");
 var id = vars.get("$field.APPOINTMENT_ID") //deletes appointmententries (+ the linked Objects) if an appointment has been made
 var recommendationId = vars.get("$field.VISITRECOMMENDATION_ID");
 
-db.updateData("VISITRECOMMENDATION", ["STATUS"], db.getColumnTypes("VISITRECOMMENDATION", ["STATUS"]), [""]
-                , "VISITRECOMMENDATIONID = '" + recommendationId + "'");
+newWhere("VISITRECOMMENDATION.VISITRECOMMENDATIONID", recommendationId)
+    .updateData(true, "VISITRECOMMENDATION", ["STATUS"], null, [""]);
 
 new SqlBuilder(SqlUtils.getSystemAlias()).whereIfSet("ASYS_CALENDARBACKEND.ELEMENTUID", id)
     .deleteData();
diff --git a/entity/VisitRecommendation_entity/entityfields/due_date/valueProcess.js b/entity/VisitRecommendation_entity/entityfields/due_date/valueProcess.js
index 46c3b4a98fb916908db9ff8acdb4f9c71bc93c66..9d7a1644833767138c6693baa5090f9d41247257 100644
--- a/entity/VisitRecommendation_entity/entityfields/due_date/valueProcess.js
+++ b/entity/VisitRecommendation_entity/entityfields/due_date/valueProcess.js
@@ -1,5 +1,4 @@
 import("system.datetime");
-import("system.logging");
 import("Sql_lib");
 import("Employee_lib");
 import("system.neon");
@@ -22,19 +21,15 @@ if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.v
     {
         case "2 Weeks":
             due_date =due_date.setDate(due_date.getDate() +  14);
-            logging.log("2");
             break;
         case "1 Month":
             due_date = due_date.setMonth(due_date.getMonth() + 1);
-            logging.log("1")
             break;
         case "6 Months":
             due_date = due_date.setMonth(due_date.getMonth() +  6);
-            logging.log("6")
             break;
         case "12 Months":
             due_date = due_date.setMonth(due_date.getMonth() +  12);
-            logging.log("12")
             break;
     }
     result.string(due_date);
diff --git a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
index 980747cff5b6ac1ec128df4c9317c3d645ecc509..b81300d798fe257ccabdec92ab27e71394fc5f2b 100644
--- a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
@@ -21,7 +21,6 @@ import("Address_lib");
 var recommendationData = [];
 var tmpData = [];
 var activitySubQuery = "";
-logging.log(JSON.stringify(vars.get("$local.filter")));
 var recommendationSQLData = newSelect(
                             [
                                 "VISITRECOMMENDATIONID",                //0
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index a758af9c942cc250d654bdd434668da16fd5c0b7..c1fa3d52f8c452a64eb937ce415637877e7077dc 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7635,6 +7635,33 @@
     <entry>
       <key>Delete this Function</key>
     </entry>
+    <entry>
+      <key>Subtotal</key>
+    </entry>
+    <entry>
+      <key>incl. Vat</key>
+    </entry>
+    <entry>
+      <key>Invoice Discount</key>
+    </entry>
+    <entry>
+      <key>discounted Vat</key>
+    </entry>
+    <entry>
+      <key>discounted Price</key>
+    </entry>
+    <entry>
+      <key>The selected Contact doesn't have an address set.</key>
+    </entry>
+    <entry>
+      <key>Sent offers</key>
+    </entry>
+    <entry>
+      <key>Salesproject phases</key>
+    </entry>
+    <entry>
+      <key>without Vat</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 777c475f3627acbcb77f8713ad18a85ccfa8f34b..c775a6fdeb8eeec19508ab5edc47113e1d37d0c6 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -5746,6 +5746,10 @@
       <key>medium</key>
       <value>mittel</value>
     </entry>
+    <entry>
+      <key>Site visit</key>
+      <value>Besuch vor Ort</value>
+    </entry>
     <entry>
       <key>D</key>
       <value>D</value>
@@ -10096,6 +10100,12 @@ Bitte Datumseingabe prüfen</value>
       <key>Filter set</key>
       <value>Filter gesetzt</value>
     </entry>
+    <entry>
+      <key>Sent Offers</key>
+    </entry>
+    <entry>
+      <key>Salesproject Phases</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index d814ed36cd51e1f102adc00c99214b1d22e83e4a..f42c439be862ad8b8ffafe068fbb02e3c3b4061f 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7716,6 +7716,33 @@
     <entry>
       <key>Delete this Function</key>
     </entry>
+    <entry>
+      <key>Subtotal</key>
+    </entry>
+    <entry>
+      <key>incl. Vat</key>
+    </entry>
+    <entry>
+      <key>Invoice Discount</key>
+    </entry>
+    <entry>
+      <key>discounted Vat</key>
+    </entry>
+    <entry>
+      <key>discounted Price</key>
+    </entry>
+    <entry>
+      <key>The selected Contact doesn't have an address set.</key>
+    </entry>
+    <entry>
+      <key>Sent offers</key>
+    </entry>
+    <entry>
+      <key>Salesproject phases</key>
+    </entry>
+    <entry>
+      <key>without Vat</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/VisitRecommendationFilter_view/VisitRecommendationFilter_view.aod b/neonView/VisitRecommendationFilter_view/VisitRecommendationFilter_view.aod
index b54b9c51ddde42b9a7d5308db4594fabb6f59141..764f109ee4c8995466635b4d00452eacb11a2236 100644
--- a/neonView/VisitRecommendationFilter_view/VisitRecommendationFilter_view.aod
+++ b/neonView/VisitRecommendationFilter_view/VisitRecommendationFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.7">
   <name>VisitRecommendationFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
@@ -11,8 +11,8 @@
   <children>
     <tableViewTemplate>
       <name>Table</name>
-      <favoriteActionGroup1>newEntryGroup</favoriteActionGroup1>
       <entityField>#ENTITY</entityField>
+      <favoriteActionGroup1>newEntryGroup</favoriteActionGroup1>
       <isCreatable v="true" />
       <isDeletable v="true" />
       <isEditable v="true" />
@@ -73,8 +73,8 @@
     </tableViewTemplate>
     <treeTableViewTemplate>
       <name>Treetable</name>
-      <favoriteActionGroup1>newEntryGroup</favoriteActionGroup1>
       <entityField>#ENTITY</entityField>
+      <favoriteActionGroup1>newEntryGroup</favoriteActionGroup1>
       <columns>
         <neonTreeTableColumn>
           <name>297bae8e-4d8c-4fbf-90fb-240369d48ff9</name>