diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index fbc9e15d5a0a5ca4a80af24e7efd679e1aca4890..473b4389fb8e0d35d5e94c527c73317825fc7e8e 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -3,6 +3,7 @@
   <name>Contract_entity</name>
   <title>Contract</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/Contract_entity/documentation.adoc</documentation>
   <recordContainerType>DB</recordContainerType>
   <caption>Contract</caption>
   <iconId>VAADIN:FORM</iconId>
@@ -11,6 +12,7 @@
   <entityFields>
     <entityField>
       <name>CONTRACTCODE</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractcode/documentation.adoc</documentation>
       <title>Contract number</title>
       <tableName>CONTRACT</tableName>
       <columnName>CONTRACTCODE</columnName>
@@ -19,6 +21,7 @@
     </entityField>
     <entityField>
       <name>CONTRACTDUE</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractdue/documentation.adoc</documentation>
       <title>Next due date</title>
       <tableName>CONTRACT</tableName>
       <columnName>CONTRACTDUE</columnName>
@@ -29,6 +32,7 @@
     </entityField>
     <entityField>
       <name>CONTRACTEND</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractend/documentation.adoc</documentation>
       <title>Contract expiry date</title>
       <tableName>CONTRACT</tableName>
       <columnName>CONTRACTEND</columnName>
@@ -46,6 +50,7 @@
     </entityField>
     <entityField>
       <name>CONTRACTSTART</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/contractstart/documentation.adoc</documentation>
       <title>Contract start date</title>
       <tableName>CONTRACT</tableName>
       <columnName>CONTRACTSTART</columnName>
@@ -98,6 +103,7 @@
     </entityField>
     <entityField>
       <name>RELATION_ID</name>
+      <documentation>%aditoprj%/entity/Contract_entity/entityfields/relation_id/documentation.adoc</documentation>
       <title>Contact / Company</title>
       <tableName>CONTRACT</tableName>
       <columnName>RELATION_ID</columnName>
@@ -165,6 +171,7 @@
     <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>
diff --git a/entity/Contract_entity/documentation.adoc b/entity/Contract_entity/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..bc025573b5af762bddafc9ae4fe8c4f3a09f6ebb
--- /dev/null
+++ b/entity/Contract_entity/documentation.adoc
@@ -0,0 +1,5 @@
+= Contract_entity
+:hardbreaks:
+
+Entity contains meta data of the Contract module.
+It provides data from database table CONTRACT.
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractcode/documentation.adoc b/entity/Contract_entity/entityfields/contractcode/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..fd63d0f0f336b7fa30a7710db6df032e8f91227f
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractcode/documentation.adoc
@@ -0,0 +1,4 @@
+= CONTRACTCODE
+:hardbreaks:
+
+Unique identification number of the contract. (max. 30 characters, not automatically generated)
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/documentation.adoc b/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..3d1a03a71500a6dafa1d4948b5a4078d6c3a45e4
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/documentation.adoc
@@ -0,0 +1,6 @@
+= CONTRACTCODE_DISPLAY_fieldGroup
+:hardbreak:
+
+This field appears in the preview view of the contract.
+
+It concatenates the type of contract and the contract code.
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractdue/documentation.adoc b/entity/Contract_entity/entityfields/contractdue/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..c58e914d6d589e496609b030e856920c6f7ce245
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractdue/documentation.adoc
@@ -0,0 +1,11 @@
+= CONTRACTDUE
+:hardbreaks:
+
+Indicates the next due date of the payment. 
+
+== onValidation
+
+Value of field _CONTRACTDUE_ has to be
+
+* >= value of field _CONTRACTSTART_
+* \<= value of field _CONTRACTEND_
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractend/documentation.adoc b/entity/Contract_entity/entityfields/contractend/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..21de8765a03213ac431f31aba5f6b8a9d04e560f
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractend/documentation.adoc
@@ -0,0 +1,17 @@
+= CONTRACTEND
+:hardbreaks:
+
+Indicates the contract expiry date.
+
+== onValidation
+
+Value of field _CONTRACTEND_ has to be
+
+* >= value of field _CONTRACTSTART_
+
+== onValueChange
+
+Value of field _CONTRACTDUE_ is set to value of _CONTRACTEND_ if the following conditions are true:
+
+* _CONTRACTDUE_ > _CONTRACTEND_
+* _CONTRACTDUE_ has already been set
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractstart/documentation.adoc b/entity/Contract_entity/entityfields/contractstart/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..3c56256390b85eca49cf252ad974bb243c52a555
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractstart/documentation.adoc
@@ -0,0 +1,17 @@
+= CONTRACTSTART
+:hardbreaks:
+
+Indicates the contract start date.
+
+== onValidation
+
+Value of field _CONTRACTSTART_ has to be
+
+* \<= value of field _CONTRACTEND_
+
+== onValueChange
+
+Value of field _CONTRACTDUE_ is set to value of _CONTRACTSTART_ if the following conditions are true:
+
+* _CONTRACTDUE_ < _CONTRACTSTART_
+* _CONTRACTDUE_ has already been set
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/relation_id/documentation.adoc b/entity/Contract_entity/entityfields/relation_id/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..585132728001b08a3ab192b93c5e0821361babf9
--- /dev/null
+++ b/entity/Contract_entity/entityfields/relation_id/documentation.adoc
@@ -0,0 +1,5 @@
+= RELATION_ID
+:hardbreaks:
+
+Indicates the contract partner. 
+This can be an organisation or a contact person.
\ No newline at end of file