diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 2c9c7faaccd7d4362f2c6409ec776ea7440a28aa..d03d338d99b497acd580e820f5cb8713eb9c53c1 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -1031,6 +1031,24 @@
       <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/discounted_vat/stateProcess.js</stateProcess>
       <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/discounted_vat/displayValueProcess.js</displayValueProcess>
     </entityField>
+    <entityConsumer>
+        <name>Products</name>
+        <children>
+            <entityParameter>
+                <name>OrderOfferInformations_param</name>
+                <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js</valueProcess>
+            </entityParameter>
+            <entityParameter>
+                <name>ShownInOfferMainView_param</name>
+                <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js</valueProcess>
+            </entityParameter>
+        </children>
+        <dependency>
+            <name>dependency</name>
+            <entityName>Product_entity</entityName>
+            <fieldName>Products</fieldName>
+        </dependency>
+    </entityConsumer>
     <entityActionGroup>
       <name>observeActionGroup</name>
       <children>
diff --git a/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js b/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b066c99d521690629eff7020ce956500287970e1
--- /dev/null
+++ b/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js
@@ -0,0 +1,11 @@
+import("system.vars");
+import("system.result");
+
+var orderInfoObject = {
+    "ContactId_param": vars.get("$field.CONTACT_ID"),
+    "Currency_param": vars.get("$field.CURRENCY"),
+    "OfferId_param": vars.get("$field.OFFERID"),
+    "OfferStatus_param": vars.get("$field.STATUS")
+};
+
+result.object(orderInfoObject);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js b/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e5bfa3bbe7f58d2ffaf401248014a6d1a560d2de
--- /dev/null
+++ b/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("true");
\ No newline at end of file
diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod
index 2070e3bbd02cf3cd4daaef52cc2a43c338a50af7..08b8e12dc9d6ccb982b1d5aacd57015d342c350f 100644
--- a/entity/Offeritem_entity/Offeritem_entity.aod
+++ b/entity/Offeritem_entity/Offeritem_entity.aod
@@ -83,10 +83,12 @@
       <linkedContext>Product</linkedContext>
       <mandatory v="true" />
       <stateProcess>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/stateProcess.js</stateProcess>
+      <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
+        <element>PROCESS</element>
       </onValueChangeTypes>
     </entityField>
     <entityField>
@@ -165,14 +167,6 @@
     <entityProvider>
       <name>OfferItems</name>
       <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name>
-          <entityName>Offer_entity</entityName>
-          <fieldName>Offeritems</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -196,6 +190,14 @@
           <title></title>
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name>
+          <entityName>Offer_entity</entityName>
+          <fieldName>Offeritems</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityField>
       <name>INFO</name>
@@ -206,11 +208,6 @@
     </entityField>
     <entityConsumer>
       <name>KeywordProductGroupcodes</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -218,14 +215,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordQuantityUnits</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordQuantityUnits</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -233,6 +230,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Products</name>
@@ -250,6 +252,10 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityParameter>
+      <name>ProductId_param</name>
+      <expose v="true" />
+    </entityParameter>
     <entityParameter>
       <name>Discount_param</name>
       <expose v="true" />
diff --git a/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js
index bb3640469b1d952d4ab5fc07f00b5cca1ba4eb2d..e10bbc483b4488b6efb2acbc66f9d89aac82e431 100644
--- a/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js
+++ b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("system.neon");
 import("system.vars");
+import("system.result");
+import("Sql_lib");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-    result.string("");
\ No newline at end of file
+if(vars.get("$field.PRODUCT_ID"))
+    result.string(newSelect("PRODUCT.PRODUCTNAME").from("PRODUCT").whereIfSet("PRODUCT.PRODUCTID", vars.get("$field.PRODUCT_ID")).cell());
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/product_id/valueProcess.js b/entity/Offeritem_entity/entityfields/product_id/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d10595b68a69f247e9ffafee9f95fe4155786168
--- /dev/null
+++ b/entity/Offeritem_entity/entityfields/product_id/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.neon");
+import("system.result");
+import("system.vars");
+    
+if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null && vars.get("$param.ProductId_param"))
+    result.string(vars.get("$param.ProductId_param"));
\ No newline at end of file
diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index ef827841cebce70f7601b9afde2bd27621764a01..ad9892139f1fd85ceec66e62b2b6d490095a13b0 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -108,11 +108,6 @@
     <entityConsumer>
       <name>Orderitems</name>
       <description></description>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Orderitem_entity</entityName>
