diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 6cee0c1e3a70708546192b729031e8f9fd863f7b..63c3cbb7fff827dcd9da2190b4b151cc604c9fc0 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -4,6 +4,7 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Order_entity/documentation.adoc</documentation>
   <title>Receipt</title>
+  <grantUpdateProcess>%aditoprj%/entity/Order_entity/grantUpdateProcess.js</grantUpdateProcess>
   <contentTitleProcess>%aditoprj%/entity/Order_entity/contentTitleProcess.js</contentTitleProcess>
   <afterUiInit>%aditoprj%/entity/Order_entity/afterUiInit.js</afterUiInit>
   <iconId>VAADIN:DOLLAR</iconId>
@@ -38,7 +39,7 @@
     </entityField>
     <entityField>
       <name>SALESORDERDATE</name>
-      <title>Date</title>
+      <title>Creation date</title>
       <contentType>DATE</contentType>
       <resolution>DAY</resolution>
       <outputFormat>dd.MM.yyyy</outputFormat>
@@ -271,6 +272,11 @@
       <name>ADDRESS</name>
       <contentType>LONG_TEXT</contentType>
       <valueProcess>%aditoprj%/entity/Order_entity/entityfields/address/valueProcess.js</valueProcess>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+        <element>PROCESS_SETVALUE</element>
+      </onValueChangeTypes>
     </entityField>
     <entityConsumer>
       <name>KeywordCurrencies</name>
@@ -485,6 +491,7 @@
     <entityField>
       <name>PAID</name>
       <title>Paid</title>
+      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/paid/stateProcess.js</stateProcess>
     </entityField>
     <entityField>
       <name>Unpaid</name>
@@ -524,7 +531,6 @@
       <title>Pay due date</title>
       <contentType>DATE</contentType>
       <resolution>DAY</resolution>
-      <selectionModeProcess>%aditoprj%/entity/Order_entity/entityfields/payduedate/selectionModeProcess.js</selectionModeProcess>
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/Order_entity/entityfields/payduedate/valueProcess.js</valueProcess>
     </entityField>
@@ -646,16 +652,15 @@
       <name>DELIVERYADDRESS</name>
       <title>Delivery address</title>
       <contentType>LONG_TEXT</contentType>
+      <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/Order_entity/entityfields/deliveryaddress/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>PAYMENTADDRESS</name>
       <title>Payment address</title>
-      <consumer>PossibleAddresses</consumer>
+      <contentType>LONG_TEXT</contentType>
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/Order_entity/entityfields/paymentaddress/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/paymentaddress/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/Order_entity/entityfields/paymentaddress/onValueChange.js</onValueChange>
     </entityField>
     <entityConsumer>
       <name>KeywordPaymentTerms</name>
@@ -834,6 +839,33 @@
       <onActionProcess>%aditoprj%/entity/Order_entity/entityfields/setpaid/onActionProcess.js</onActionProcess>
       <stateProcess>%aditoprj%/entity/Order_entity/entityfields/setpaid/stateProcess.js</stateProcess>
     </entityActionField>
+    <entityField>
+      <name>ChosenPaymentAddress</name>
+      <title>Choose payment address</title>
+      <consumer>PossibleAddresses</consumer>
+      <mandatory v="false" />
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/chosenpaymentaddress/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/chosenpaymentaddress/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+        <element>PROCESS_SETVALUE</element>
+      </onValueChangeTypes>
+    </entityField>
+    <entityField>
+      <name>ChosenDeliveryAddress</name>
+      <title>Choose delivery address</title>
+      <consumer>PossibleAddresses</consumer>
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/chosendeliveryaddress/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/chosendeliveryaddress/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+        <element>PROCESS_SETVALUE</element>
+      </onValueChangeTypes>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Order_entity/entityfields/paymentaddress/displayValueProcess.js b/entity/Order_entity/entityfields/chosendeliveryaddress/displayValueProcess.js
similarity index 80%
rename from entity/Order_entity/entityfields/paymentaddress/displayValueProcess.js
rename to entity/Order_entity/entityfields/chosendeliveryaddress/displayValueProcess.js
index bc302ac9cd5c63db1fb2607c3d9353be2d4a4562..0c813a182c67edfa8cad70ef3f3ce43d0b06c126 100644
--- a/entity/Order_entity/entityfields/paymentaddress/displayValueProcess.js
+++ b/entity/Order_entity/entityfields/chosendeliveryaddress/displayValueProcess.js
@@ -2,4 +2,4 @@ import("system.vars");
 import("PostalAddress_lib");
 import("system.result");
 
