diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index eef24ef3cd3f4d92c04b806e29c050f672321b13..e14ea6c3ce666053f3fb105bad8f62eb71147854 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -1,500 +1,498 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
-  <name>Contract_entity</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <documentation>%aditoprj%/entity/Contract_entity/documentation.adoc</documentation>
-  <title>Contract</title>
-  <contentTitleProcess>%aditoprj%/entity/Contract_entity/contentTitleProcess.js</contentTitleProcess>
-  <afterUiInit>%aditoprj%/entity/Contract_entity/afterUiInit.js</afterUiInit>
-  <iconId>VAADIN:FILE_TEXT</iconId>
-  <titlePlural>Contracts</titlePlural>
-  <recordContainer>db</recordContainer>
-  <entityFields>
-    <entityField>
-      <name>CONTRACTCODE</name>
-      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractcode/documentation.adoc</documentation>
-      <title>Contract number</title>
-      <mandatory v="true" />
-      <state>READONLY</state>
-      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractcode/valueProcess.js</valueProcess>
-      <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractcode/onValidation.js</onValidation>
-    </entityField>
-    <entityField>
-      <name>CONTRACTDUE</name>
-      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractdue/documentation.adoc</documentation>
-      <title>Next due date</title>
-      <contentType>DATE</contentType>
-      <resolution>DAY</resolution>
-      <outputFormat>dd.MM.yyyy</outputFormat>
-      <inputFormat>dd.MM.yyyy</inputFormat>
-      <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractdue/onValidation.js</onValidation>
-    </entityField>
-    <entityField>
-      <name>CONTRACTEND</name>
-      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractend/documentation.adoc</documentation>
-      <title>Contract expiry date</title>
-      <contentType>DATE</contentType>
-      <resolution>DAY</resolution>
-      <outputFormat>dd.MM.yyyy</outputFormat>
-      <inputFormat>dd.MM.yyyy</inputFormat>
-      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractend/valueProcess.js</valueProcess>
-      <onValueChange>%aditoprj%/entity/Contract_entity/entityfields/contractend/onValueChange.js</onValueChange>
-      <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractend/onValidation.js</onValidation>
-    </entityField>
-    <entityField>
-      <name>CONTRACTID</name>
-      <searchable v="false" />
-      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractid/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>CONTRACTSTART</name>
-      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractstart/documentation.adoc</documentation>
-      <title>Contract start date</title>
-      <contentType>DATE</contentType>
-      <resolution>DAY</resolution>
-      <outputFormat>dd.MM.yyyy</outputFormat>
-      <inputFormat>dd.MM.yyyy</inputFormat>
-      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstart/valueProcess.js</valueProcess>
-      <onValueChange>%aditoprj%/entity/Contract_entity/entityfields/contractstart/onValueChange.js</onValueChange>
-      <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractstart/onValidation.js</onValidation>
-    </entityField>
-    <entityField>
-      <name>CONTRACTSTATUS</name>
-      <title>${CONTRACT_STATUS}</title>
-      <consumer>ContractStates</consumer>
-      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstatus/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>CONTRACTTYPE</name>
-      <title>Type of contract</title>
-      <consumer>ContractTypes</consumer>
-      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contracttype/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>PAYMENT</name>
-      <title>Payment method</title>
-      <consumer>ContractPayments</consumer>
-      <mandatory v="true" />
-      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/payment/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>CONTACT_ID</name>
-      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contact_id/documentation.adoc</documentation>
-      <title>Connection</title>
-      <consumer>AnyContacts</consumer>
-      <linkedContextProcess>%aditoprj%/entity/Contract_entity/entityfields/contact_id/linkedContextProcess.js</linkedContextProcess>
-      <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contact_id/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>REMARK</name>
-      <title>Description</title>
-      <contentType>LONG_TEXT</contentType>
-    </entityField>
-    <entityProvider>
-      <name>Contracts</name>
-      <fieldType>DEPENDENCY_IN</fieldType>
-      <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>6d7c7166-84b4-4da2-9a48-cc1e390ac987</name>
-          <entityName>Organisation_entity</entityName>
-          <fieldName>Contracts</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>3698fe59-fd02-427b-8c95-a90c7d8036e5</name>
-          <entityName>Person_entity</entityName>
-          <fieldName>Contracts</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-      <children>
-        <entityParameter>
-          <name>ContactId_param</name>
-          <expose v="true" />
-        </entityParameter>
-      </children>
-    </entityProvider>
-    <entityParameter>
-      <name>ContactId_param</name>
-      <expose v="true" />
-      <mandatory v="false" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityField>
-      <name>IMAGE</name>
-      <contentType>IMAGE</contentType>
-      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/image/valueProcess.js</valueProcess>
-    </entityField>
-    <entityFieldGroup>
-      <name>CONTRACTCODE_DISPLAY_fieldGroup</name>
-      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/valueProcess.js</valueProcess>
-      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/documentation.adoc</documentation>
-      <description>FIELDGROUP</description>
-      <fields>
-        <element>CONTRACTTYPE</element>
-        <element>CONTRACTCODE</element>
-      </fields>
-    </entityFieldGroup>
-    <entityConsumer>
-      <name>Activities</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>RowId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>PresetLinks_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>AnyContacts</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AnyContact_entity</entityName>
-        <fieldName>#PROVIDER</fieldName>
-      </dependency>
-    </entityConsumer>
-    <entityProvider>
-      <name>#PROVIDER</name>
-      <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>7d8f586a-3ee0-47e8-b328-3b624cf4abfa</name>
-          <entityName>Object_entity</entityName>
-          <fieldName>Contracts</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-    </entityProvider>
-    <entityField>
-      <name>CONTACT_ORG_ID</name>
-      <searchable v="false" />
-    </entityField>
-    <entityField>
-      <name>CONTACT_PERSON_ID</name>
-      <searchable v="false" />
-    </entityField>
-    <entityConsumer>
-      <name>Documents</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>AssignmentName_param</name>
-          <triggerRecalculation v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
-          <triggerRecalculation v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentTable_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
-          <triggerRecalculation v="false" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>MainDocuments</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>MainDocuments</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>AssignmentName_param</name>
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentTable_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>ContractPayments</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ContainerName_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractpayments/children/containername_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>ContractStates</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ContainerName_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstates/children/containername_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>ContractTypes</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ContainerName_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contracttypes/children/containername_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityActionField>
-      <name>newActivity</name>
-      <fieldType>ACTION</fieldType>
-      <title>New activity</title>
-      <onActionProcess>%aditoprj%/entity/Contract_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
-      <iconId>NEON:HISTORY</iconId>
-      <tooltip>New activity</tooltip>
-      <tooltipProcess>%aditoprj%/entity/Contract_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
-    </entityActionField>
-    <entityConsumer>
-      <name>Attributes</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <onValidation>%aditoprj%/entity/Contract_entity/entityfields/attributes/onValidation.js</onValidation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ObjectRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-          <triggerRecalculation v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectType_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-          <triggerRecalculation v="true" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>AttributeTree</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ObjectType_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess>
-          <triggerRecalculation v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess>
-          <triggerRecalculation v="true" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Tasks</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ObjectId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>RowId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>PresetLinks_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityActionField>
-      <name>newTask</name>
-      <fieldType>ACTION</fieldType>
-      <title>New task</title>
-      <onActionProcess>%aditoprj%/entity/Contract_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
-      <iconId>VAADIN:TASKS</iconId>
-    </entityActionField>
-    <entityConsumer>
-      <name>LogHistoryConsumer</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-  </entityFields>
-  <recordContainers>
-    <dbRecordContainer>
-      <name>db</name>
-      <alias>Data_alias</alias>
-      <maximumDbRows v="0" />
-      <fromClauseProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
-      <conditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
-      <orderClauseProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
-      <linkInformation>
-        <linkInformation>
-          <name>78925203-f1c5-4e7e-9424-1a23500c655d</name>
-          <tableName>CONTRACT</tableName>
-          <primaryKey>CONTRACTID</primaryKey>
-          <isUIDTable v="true" />
-          <readonly v="false" />
-        </linkInformation>
-        <linkInformation>
-          <name>0637150d-c535-41ce-85f3-e9a6b980d195</name>
-          <tableName>CONTACT</tableName>
-          <primaryKey>CONTACTID</primaryKey>
-          <isUIDTable v="false" />
-          <readonly v="true" />
-        </linkInformation>
-        <linkInformation>
-          <name>9ba7de4b-999c-44cc-95ee-0dbdcc35bf0f</name>
-          <tableName>ORGANISATION</tableName>
-          <primaryKey>ORGANISATIONID</primaryKey>
-          <isUIDTable v="false" />
-          <readonly v="true" />
-        </linkInformation>
-        <linkInformation>
-          <name>748d1280-6dd2-4ada-837e-b331166e78d3</name>
-          <tableName>PERSON</tableName>
-          <primaryKey>PERSONID</primaryKey>
-          <isUIDTable v="false" />
-          <readonly v="true" />
-        </linkInformation>
-      </linkInformation>
-      <recordFieldMappings>
-        <dbRecordFieldMapping>
-          <name>CONTRACTCODE.value</name>
-          <recordfield>CONTRACT.CONTRACTCODE</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTDUE.value</name>
-          <recordfield>CONTRACT.CONTRACTDUE</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTEND.value</name>
-          <recordfield>CONTRACT.CONTRACTEND</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTID.value</name>
-          <recordfield>CONTRACT.CONTRACTID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTSTART.value</name>
-          <recordfield>CONTRACT.CONTRACTSTART</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTSTATUS.value</name>
-          <recordfield>CONTRACT.CONTRACTSTATUS</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTTYPE.value</name>
-          <recordfield>CONTRACT.CONTRACTTYPE</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>PAYMENT.value</name>
-          <recordfield>CONTRACT.PAYMENT</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>REMARK.value</name>
-          <recordfield>CONTRACT.REMARK</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTACT_ID.value</name>
-          <recordfield>CONTRACT.CONTACT_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTACT_ORG_ID.value</name>
-          <recordfield>CONTACT.ORGANISATION_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTACT_PERSON_ID.value</name>
-          <recordfield>CONTACT.PERSON_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>PERSON_FIRSTNAME.value</name>
-          <recordfield>PERSON.FIRSTNAME</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>PERSON_LASTNAME.value</name>
-          <recordfield>PERSON.LASTNAME</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>PAYMENT.displayValue</name>
-          <expression>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/payment.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTSTATUS.displayValue</name>
-          <expression>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contractstatus.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONTRACTTYPE.displayValue</name>
-          <expression>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contracttype.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
-      </recordFieldMappings>
-    </dbRecordContainer>
-  </recordContainers>
-</entity>
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
+  <name>Contract_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/Contract_entity/documentation.adoc</documentation>
+  <title>Contract</title>
+  <contentTitleProcess>%aditoprj%/entity/Contract_entity/contentTitleProcess.js</contentTitleProcess>
+  <afterUiInit>%aditoprj%/entity/Contract_entity/afterUiInit.js</afterUiInit>
+  <onValidation>%aditoprj%/entity/Contract_entity/onValidation.js</onValidation>
+  <iconId>VAADIN:FILE_TEXT</iconId>
+  <titlePlural>Contracts</titlePlural>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityField>
+      <name>CONTRACTCODE</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractcode/documentation.adoc</documentation>
+      <title>Contract number</title>
+      <mandatory v="true" />
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractcode/valueProcess.js</valueProcess>
+      <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractcode/onValidation.js</onValidation>
+    </entityField>
+    <entityField>
+      <name>CONTRACTDUE</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractdue/documentation.adoc</documentation>
+      <title>Next due date</title>
+      <contentType>DATE</contentType>
+      <resolution>DAY</resolution>
+      <outputFormat>dd.MM.yyyy</outputFormat>
+      <inputFormat>dd.MM.yyyy</inputFormat>
+    </entityField>
+    <entityField>
+      <name>CONTRACTEND</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractend/documentation.adoc</documentation>
+      <title>Contract expiry date</title>
+      <contentType>DATE</contentType>
+      <resolution>DAY</resolution>
+      <outputFormat>dd.MM.yyyy</outputFormat>
+      <inputFormat>dd.MM.yyyy</inputFormat>
+      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractend/valueProcess.js</valueProcess>
+      <onValueChange>%aditoprj%/entity/Contract_entity/entityfields/contractend/onValueChange.js</onValueChange>
+    </entityField>
+    <entityField>
+      <name>CONTRACTID</name>
+      <searchable v="false" />
+      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>CONTRACTSTART</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractstart/documentation.adoc</documentation>
+      <title>Contract start date</title>
+      <contentType>DATE</contentType>
+      <resolution>DAY</resolution>
+      <outputFormat>dd.MM.yyyy</outputFormat>
+      <inputFormat>dd.MM.yyyy</inputFormat>
+      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstart/valueProcess.js</valueProcess>
+      <onValueChange>%aditoprj%/entity/Contract_entity/entityfields/contractstart/onValueChange.js</onValueChange>
+    </entityField>
+    <entityField>
+      <name>CONTRACTSTATUS</name>
+      <title>${CONTRACT_STATUS}</title>
+      <consumer>ContractStates</consumer>
+      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstatus/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>CONTRACTTYPE</name>
+      <title>Type of contract</title>
+      <consumer>ContractTypes</consumer>
+      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contracttype/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>PAYMENT</name>
+      <title>Payment method</title>
+      <consumer>ContractPayments</consumer>
+      <mandatory v="true" />
+      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/payment/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>CONTACT_ID</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contact_id/documentation.adoc</documentation>
+      <title>Connection</title>
+      <consumer>AnyContacts</consumer>
+      <linkedContextProcess>%aditoprj%/entity/Contract_entity/entityfields/contact_id/linkedContextProcess.js</linkedContextProcess>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contact_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>REMARK</name>
+      <title>Description</title>
+      <contentType>LONG_TEXT</contentType>
+    </entityField>
+    <entityProvider>
+      <name>Contracts</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>6d7c7166-84b4-4da2-9a48-cc1e390ac987</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>Contracts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>3698fe59-fd02-427b-8c95-a90c7d8036e5</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>Contracts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>ContactId_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityParameter>
+      <name>ContactId_param</name>
+      <expose v="true" />
+      <mandatory v="false" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityField>
+      <name>IMAGE</name>
+      <contentType>IMAGE</contentType>
+      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/image/valueProcess.js</valueProcess>
+    </entityField>
+    <entityFieldGroup>
+      <name>CONTRACTCODE_DISPLAY_fieldGroup</name>
+      <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/valueProcess.js</valueProcess>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/documentation.adoc</documentation>
+      <description>FIELDGROUP</description>
+      <fields>
+        <element>CONTRACTTYPE</element>
+        <element>CONTRACTCODE</element>
+      </fields>
+    </entityFieldGroup>
+    <entityConsumer>
+      <name>Activities</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>PresetLinks_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>AnyContacts</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AnyContact_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityProvider>
+      <name>#PROVIDER</name>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>7d8f586a-3ee0-47e8-b328-3b624cf4abfa</name>
+          <entityName>Object_entity</entityName>
+          <fieldName>Contracts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityProvider>
+    <entityField>
+      <name>CONTACT_ORG_ID</name>
+      <searchable v="false" />
+    </entityField>
+    <entityField>
+      <name>CONTACT_PERSON_ID</name>
+      <searchable v="false" />
+    </entityField>
+    <entityConsumer>
+      <name>Documents</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>AssignmentName_param</name>
+          <triggerRecalculation v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
+          <triggerRecalculation v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentTable_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
+          <triggerRecalculation v="false" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>MainDocuments</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>MainDocuments</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>AssignmentName_param</name>
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentTable_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>ContractPayments</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractpayments/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>ContractStates</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>ContractTypes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contracttypes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityActionField>
+      <name>newActivity</name>
+      <fieldType>ACTION</fieldType>
+      <title>New activity</title>
+      <onActionProcess>%aditoprj%/entity/Contract_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
+      <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Contract_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
+    </entityActionField>
+    <entityConsumer>
+      <name>Attributes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <onValidation>%aditoprj%/entity/Contract_entity/entityfields/attributes/onValidation.js</onValidation>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+          <triggerRecalculation v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>AttributeTree</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Tasks</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>PresetLinks_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityActionField>
+      <name>newTask</name>
+      <fieldType>ACTION</fieldType>
+      <title>New task</title>
+      <onActionProcess>%aditoprj%/entity/Contract_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:TASKS</iconId>
+    </entityActionField>
+    <entityConsumer>
+      <name>LogHistoryConsumer</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>tablenames_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <maximumDbRows v="0" />
+      <fromClauseProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
+      <conditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <orderClauseProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
+      <linkInformation>
+        <linkInformation>
+          <name>78925203-f1c5-4e7e-9424-1a23500c655d</name>
+          <tableName>CONTRACT</tableName>
+          <primaryKey>CONTRACTID</primaryKey>
+          <isUIDTable v="true" />
+          <readonly v="false" />
+        </linkInformation>
+        <linkInformation>
+          <name>0637150d-c535-41ce-85f3-e9a6b980d195</name>
+          <tableName>CONTACT</tableName>
+          <primaryKey>CONTACTID</primaryKey>
+          <isUIDTable v="false" />
+          <readonly v="true" />
+        </linkInformation>
+        <linkInformation>
+          <name>9ba7de4b-999c-44cc-95ee-0dbdcc35bf0f</name>
+          <tableName>ORGANISATION</tableName>
+          <primaryKey>ORGANISATIONID</primaryKey>
+          <isUIDTable v="false" />
+          <readonly v="true" />
+        </linkInformation>
+        <linkInformation>
+          <name>748d1280-6dd2-4ada-837e-b331166e78d3</name>
+          <tableName>PERSON</tableName>
+          <primaryKey>PERSONID</primaryKey>
+          <isUIDTable v="false" />
+          <readonly v="true" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>CONTRACTCODE.value</name>
+          <recordfield>CONTRACT.CONTRACTCODE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTDUE.value</name>
+          <recordfield>CONTRACT.CONTRACTDUE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTEND.value</name>
+          <recordfield>CONTRACT.CONTRACTEND</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTID.value</name>
+          <recordfield>CONTRACT.CONTRACTID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTSTART.value</name>
+          <recordfield>CONTRACT.CONTRACTSTART</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTSTATUS.value</name>
+          <recordfield>CONTRACT.CONTRACTSTATUS</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTTYPE.value</name>
+          <recordfield>CONTRACT.CONTRACTTYPE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PAYMENT.value</name>
+          <recordfield>CONTRACT.PAYMENT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>REMARK.value</name>
+          <recordfield>CONTRACT.REMARK</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTACT_ID.value</name>
+          <recordfield>CONTRACT.CONTACT_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTACT_ORG_ID.value</name>
+          <recordfield>CONTACT.ORGANISATION_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTACT_PERSON_ID.value</name>
+          <recordfield>CONTACT.PERSON_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PERSON_FIRSTNAME.value</name>
+          <recordfield>PERSON.FIRSTNAME</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PERSON_LASTNAME.value</name>
+          <recordfield>PERSON.LASTNAME</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PAYMENT.displayValue</name>
+          <expression>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/payment.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTSTATUS.displayValue</name>
+          <expression>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contractstatus.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTRACTTYPE.displayValue</name>
+          <expression>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contracttype.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/Contract_entity/entityfields/contractdue/onValidation.js b/entity/Contract_entity/entityfields/contractdue/onValidation.js
deleted file mode 100644
index eec165e723c8199c6314723ff0e928d2f734a3ec..0000000000000000000000000000000000000000
--- a/entity/Contract_entity/entityfields/contractdue/onValidation.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import("system.result");
-import("system.translate");
-import("system.vars");
-import("Date_lib");
-import("Util_lib");
-import("Entity_lib");
-
-var cDue = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTDUE"));
-
-if (DateUtils.validateBeginnBeforeEnd(vars.get("$field.CONTRACTSTART"), cDue) === false || DateUtils.validateBeginnBeforeEnd(cDue, vars.get("$field.CONTRACTEND")) === false) {
-    result.string(translate.text("The next due date must be after the start of the contract and before the expiry of the contract!"));
-}
diff --git a/entity/Contract_entity/entityfields/contractend/onValidation.js b/entity/Contract_entity/entityfields/contractend/onValidation.js
deleted file mode 100644
index 12c8dcb1629bc710a0a2ab8ea59694a2488b568d..0000000000000000000000000000000000000000
--- a/entity/Contract_entity/entityfields/contractend/onValidation.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import("system.result");
-import("system.vars");
-import("Date_lib");
-import("Entity_lib");
-
-var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTEND"));
-var cDue = vars.get("$field.CONTRACTDUE");
-
-if (DateUtils.validateBeginnBeforeEnd(vars.get("$field.CONTRACTSTART"), cEnd) === false)
-    result.string(DateUtils.getValidationFailString());
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractend/onValueChange.js b/entity/Contract_entity/entityfields/contractend/onValueChange.js
index b411c425e4e4a1a21d063b31fec6d81c61e9c913..7b6446d1fea311587b24f3b353cb0f3a2ec44904 100644
--- a/entity/Contract_entity/entityfields/contractend/onValueChange.js
+++ b/entity/Contract_entity/entityfields/contractend/onValueChange.js
@@ -2,8 +2,8 @@ import("system.vars");
 import("Util_lib");
 import("Entity_lib");
 