-        <fieldName>Orderitems</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>OrderId_param</name>
@@ -138,6 +133,11 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Orderitem_entity</entityName>
+        <fieldName>Orderitems</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>NET</name>
@@ -199,11 +199,6 @@
     <entityConsumer>
       <name>Documents</name>
       <selectionMode>MULTI</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
@@ -214,15 +209,15 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>MainDocuments</name>
-      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
-        <fieldName>MainDocuments</fieldName>
+        <fieldName>Documents</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>MainDocuments</name>
+      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
@@ -233,28 +228,28 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Salesprojects</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Salesproject_entity</entityName>
-        <fieldName>Salesprojects</fieldName>
+        <entityName>Document_entity</entityName>
+        <fieldName>MainDocuments</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Salesprojects</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordCurrencies</name>
       <dependency>
         <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
+        <entityName>Salesproject_entity</entityName>
+        <fieldName>Salesprojects</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordCurrencies</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -262,14 +257,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordStates</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordStates</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -277,6 +272,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Languages</name>
@@ -295,11 +295,6 @@
     </entityParameter>
     <entityConsumer>
       <name>Activities</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -314,6 +309,11 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>OFFER_ID</name>
@@ -327,11 +327,6 @@
     <entityConsumer>
       <name>Tasks</name>
       <stateProcess>%aditoprj%/entity/Order_entity/entityfields/tasks/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -346,15 +341,15 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Attributes</name>
       <onValidation>%aditoprj%/entity/Order_entity/entityfields/attributes/onValidation.js</onValidation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -365,15 +360,15 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>AttributeTree</name>
-      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/attributetree/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>AttributeRelation_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
+        <fieldName>AttributeRelations</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>AttributeTree</name>
+      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/attributetree/stateProcess.js</stateProcess>
       <children>
         <entityParameter>
           <name>ObjectType_param</name>
@@ -384,20 +379,25 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>LogHistories</name>
       <children>
         <entityParameter>
           <name>tablenames_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>ORDERTYPE</name>
@@ -473,31 +473,31 @@
     </entityField>
     <entityConsumer>
       <name>KeywordOrderTypes</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keywordordertypes/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordDunningLevels</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordDunningLevels</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keyworddunninglevels/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>OBJECT_ROWID</name>
@@ -525,11 +525,6 @@
     </entityField>
     <entityConsumer>
       <name>Objects</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Object_entity</entityName>
-        <fieldName>FilteredObjects</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -540,14 +535,14 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Contexts</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Context_entity</entityName>
-        <fieldName>Exclusive</fieldName>
+        <entityName>Object_entity</entityName>
+        <fieldName>FilteredObjects</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Contexts</name>
       <children>
         <entityParameter>
           <name>Blacklist_param</name>
@@ -558,6 +553,11 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/contexts/children/invertblacklist_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Context_entity</entityName>
+        <fieldName>Exclusive</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>PossibleConnectionTypes</name>
@@ -610,46 +610,46 @@
     </entityField>
     <entityConsumer>
       <name>KeywordPaymentTerms</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keywordpaymentterms/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordDeliveryTerms</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordDeliveryTerms</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keyworddeliveryterms/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>PossibleAddresses</name>
       <documentation>%aditoprj%/entity/Order_entity/entityfields/possibleaddresses/documentation.adoc</documentation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>OrganisationAndContactAddresses</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/possibleaddresses/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>OrganisationAndContactAddresses</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>NOTICE</name>
@@ -666,25 +666,20 @@
     </entityField>
     <entityConsumer>
       <name>Offers</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Offer_entity</entityName>
-        <fieldName>ContactOffers</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>DocumentTemplateTexHeader</name>
       <dependency>
         <name>dependency</name>
-        <entityName>DocumentTemplate_entity</entityName>
-        <fieldName>DocumentTemplateProvider</fieldName>
+        <entityName>Offer_entity</entityName>
+        <fieldName>ContactOffers</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>DocumentTemplateTexHeader</name>
       <children>
         <entityParameter>
           <name>DocumentTemplateType_param</name>
