diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index cc07121a897200e98c1e2c5dbb8e9492f1c91dac..5ea1a57a5582740d6c0da7ef4e08132b346e6a42 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -179,6 +179,59 @@
     <entityField>
       <name>RELATION_PERS_ID</name>
     </entityField>
+    <entityOutgoingField>
+      <name>ContractDocument_dfo</name>
+      <title>Documents</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>ContractDocument_dfi</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>AssignmentName_param</name>
+          <code>%aditoprj%/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentname_param/code.js</code>
+          <triggerRecalculation v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentRowId_param</name>
+          <code>%aditoprj%/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentrowid_param/code.js</code>
+          <triggerRecalculation v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentTable_param</name>
+          <code>%aditoprj%/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmenttable_param/code.js</code>
+          <triggerRecalculation v="false" />
+        </entityParameter>
+      </children>
+    </entityOutgoingField>
+    <entityOutgoingField>
+      <name>ContractMainDocuments_dfo</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>ContractMainDocuments_dfi</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>AssignmentName_param</name>
+          <code>%aditoprj%/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentname_param/code.js</code>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentRowId_param</name>
+          <code>%aditoprj%/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentrowid_param/code.js</code>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentTable_param</name>
+          <code>%aditoprj%/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmenttable_param/code.js</code>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityOutgoingField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -189,14 +242,14 @@
       <conditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <linkInformation>
         <linkInformation>
-          <name>99139e0f-3074-4c07-8998-bd83676e5a58</name>
+          <name>bca25dcf-86a5-49a4-afdb-2101a4ca9712</name>
           <tableName>CONTRACT</tableName>
           <primaryKey>CONTRACTID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>2c5a2300-594b-46ee-8234-eaafb49a9a1e</name>
+          <name>a27f0230-84c1-44f8-b30b-9a943caf07c2</name>
           <tableName>RELATION</tableName>
           <primaryKey>RELATIONID</primaryKey>
           <isUIDTable v="false" />
diff --git a/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentname_param/code.js b/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentname_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..3e4bf7585b2ca4628118e46818683fc51bfcf1c5
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentname_param/code.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("DOCUMENT");
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentrowid_param/code.js b/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentrowid_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..92b0b7622da56367d0eba073f0e8bb85fbd1f33d
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmentrowid_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("system.vars");
+
+result.string(vars.get("$field.RELATION_ID"));
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmenttable_param/code.js b/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmenttable_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..a628e61d5d3cdb19793922b9a2438f885b141505
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractdocument_dfo/children/assignmenttable_param/code.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("CONTRACT");
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentname_param/code.js b/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentname_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..3e4bf7585b2ca4628118e46818683fc51bfcf1c5
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentname_param/code.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("DOCUMENT");
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentrowid_param/code.js b/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentrowid_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..92b0b7622da56367d0eba073f0e8bb85fbd1f33d
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmentrowid_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("system.vars");
+
+result.string(vars.get("$field.RELATION_ID"));
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmenttable_param/code.js b/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmenttable_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..a628e61d5d3cdb19793922b9a2438f885b141505
--- /dev/null
+++ b/entity/Contract_entity/entityfields/contractmaindocuments_dfo/children/assignmenttable_param/code.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("CONTRACT");
\ No newline at end of file
diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index 6ebceedb6d27a85877b2a852e442bee46b7c62a1..8d2390ae1fa901dc9695d1ae352fe74dca01ccdb 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -112,6 +112,36 @@
       <name>KEYWORD</name>
       <title>Schlüsselwort</title>
     </entityField>
+    <entityIncomingField>
+      <name>ContractDocument_dfi</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>jdito</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>383095e7-a75f-4d20-96c4-413e79a9020a</name>
+          <entityName>Contract_entity</entityName>
+          <fieldName>ContractDocument_dfo</fieldName>
+          <isOutgoing v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityIncomingField>
+    <entityField>
+      <name>ICON</name>
+      <valueProcess>%aditoprj%/entity/Document_entity/entityfields/icon/valueProcess.js</valueProcess>
+    </entityField>
+    <entityIncomingField>
+      <name>ContractMainDocuments_dfi</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>jdito</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>1e35c51a-8527-4cf0-be94-654363390cd8</name>
+          <entityName>Contract_entity</entityName>
+          <fieldName>ContractMainDocuments_dfo</fieldName>
+          <isOutgoing v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityIncomingField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/Document_entity/entityfields/icon/valueProcess.js b/entity/Document_entity/entityfields/icon/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2f58b265765f9c53e0dbc926d07bae6b42f8afd4
--- /dev/null
+++ b/entity/Document_entity/entityfields/icon/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("vaadin:file_text");
\ No newline at end of file
diff --git a/neonContext/Document_context/Document_context.aod b/neonContext/Document_context/Document_context.aod
index fb1cc864f955823cb6dcefdd4092361e3e086c89..e22fc8179d7e5ddc7c21400d535b22b5f6832762 100644
--- a/neonContext/Document_context/Document_context.aod
+++ b/neonContext/Document_context/Document_context.aod
@@ -21,5 +21,9 @@
       <name>c3a522f3-897e-4d02-862b-6e44c4873714</name>
       <view>DocumentPreview_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>b9455efd-d150-46c0-bfae-cdccb0c9bcad</name>
+      <view>DocumentList_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/ContractMain_view/ContractMain_view.aod b/neonView/ContractMain_view/ContractMain_view.aod
index 809037bed45b614ce58b727867f81de20a4e21b8..3ec444a91f02fd527d6b3c9500a52cc333452c67 100644
--- a/neonView/ContractMain_view/ContractMain_view.aod
+++ b/neonView/ContractMain_view/ContractMain_view.aod
@@ -19,5 +19,10 @@
       <entityField>ContractHistory_dfo</entityField>
       <view>HistoryFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>1bf6faf5-9a22-4900-a497-54b6c225584b</name>
+      <entityField>ContractDocument_dfo</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/ContractPreview_view/ContractPreview_view.aod b/neonView/ContractPreview_view/ContractPreview_view.aod
index 00ac9de04c9a1e32738e4375e2d7a5bc781d3f0d..ac81c670898568d59de38ff2025003160cd9a275 100644
--- a/neonView/ContractPreview_view/ContractPreview_view.aod
+++ b/neonView/ContractPreview_view/ContractPreview_view.aod
@@ -46,5 +46,10 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <neonViewReference>
+      <name>90de7332-5d4c-4d72-a93a-1bd2c06d12a4</name>
+      <entityField>ContractMainDocuments_dfo</entityField>
+      <view>DocumentList_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/DocumentList_view/DocumentList_view.aod b/neonView/DocumentList_view/DocumentList_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..9af9218b8f7f775e8b1b1e229bbe9fc141413e29
--- /dev/null
+++ b/neonView/DocumentList_view/DocumentList_view.aod
@@ -0,0 +1,21 @@
+<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>DocumentList_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Documents</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <treetableViewTemplate>
+      <name>DocumentTreeList_view</name>
+      <titleField>NAME</titleField>
+      <descriptionField>TYPE</descriptionField>
+      <iconField>ICON</iconField>
+      <hideActions v="true" />
+      <entityField>#ENTITY</entityField>
+    </treetableViewTemplate>
+  </children>
+</neonView>