-result.string(AddressUtils.getFormattedOnlineAddressById(vars.get("$field.PAYMENTADDRESS")))
\ No newline at end of file
+result.string(AddressUtils.getFormattedOnlineAddressById(vars.get("$field.ChosenPaymentAddress")))
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/paymentaddress/onValueChange.js b/entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js
similarity index 96%
rename from entity/Order_entity/entityfields/paymentaddress/onValueChange.js
rename to entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js
index 85516732cda451b9f73f976fb11d8a456530e20a..b0019362e90c9d7ad19d6124cc9dc0b05ee34ebf 100644
--- a/entity/Order_entity/entityfields/paymentaddress/onValueChange.js
+++ b/entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js
@@ -8,4 +8,5 @@ var newAddressId = vars.get("local.value");
 if (newAddressId)
 {
     neon.setFieldValue("$field.DELIVERYADDRESS", AddressUtils.getAddressById(newAddressId));
-}
\ No newline at end of file
+    
+    }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/chosendeliveryaddress/valueProcess.js b/entity/Order_entity/entityfields/chosendeliveryaddress/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7a909e0723a9fc3af39cc9fc3cc20bb6cd70b0fe
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosendeliveryaddress/valueProcess.js
@@ -0,0 +1,11 @@
+import("Contact_lib");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if (((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) && vars.get("$this.value") == null))
+{
+    var defaultAddressId = ContactUtils.getDefaultAddressId(vars.get("$field.CONTACT_ID"));
+    if (defaultAddressId)
+        result.string(defaultAddressId);
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/chosenpaymentaddress/displayValueProcess.js b/entity/Order_entity/entityfields/chosenpaymentaddress/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..0c813a182c67edfa8cad70ef3f3ce43d0b06c126
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosenpaymentaddress/displayValueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("PostalAddress_lib");
+import("system.result");
+
+result.string(AddressUtils.getFormattedOnlineAddressById(vars.get("$field.ChosenPaymentAddress")))
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js b/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..77ffefc857d9611484f01814de2ec23479998d09
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js
@@ -0,0 +1,13 @@
+import("system.vars");
+import("system.neon");
+import("PostalAddress_lib");
+import("Entity_lib");
+
+var newAddressId = vars.get("local.value");
+
+if (newAddressId)
+{
+    neon.setFieldValue("$field.PAYMENTADDRESS", AddressUtils.getAddressById(newAddressId));
+    neon.setFieldValue("$field.ChosenDeliveryAddress", AddressUtils.getAddressById(newAddressId));
+    neon.setFieldValue("$field.DELIVERYADDRESS", AddressUtils.getAddressById(newAddressId));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/chosenpaymentaddress/valueProcess.js b/entity/Order_entity/entityfields/chosenpaymentaddress/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7a909e0723a9fc3af39cc9fc3cc20bb6cd70b0fe
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosenpaymentaddress/valueProcess.js
@@ -0,0 +1,11 @@
+import("Contact_lib");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if (((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) && vars.get("$this.value") == null))
+{
+    var defaultAddressId = ContactUtils.getDefaultAddressId(vars.get("$field.CONTACT_ID"));
+    if (defaultAddressId)
+        result.string(defaultAddressId);
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/deliveryaddress/valueProcess.js b/entity/Order_entity/entityfields/deliveryaddress/valueProcess.js
index 71e0850b60445661a78a5b32900a6113f43318d4..8bfe52697c3555a2b335dbb8f1b114267b730b49 100644
--- a/entity/Order_entity/entityfields/deliveryaddress/valueProcess.js
+++ b/entity/Order_entity/entityfields/deliveryaddress/valueProcess.js
@@ -1,7 +1,7 @@
 import("system.result");
 import("system.vars");
 
-if (vars.exists("$param.OfferAddress_param")) 
+if (vars.exists("$param.OrderAddress_param")) 
 {
-    result.string(vars.get("$param.OfferAddress_param"));
+    result.string(vars.get("$param.OrderAddress_param"));
 }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/deliveryterms/displayValueProcess.js b/entity/Order_entity/entityfields/deliveryterms/displayValueProcess.js
index 793e3ffc27647930f1a9665d7f85cb342f7441b4..cfacf44952d5160f99c153af98a96d2a434c7432 100644
--- a/entity/Order_entity/entityfields/deliveryterms/displayValueProcess.js
+++ b/entity/Order_entity/entityfields/deliveryterms/displayValueProcess.js
@@ -1,8 +1,6 @@
-import("system.neon");
 import("system.result");
 import("system.vars");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-
 result.string(KeywordUtils.getViewValue($KeywordRegistry.deliveryTerm(), vars.get("$field.DELIVERYTERMS")));
diff --git a/entity/Order_entity/entityfields/deliveryterms/valueProcess.js b/entity/Order_entity/entityfields/deliveryterms/valueProcess.js
index 6dd9221dbe7a526544f7ba0b4c0303066d8a5109..35c2c1c5d5d22158f534b0022173bdaa4a225abb 100644
--- a/entity/Order_entity/entityfields/deliveryterms/valueProcess.js
+++ b/entity/Order_entity/entityfields/deliveryterms/valueProcess.js
@@ -9,7 +9,7 @@ import("Contact_lib");
 
 
 
-if (vars.exists("$param.OrderDeliveryTerm_param") && vars.get("$param.OrderDeliveryTerm_param")) 
+if (vars.get("$param.OrderDeliveryTerm_param")) 
 {
     result.string(vars.get("$param.OrderDeliveryTerm_param"));
 } 
diff --git a/entity/Order_entity/entityfields/dunningdate/stateProcess.js b/entity/Order_entity/entityfields/dunningdate/stateProcess.js
index 5d6dc09c725b50425d83ee00991339f2d2d1a623..bd8b298328ee30fe9401afd20691b51f7034dcd0 100644
--- a/entity/Order_entity/entityfields/dunningdate/stateProcess.js
+++ b/entity/Order_entity/entityfields/dunningdate/stateProcess.js
@@ -3,7 +3,11 @@ import("system.vars");
 import("system.neon");
 import("KeywordRegistry_basic")
 
-if(vars.get("$field.ORDERTYPE") == $KeywordRegistry.orderType$invoice() || neon.OPERATINGSTATE_NEW )
+if((vars.get("$field.ORDERTYPE") == $KeywordRegistry.orderType$invoice()) || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    {
     result.string(neon.COMPONENTSTATE_AUTO);
+    }
 else
-    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
+    {
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+    }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/dunninglevel/stateProcess.js b/entity/Order_entity/entityfields/dunninglevel/stateProcess.js
index 74c560bd8b0dae742f1ec3a9f7a6e2fbbf433bd3..bd8b298328ee30fe9401afd20691b51f7034dcd0 100644
--- a/entity/Order_entity/entityfields/dunninglevel/stateProcess.js
+++ b/entity/Order_entity/entityfields/dunninglevel/stateProcess.js
@@ -3,7 +3,11 @@ import("system.vars");
 import("system.neon");
 import("KeywordRegistry_basic")
 
-if(vars.get("$field.ORDERTYPE") == $KeywordRegistry.orderType$invoice()|| neon.OPERATINGSTATE_NEW)
+if((vars.get("$field.ORDERTYPE") == $KeywordRegistry.orderType$invoice()) || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    {
     result.string(neon.COMPONENTSTATE_AUTO);
+    }
 else
-    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
+    {
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+    }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/image/valueProcess.js b/entity/Order_entity/entityfields/image/valueProcess.js
index 17507224aefcb223da7f2e3edca6b79ea9281930..81da551b8c512afb8e53ea1a4acd9c46934a663e 100644
--- a/entity/Order_entity/entityfields/image/valueProcess.js
+++ b/entity/Order_entity/entityfields/image/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string("TEXT:" + vars.getString("$field.STATUS.displayValue"));
+result.string("TEXT:" + vars.getString("$field.ORDERTYPE.displayValue"));
diff --git a/entity/Order_entity/entityfields/paid/stateProcess.js b/entity/Order_entity/entityfields/paid/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..bd8b298328ee30fe9401afd20691b51f7034dcd0
--- /dev/null
+++ b/entity/Order_entity/entityfields/paid/stateProcess.js
@@ -0,0 +1,13 @@
+import("system.result");
+import("system.vars");
+import("system.neon");
+import("KeywordRegistry_basic")
+
+if((vars.get("$field.ORDERTYPE") == $KeywordRegistry.orderType$invoice()) || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    {
+    result.string(neon.COMPONENTSTATE_AUTO);
+    }
+else
+    {
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+    }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/paydate/stateProcess.js b/entity/Order_entity/entityfields/paydate/stateProcess.js
index 06c04cf66aa819b67a042c1d7f3855ce4b9efa63..08bc5d1caf244373130abbf6cc954a83fe914020 100644
--- a/entity/Order_entity/entityfields/paydate/stateProcess.js
+++ b/entity/Order_entity/entityfields/paydate/stateProcess.js
@@ -3,7 +3,11 @@ import("system.vars");
 import("system.neon");
 import("KeywordRegistry_basic")
 
-if(vars.get("$field.ORDERTYPE") != $KeywordRegistry.orderType$confirmation()|| neon.OPERATINGSTATE_NEW)
+if(vars.get("$field.ORDERTYPE") != $KeywordRegistry.orderType$confirmation()|| vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    {
     result.string(neon.COMPONENTSTATE_AUTO);
+    }
 else
-    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
+    {
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+    }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/paydate/valueProcess.js b/entity/Order_entity/entityfields/paydate/valueProcess.js
index 1465808073ee4285b374c77ff5ff13e793a0ce18..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/entity/Order_entity/entityfields/paydate/valueProcess.js
+++ b/entity/Order_entity/entityfields/paydate/valueProcess.js
@@ -1,14 +0,0 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-import("Date_lib");
-
-
-if (vars.get("$this.value") == null){
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")|| neon.OPERATINGSTATE_NEW )
-{
-    result.string(DateUtils.getTodayUTC());
-}
-else
-    result.string(vars.get("$this.value"));
-}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/payduedate/selectionModeProcess.js b/entity/Order_entity/entityfields/payduedate/selectionModeProcess.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/Order_entity/entityfields/payduedate/valueProcess.js b/entity/Order_entity/entityfields/payduedate/valueProcess.js
index 9e92825f3fa40da2206d6b13a07c6326fe7f11f0..ff67ec6a8bc2a68698f0ae7f8cba5be3c6b697ef 100644
--- a/entity/Order_entity/entityfields/payduedate/valueProcess.js
+++ b/entity/Order_entity/entityfields/payduedate/valueProcess.js
@@ -4,4 +4,4 @@ import("system.vars");
 import("Keyword_lib");
 
 var days= KeywordUtils.getAttributeRelation(vars.get("$field.PAYMENTTERMS"), "PaymentTerm", "dayNumber", "0");
-result.string(parseInt(vars.get("$field.PAYDATE")) + datetime.ONE_DAY * parseInt(days));
\ No newline at end of file
+result.string(parseInt(vars.get("$field.SALESORDERDATE")) + datetime.ONE_DAY * parseInt(days));
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/paymentaddress/valueProcess.js b/entity/Order_entity/entityfields/paymentaddress/valueProcess.js
index 6ebcf9a49b9f2a8d6f2a5b7f54b38fb6a2481fce..dc9675b2bf80bd485c373c052cb231c4cbc19bea 100644
--- a/entity/Order_entity/entityfields/paymentaddress/valueProcess.js
+++ b/entity/Order_entity/entityfields/paymentaddress/valueProcess.js
@@ -1,11 +1,7 @@
-import("Contact_lib");
 import("system.result");
-import("system.neon");
 import("system.vars");
 
-if ((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) && !vars.get("$field.ADDRESS"))
+if (vars.get("$param.OrderAddress_param") == null) 
 {
-    var defaultAddressId = ContactUtils.getDefaultAddressId(vars.get("$field.CONTACT_ID"));
-    if (defaultAddressId)
-        result.string(defaultAddressId);
+    result.string(vars.get("$param.OrderAddress_param"));
 }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/paymentterms/valueProcess.js b/entity/Order_entity/entityfields/paymentterms/valueProcess.js
index 885fc42f89450f6a8d9210eab14b458682cad0d2..8e1009ab59b81a1239a3aabab00bae72f0399aea 100644
--- a/entity/Order_entity/entityfields/paymentterms/valueProcess.js
+++ b/entity/Order_entity/entityfields/paymentterms/valueProcess.js
@@ -8,7 +8,7 @@ import("system.vars");
 import("Attribute_lib");
 
 if (vars.get("$this.value") == null) {
-    if (vars.exists("$param.OrderPaymentTerm_param") && vars.get("$param.OrderPaymentTerm_param")) 
+    if (vars.get("$param.OrderPaymentTerm_param")) 
     {
         result.string(vars.get("$param.OrderPaymentTerm_param"));
     }
diff --git a/entity/Order_entity/entityfields/salesorderdate/valueProcess.js b/entity/Order_entity/entityfields/salesorderdate/valueProcess.js
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1465808073ee4285b374c77ff5ff13e793a0ce18 100644
--- a/entity/Order_entity/entityfields/salesorderdate/valueProcess.js
+++ b/entity/Order_entity/entityfields/salesorderdate/valueProcess.js
@@ -0,0 +1,14 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+import("Date_lib");
+
+
+if (vars.get("$this.value") == null){
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")|| neon.OPERATINGSTATE_NEW )
+{
+    result.string(DateUtils.getTodayUTC());
+}
+else
+    result.string(vars.get("$this.value"));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/setdunning/onActionProcess.js b/entity/Order_entity/entityfields/setdunning/onActionProcess.js
index adc7707e86e261a52eb0f86a3af5865bcd9df7e0..b105ff8dff23e2633bd9e529262c3f6d6f06d650 100644
--- a/entity/Order_entity/entityfields/setdunning/onActionProcess.js
+++ b/entity/Order_entity/entityfields/setdunning/onActionProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.neon");
 
-neon.openContext("Order", "OrderDunning_view", null, neon.OPERATINGSTATE_EDIT, null);
+neon.openContext("Order", "OrderDunning_view", [vars.get("$field.SALESORDERID")], neon.OPERATINGSTATE_EDIT, null);
diff --git a/entity/Order_entity/entityfields/setdunning/stateProcess.js b/entity/Order_entity/entityfields/setdunning/stateProcess.js
index effdd832bbf0b0aaef683ff5228712d133bc0156..b37d892353ecf34537348473744ca02dd7052bdc 100644
--- a/entity/Order_entity/entityfields/setdunning/stateProcess.js
+++ b/entity/Order_entity/entityfields/setdunning/stateProcess.js
@@ -6,11 +6,15 @@ import("system.neon");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
                                       
-if (vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$invoice()){
+if (vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$invoice())
+{
     
-    if (vars.get("$field.ORDERSTATUS")=="1" && vars.get("$field.CANCELLATION")=="0"){
+    if (vars.get("$field.ORDERSTATUS")=="1" && vars.get("$field.CANCELLATION")=="0")
+    {
         result.string(neon.COMPONENTSTATE_EDITABLE);
     }
     else
-    result.string(neon.COMPONENTSTATE_DISABLED);
+        result.string(neon.COMPONENTSTATE_DISABLED);
 }
+else
+    result.string(neon.COMPONENTSTATE_DISABLED);
diff --git a/entity/Order_entity/entityfields/setpaid/onActionProcess.js b/entity/Order_entity/entityfields/setpaid/onActionProcess.js
index 2bb8cc6649ea14c80d98a6f1c8a6bd199ae5e81a..0c8acb980e727787e348ed099785198288ecbcbb 100644
--- a/entity/Order_entity/entityfields/setpaid/onActionProcess.js
+++ b/entity/Order_entity/entityfields/setpaid/onActionProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.neon");
 
-neon.openContext("Order", "OrderPaid_view", null, neon.OPERATINGSTATE_EDIT, null);
+neon.openContext("Order", "OrderPaid_view", [vars.get("$field.SALESORDERID")], neon.OPERATINGSTATE_EDIT, null);
diff --git a/entity/Order_entity/entityfields/setpaid/stateProcess.js b/entity/Order_entity/entityfields/setpaid/stateProcess.js
index 0dcfd335326f03b106476ef51ee26243a6c9724f..1c13f702c1eae459d158cae07d485c4c00b6eb24 100644
--- a/entity/Order_entity/entityfields/setpaid/stateProcess.js
+++ b/entity/Order_entity/entityfields/setpaid/stateProcess.js
@@ -6,11 +6,15 @@ import("system.neon");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
                                       
-if (vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$invoice()|| vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$credit() ){
+if (vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$invoice()|| vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$credit())
+{
     
-    if (vars.get("$field.ORDERSTATUS")=="1"){
+    if (vars.get("$field.ORDERSTATUS")=="1")
+    {
         result.string(neon.COMPONENTSTATE_EDITABLE);
     }
     else
-    result.string(neon.COMPONENTSTATE_DISABLED);
+        result.string(neon.COMPONENTSTATE_DISABLED);
 }
+else
+    result.string(neon.COMPONENTSTATE_DISABLED);
diff --git a/entity/Order_entity/entityfields/transferdeliverynote/stateProcess.js b/entity/Order_entity/entityfields/transferdeliverynote/stateProcess.js
index f68697a1a86df1f5ea3d1e4a6876e948c109eb87..91e355b5d4b5b65b38354cf98f534a256271fce7 100644
--- a/entity/Order_entity/entityfields/transferdeliverynote/stateProcess.js
+++ b/entity/Order_entity/entityfields/transferdeliverynote/stateProcess.js
@@ -8,10 +8,11 @@ import("KeywordRegistry_basic");
                                       
 if(vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$confirmation())
     result.string(neon.COMPONENTSTATE_EDITABLE);
-
-else if (vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$invoice()){
+else if (vars.get("$field.ORDERTYPE")==$KeywordRegistry.orderType$invoice())
+{
     
-    if (vars.get("$field.ORDERSTATUS")=="0" && vars.get("$field.CANCELLATION")=="1"){
+    if (vars.get("$field.ORDERSTATUS") == "0" && vars.get("$field.CANCELLATION") == "1")
+    {
         result.string(neon.COMPONENTSTATE_DISABLED);
     }
     
diff --git a/neonView/OrderDunning_view/OrderDunning_view.aod b/neonView/OrderDunning_view/OrderDunning_view.aod
index 14676dac725e3ab248f700622df8fcb6719f355f..34fe5545787b3cbcd93378e108c7f2dfef5b95c7 100644
--- a/neonView/OrderDunning_view/OrderDunning_view.aod
+++ b/neonView/OrderDunning_view/OrderDunning_view.aod
@@ -2,6 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
   <name>OrderDunning_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
   <layout>
     <boxLayout>
       <name>layout</name>
diff --git a/neonView/OrderEdit_view/OrderEdit_view.aod b/neonView/OrderEdit_view/OrderEdit_view.aod
index 557e958a5bd6bfc12c3ae6d9099bee075396fcf9..12b0504463667dc7e21c8f016b1a1449095d93b8 100644
--- a/neonView/OrderEdit_view/OrderEdit_view.aod
+++ b/neonView/OrderEdit_view/OrderEdit_view.aod
@@ -48,6 +48,18 @@
           <name>7ab3eb65-b713-4251-9eb1-3119432565f5</name>
           <entityField>LANGUAGE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>7514c5cf-3e92-4d38-9dff-dd373b964a35</name>
+          <entityField>SALESORDERDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>236a3654-dce9-4786-ae13-9b1babd5f75f</name>
+          <entityField>PAYDUEDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>cdd4504c-3af2-414f-9f1a-d8ab646487f1</name>
+          <entityField>PAYDATE</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>b42c6333-d6ac-4628-b7b4-509fea676276</name>
           <entityField>DELIVERYTERMS</entityField>
@@ -80,14 +92,6 @@
           <name>31ed9eba-66a1-4114-a1fe-61ef475d532d</name>
           <entityField>PAID</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>cdd4504c-3af2-414f-9f1a-d8ab646487f1</name>
-          <entityField>PAYDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>236a3654-dce9-4786-ae13-9b1babd5f75f</name>
-          <entityField>PAYDUEDATE</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>9f25be07-768a-4598-a766-c78beb9ac650</name>
           <entityField>DUNNINGDATE</entityField>
@@ -104,17 +108,21 @@
           <name>8333aea5-0be3-47ac-94c3-f6f8485ba7e0</name>
           <entityField>CANCELLATION</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>9cc1be03-6dc6-4c73-960a-fd8c3a9beec1</name>
+          <entityField>ChosenPaymentAddress</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>21860875-55d6-4686-9e1d-6b45963878ff</name>
           <entityField>PAYMENTADDRESS</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>73687971-85f9-4120-98b2-e93f7f906ebb</name>
-          <entityField>DELIVERYADDRESS</entityField>
+          <name>884b0458-52ac-401c-ba62-447d37889784</name>
+          <entityField>ChosenDeliveryAddress</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>330d2d02-145b-42b7-937e-7830fc2b83b0</name>
-          <entityField>NOTICE</entityField>
+          <name>73687971-85f9-4120-98b2-e93f7f906ebb</name>
+          <entityField>DELIVERYADDRESS</entityField>
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
diff --git a/neonView/OrderPaid_view/OrderPaid_view.aod b/neonView/OrderPaid_view/OrderPaid_view.aod
index 27dbfe7389c322ffa3ac5f3a49423332d1b8da87..18e9b352d54b7cca1c6e8fd0754bf0365637d8a0 100644
--- a/neonView/OrderPaid_view/OrderPaid_view.aod
+++ b/neonView/OrderPaid_view/OrderPaid_view.aod
@@ -2,6 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
   <name>OrderPaid_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
   <layout>
     <boxLayout>
       <name>layout</name>
diff --git a/neonView/OrderPreview_view/OrderPreview_view.aod b/neonView/OrderPreview_view/OrderPreview_view.aod
index 2d2c660fb0b4de0dd4b1bee34df3422c786ffe06..bb7c8380f094dc0299317d1fff46b06bc2fa30cd 100644
--- a/neonView/OrderPreview_view/OrderPreview_view.aod
+++ b/neonView/OrderPreview_view/OrderPreview_view.aod
@@ -68,6 +68,10 @@
           <name>43972a26-67f7-4fb5-9107-111731d326af</name>
           <entityField>TotalGross</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>893e3b20-891e-49ba-a460-7dadfca7b18a</name>
+          <entityField>PAID</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>