@@ -695,14 +690,14 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/documenttemplatetexheader/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>DocumentTemplateTexFooter</name>
       <dependency>
         <name>dependency</name>
         <entityName>DocumentTemplate_entity</entityName>
         <fieldName>DocumentTemplateProvider</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>DocumentTemplateTexFooter</name>
       <children>
         <entityParameter>
           <name>DocumentTemplateType_param</name>
@@ -713,6 +708,11 @@
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/documenttemplatetexfooter/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DocumentTemplate_entity</entityName>
+        <fieldName>DocumentTemplateProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>ChosenTexHeader</name>
@@ -955,6 +955,24 @@
       <iconId>VAADIN:CURLY_BRACKETS</iconId>
       <stateProcess>%aditoprj%/entity/Order_entity/entityfields/openadminview/stateProcess.js</stateProcess>
     </entityActionField>
+    <entityConsumer>
+      <name>Products</name>
+      <children>
+        <entityParameter>
+          <name>OrderOfferInformations_param</name>
+          <valueProcess>%aditoprj%/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ShownInOrderMainView_param</name>
+          <valueProcess>%aditoprj%/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Product_entity</entityName>
+        <fieldName>Products</fieldName>
+      </dependency>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js b/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9de8fbf51b9869563227d4ef30fcd4bba5a6eac7
--- /dev/null
+++ b/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js
@@ -0,0 +1,11 @@
+import("system.vars");
+import("system.result");
+
+var orderInfoObject = {
+    "ContactId_param": vars.get("$field.CONTACT_ID"),
+    "Currency_param": vars.get("$field.CURRENCY"),
+    "OrderId_param": vars.get("$field.SALESORDERID"),
+    "OrderStatus_param": vars.get("$field.ORDERSTATUS")
+};
+
+result.object(orderInfoObject);
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js b/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e5bfa3bbe7f58d2ffaf401248014a6d1a560d2de
--- /dev/null
+++ b/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("true");
\ No newline at end of file
diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod
index fb8846a9e4df1bc98d758dcb009821e194e11cd8..6a02b00aea28efcf29007d0437180314c300cf2c 100644
--- a/entity/Orderitem_entity/Orderitem_entity.aod
+++ b/entity/Orderitem_entity/Orderitem_entity.aod
@@ -74,9 +74,12 @@
       <title>Article</title>
       <consumer>Products</consumer>
       <linkedContext>Product</linkedContext>
+      <valueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/product_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Orderitem_entity/entityfields/product_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
+        <element>PROCESS</element>
       </onValueChangeTypes>
     </entityField>
     <entityField>
@@ -143,20 +146,6 @@
     <entityProvider>
       <name>Orderitems</name>
       <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name>
-          <entityName>Order_entity</entityName>
-          <fieldName>Orderitems</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>911de4a4-0e85-4d50-93ee-6f8f2308589e</name>
-          <entityName>Order_entity</entityName>
-          <fieldName>Orderitems</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -179,6 +168,20 @@
           <expose v="true" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name>
+          <entityName>Order_entity</entityName>
+          <fieldName>Orderitems</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>911de4a4-0e85-4d50-93ee-6f8f2308589e</name>
+          <entityName>Order_entity</entityName>
+          <fieldName>Orderitems</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityField>
       <name>INFO</name>
@@ -187,11 +190,6 @@
     </entityField>
     <entityConsumer>
       <name>KeywordProductGroupcodes</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -199,14 +197,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordQuantityUnits</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordQuantityUnits</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -214,6 +212,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Products</name>
@@ -242,6 +245,10 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityParameter>
+      <name>ProductId_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js b/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e10bbc483b4488b6efb2acbc66f9d89aac82e431
--- /dev/null
+++ b/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("Sql_lib");
+
+if(vars.get("$field.PRODUCT_ID"))
+    result.string(newSelect("PRODUCT.PRODUCTNAME").from("PRODUCT").whereIfSet("PRODUCT.PRODUCTID", vars.get("$field.PRODUCT_ID")).cell());
\ No newline at end of file
diff --git a/entity/Orderitem_entity/entityfields/product_id/valueProcess.js b/entity/Orderitem_entity/entityfields/product_id/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d10595b68a69f247e9ffafee9f95fe4155786168
--- /dev/null
+++ b/entity/Orderitem_entity/entityfields/product_id/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.neon");
+import("system.result");
+import("system.vars");
+    
+if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null && vars.get("$param.ProductId_param"))
+    result.string(vars.get("$param.ProductId_param"));
\ No newline at end of file
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 30137332d48b8cba0ae3d6d9efe4c48b9d3c8b83..745495cdc92b5f0b239f8e781ba54e1ea711fb2c 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -370,6 +370,18 @@
           <fieldName>Products</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>19171308-e523-438a-994c-9d6e7b58ee04</name>