-var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTEND"));
+var cEnd = vars.get("$field.CONTRACTEND");
 var cDue = vars.get("$field.CONTRACTDUE");
 
-if (cDue > cEnd && cDue != "")
+if (cDue != "" && cDue > cEnd)
     vars.set("$field.CONTRACTDUE", cEnd);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractstart/onValidation.js b/entity/Contract_entity/entityfields/contractstart/onValidation.js
deleted file mode 100644
index cff1fcaa60907332fcb9359a4f8b0866dfbfb287..0000000000000000000000000000000000000000
--- a/entity/Contract_entity/entityfields/contractstart/onValidation.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import("system.result");
-import("system.vars");
-import("Date_lib");
-import("Entity_lib");
-
-var cStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTSTART"));
-var cDue = vars.get("$field.CONTRACTDUE");
-
-if (DateUtils.validateBeginnBeforeEnd(cStart, vars.get("$field.CONTRACTEND")) === false)
-    result.string(DateUtils.getValidationFailString());
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractstart/valueProcess.js b/entity/Contract_entity/entityfields/contractstart/valueProcess.js
index e2eb1642a6585c84aed1018bc17273b0b2b2f048..fde00cab2ad74643d42064d1ae353c92972deeca 100644
--- a/entity/Contract_entity/entityfields/contractstart/valueProcess.js
+++ b/entity/Contract_entity/entityfields/contractstart/valueProcess.js
@@ -1,11 +1,9 @@
-import("system.result");
-import("system.vars");
-import("system.neon");
-import("Date_lib");
-
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
-{
-    result.string(DateUtils.getTodayUTC());
-}
-else
-    result.string(vars.get("$this.value"));
\ No newline at end of file
+import("system.result");
+import("system.vars");
+import("system.neon");
+import("Date_lib");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
+{
+    result.string(DateUtils.getTodayUTC());
+}
\ No newline at end of file
diff --git a/entity/Contract_entity/onValidation.js b/entity/Contract_entity/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..e072305a2ea462bef8b4a9ab0ff9d4c9e6bf7ab0
--- /dev/null
+++ b/entity/Contract_entity/onValidation.js
@@ -0,0 +1,26 @@
+import("system.translate");
+import("Entity_lib");
+import("system.result");
+import("Date_lib");
+import("system.vars");
+
+var startDate = vars.get("$field.CONTRACTSTART");
+var endDate = vars.get("$field.CONTRACTEND");
+
+var errorMessage = "";
+
+if (DateUtils.validateBeginnBeforeEnd(startDate, endDate) === false)
+    errorMessage = DateUtils.getValidationFailString();
+
+// check Duedate
+var cDue = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTDUE"));
+if (cDue && (startDate && !DateUtils.validateBeginnBeforeEnd(startDate, cDue) || endDate && !DateUtils.validateBeginnBeforeEnd(cDue, endDate)))
+{
+    if (errorMessage != "")
+        errorMessage += "\n";
+    
+    errorMessage += translate.text("The next due date must be after the start of the contract and before the expiry of the contract!");
+}
+
+if (errorMessage)
+    result.string(errorMessage);
\ No newline at end of file