+          <entityName>Offer_entity</entityName>
+          <fieldName>Products</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>acbbb19a-16e6-4220-8997-4a79db85100a</name>
+          <entityName>Order_entity</entityName>
+          <fieldName>Products</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityActionField>
@@ -515,6 +527,35 @@
         <fieldName>Provider</fieldName>
       </dependency>
     </entityConsumer>
+    <entityActionField>
+        <name>addToOrder</name>
+        <title>Add to order</title>
+        <onActionProcess>%aditoprj%/entity/Product_entity/entityfields/addtoorder/onActionProcess.js</onActionProcess>
+        <isObjectAction v="false" />
+        <iconId>VAADIN:FILE_TEXT_O</iconId>
+        <state>INVISIBLE</state>
+        <stateProcess>%aditoprj%/entity/Product_entity/entityfields/addtoorder/stateProcess.js</stateProcess>
+    </entityActionField>
+    <entityActionField>
+        <name>addToOffer</name>
+        <title>Add to offer</title>
+        <onActionProcess>%aditoprj%/entity/Product_entity/entityfields/addtooffer/onActionProcess.js</onActionProcess>
+        <iconId>VAADIN:CART</iconId>
+        <state>INVISIBLE</state>
+        <stateProcess>%aditoprj%/entity/Product_entity/entityfields/addtooffer/stateProcess.js</stateProcess>
+    </entityActionField>
+    <entityParameter>
+        <name>ShownInOfferMainView_param</name>
+        <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+        <name>ShownInOrderMainView_param</name>
+        <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+        <name>OrderOfferInformations_param</name>
+        <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Product_entity/entityfields/addtooffer/onActionProcess.js b/entity/Product_entity/entityfields/addtooffer/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..1e0d4dfbc0c56000930864c2a81fe102fcb2583b
--- /dev/null
+++ b/entity/Product_entity/entityfields/addtooffer/onActionProcess.js
@@ -0,0 +1,8 @@
+import("system.neon");
+import("system.vars");
+
+var params = JSON.parse(vars.get("$param.OrderOfferInformations_param"));
+
+params["ProductId_param"] = vars.get("$field.PRODUCTID");
+
+neon.openContext("OfferItem", "OfferItemEdit_view", null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/addtooffer/stateProcess.js b/entity/Product_entity/entityfields/addtooffer/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a28ffee7b2185270e3e81736bcbf2605c8af57f9
--- /dev/null
+++ b/entity/Product_entity/entityfields/addtooffer/stateProcess.js
@@ -0,0 +1,18 @@
+import("system.neon");
+import("system.result");
+import("Offer_lib");
+import("system.vars");
+
+
+
+if(vars.get("$param.ShownInOfferMainView_param"))
+{
+    
+    var res;
+    res = OfferUtils.isEditable(vars.get("$param.OrderOfferInformations_param")["OfferStatus_param"])? 
+                neon.COMPONENTSTATE_EDITABLE: neon.COMPONENTSTATE_DISABLED;
+            
+
+    result.string(res);
+}
+            
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/addtoorder/onActionProcess.js b/entity/Product_entity/entityfields/addtoorder/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9e9d45e347cf3867e9165e75c7cdc2cb9253ae19
--- /dev/null
+++ b/entity/Product_entity/entityfields/addtoorder/onActionProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.vars");
+
+var params = JSON.parse(vars.get("$param.OrderOfferInformations_param"));
+
+params["ProductId_param"] = vars.get("$field.PRODUCTID");
+
+
+neon.openContext("OrderItem", "OrderItemEdit_view", null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/addtoorder/stateProcess.js b/entity/Product_entity/entityfields/addtoorder/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d56602dfa0240f59d8cdb8619071cc96033bbdeb
--- /dev/null
+++ b/entity/Product_entity/entityfields/addtoorder/stateProcess.js
@@ -0,0 +1,37 @@
+import("Order_lib");
+import("Sql_lib");
+import("system.neon");
+import("system.result");
+import("system.vars");
+
+if(vars.get("$param.ShownInOrderMainView_param"))
+{
+    var orderObject = JSON.parse(vars.get("$param.OrderOfferInformations_param"));
+    var orderStatus = orderObject["OrderStatus_param"];
+    var res;
+    var itemcount = newSelect("count(*)")
+                        .from("SALESORDERITEM")
+                        .whereIfSet("SALESORDERITEM.SALESORDER_ID", orderObject["OrderId_param"])
+                        .cell(true, "0");
+
+
+
+    if (orderStatus == undefined){
+        res = neon.COMPONENTSTATE_DISABLED;
+    }
+    else if (itemcount == "0" && orderStatus == "1" ) {
+      res = neon.COMPONENTSTATE_DISABLED;
+    }
+
+    else if (itemcount == "0" && orderStatus == "0"){
+        res = neon.COMPONENTSTATE_EDITABLE;
+    }
+
+    else
+    {
+        res = OrderUtils.isEditable(orderStatus)? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_DISABLED;
+    }
+    
+    result.string(res);
+}
+
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index fb4bb331d5ae83829c161f730480426473dbb901..045b4a294e877d356edd2a60506858b206d6524f 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -50,6 +50,14 @@
       <key>Its not allowed to step over some salesproject phases.</key>
       <value>Es ist nicht erlaubt Vertriebsprojektphasen zu überspringen.</value>
     </entry>
+    <entry>
+        <key>Add to offer</key>
+        <value>Zu Angebot hinzufügen</value>
+    </entry>
+    <entry>
+        <key>Add to order</key>
+        <value>Zu Beleg hinzufügen</value>
+    </entry>
     <entry>
       <key>Probability AI</key>
       <value>Wahrscheinlichkeit KI</value>
diff --git a/neonView/OfferMain_view/OfferMain_view.aod b/neonView/OfferMain_view/OfferMain_view.aod
index 0fe9ef986d53ab558b5b4993ee73b7b5c5f394a8..2010f32c7d27ac1e66b86c24284e11fed94dc821 100644
--- a/neonView/OfferMain_view/OfferMain_view.aod
+++ b/neonView/OfferMain_view/OfferMain_view.aod
@@ -19,6 +19,11 @@
       <entityField>Offeritems</entityField>
       <view>OfferitemFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>f94b5b0d-e1a2-4fd3-a9fa-c61a1bdf6ecd</name>
+      <entityField>Products</entityField>
+      <view>ProductFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>e6b12eed-d67e-467c-9302-f6340f901235</name>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/OrderMain_view/OrderMain_view.aod b/neonView/OrderMain_view/OrderMain_view.aod
index bb81d1a3d65e4f44f67e6673de0db10fa61477b1..470461ecaeb0bffd66f046ebf529633ddcb672e3 100644
--- a/neonView/OrderMain_view/OrderMain_view.aod
+++ b/neonView/OrderMain_view/OrderMain_view.aod
@@ -24,6 +24,11 @@
       <entityField>#ENTITY</entityField>
       <view>OrderCondition_view</view>
     </neonViewReference>
+    <neonViewReference>
+        <name>07e7374d-8d52-4677-bbf3-dedd9c1d6ab1</name>
+        <entityField>Products</entityField>
+        <view>ProductFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>1e0af6a9-9bb6-47b5-944b-636d21ac74d2</name>
       <entityField>AttributeTree</entityField>
diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod
index c8267c392031eb5b6ad0fac6daf830ce9d15310d..2117c52998bdb57ddfc55fff4e0fb5475a7c70a2 100644
--- a/neonView/ProductPreview_view/ProductPreview_view.aod
+++ b/neonView/ProductPreview_view/ProductPreview_view.aod
@@ -17,6 +17,13 @@
       <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
+    <actionsViewTemplate>
+      <name>Action</name>
+      <actions>
+        <element>addToOffer</element>
+        <element>addToOrder</element>
+      </actions>
+    </actionsViewTemplate>
     <favoriteViewTemplate>
       <name>Favorites</name>
       <objectType>PRODUCT_OBJECTTYPE</objectType>