diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
index 5dde13f0008983a4d1dcb8543aa11a74fe80b816..4a9ee0d05bf344f86026deac5b6fb737aac542f2 100644
--- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
+++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
@@ -12,6 +12,7 @@
         <node name="Org_context" kind="10077" />
         <node name="Pers_context" kind="10077" />
         <node name="History_context" kind="10077" />
+        <node name="Product_context" kind="10077" />
         <node name="INTERNAL_ADMINISTRATOR" kind="159" />
       </node>
     </node>
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 8a978f3d02a099676885a61e1f2149674971759d..c2b1b3226e050c156344e86765b298c891915b30 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -1,14 +1,18 @@
 <?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.0.3" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.0.3">
   <name>Product_entity</name>
+  <title>Product</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <alias>Data_alias</alias>
   <recordContainerType>DB</recordContainerType>
+  <caption>Product</caption>
   <entityFields>
     <entityField>
       <name>ADVERTISING</name>
       <tableName>PRODUCT</tableName>
       <columnName>ADVERTISING</columnName>
+      <caption>Werbemittel</caption>
+      <contentType>BOOLEAN</contentType>
     </entityField>
     <entityField>
       <name>DATE_EDIT</name>
@@ -24,11 +28,17 @@
       <name>GROUPCODEID</name>
       <tableName>PRODUCT</tableName>
       <columnName>GROUPCODEID</columnName>
+      <caption>Produktgruppe</caption>
+      <mandatory v="true" />
+      <possibleItemsProcess>%aditoprj%/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js</possibleItemsProcess>
     </entityField>
     <entityField>
       <name>MINSTOCK</name>
       <tableName>PRODUCT</tableName>
       <columnName>MINSTOCK</columnName>
+      <caption>Min.-Bestand</caption>
+      <contentType>NUMBER</contentType>
+      <outputFormat>#,##0.##</outputFormat>
     </entityField>
     <entityField>
       <name>ORG_ID</name>
@@ -59,6 +69,8 @@
       <name>STATUS</name>
       <tableName>PRODUCT</tableName>
       <columnName>STATUS</columnName>
+      <caption>Aktiv</caption>
+      <contentType>BOOLEAN</contentType>
     </entityField>
     <entityField>
       <name>UNIT</name>
diff --git a/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js b/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec42dede214f092bd764b4151c5a0e93fa25de84
--- /dev/null
+++ b/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
@@ -0,0 +1,8 @@
+import("system.result");
+import("Keyword_lib");
+
+var kwdUtils, items;
+
+kwdUtils = new KeywordUtils();
+items = kwdUtils.getStandardArray("GROUPCODE");
+result.object(items);
\ No newline at end of file
diff --git a/neonContext/Product_context/Product_context.aod b/neonContext/Product_context/Product_context.aod
new file mode 100644
index 0000000000000000000000000000000000000000..40fafab151b7d1b7a8df4588c3c8d18c4b9b56df
--- /dev/null
+++ b/neonContext/Product_context/Product_context.aod
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
+  <name>Product_context</name>
+  <title>Product</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <mainview>ProductMain_view</mainview>
+  <filterview>ProductFilter_view</filterview>
+  <editview>ProductEdit_view</editview>
+  <preview>ProductPreview_view</preview>
+  <entity>Product_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>8a0bd726-b3f6-4c5a-bd2a-251285b9ad90</name>
+      <view>ProductMain_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>ecb98950-5460-44ab-8da8-757bd143c03e</name>
+      <view>ProductEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>cc985c0d-755f-46bd-89a2-71c5c6227198</name>
+      <view>ProductFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>5580ead4-2257-4cdb-a3ac-5e7067c4c1ab</name>
+      <view>ProductPreview_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/ProductEdit_view/ProductEdit_view.aod b/neonView/ProductEdit_view/ProductEdit_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..13b398314756354614e1d29773b06da25fd0ef4f
--- /dev/null
+++ b/neonView/ProductEdit_view/ProductEdit_view.aod
@@ -0,0 +1,51 @@
+<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
+  <name>ProductEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>ProductEdit_generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>d5cfa031-1bce-43b3-b1c1-d79a4c1205dc</name>
+          <entityField>ADVERTISING</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>950b57a7-df15-42a3-9f94-3377ed757ba3</name>
+          <entityField>GROUPCODEID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>77197b19-54ea-493c-8d12-27391cd54a7a</name>
+          <entityField>MINSTOCK</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>472939e5-a69b-4eba-986f-0b47e72d0e9d</name>
+          <entityField>ORG_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>cefb3dc8-8d9b-47c4-a0f8-e78e66303ec7</name>
+          <entityField>PRODUCTCODE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0019c5bd-368f-457a-b6e3-dd1d12cbe19e</name>
+          <entityField>PRODUCTNAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>49b07dd2-1ee1-4b80-88a7-daf4879848d2</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a068f12a-ed45-4997-9e94-c865ccffee2a</name>
+          <entityField>UNIT</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ProductFilter_view/ProductFilter_view.aod b/neonView/ProductFilter_view/ProductFilter_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..f1ae438afed8f24bad818c365b55ef03e7350eff
--- /dev/null
+++ b/neonView/ProductFilter_view/ProductFilter_view.aod
@@ -0,0 +1,26 @@
+<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
+  <name>ProductFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table_template</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>346eab87-8fea-4828-8ea6-86af61f973ce</name>
+          <entityField>GROUPCODEID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ee627d12-c60c-48c2-a86e-2a144f5853e6</name>
+          <entityField>PRODUCTCODE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ProductMain_view/ProductMain_view.aod b/neonView/ProductMain_view/ProductMain_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..4a3ba7c08129890f867755cc97bc48a9f5fce92e
--- /dev/null
+++ b/neonView/ProductMain_view/ProductMain_view.aod
@@ -0,0 +1,5 @@
+<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
+  <name>ProductMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+</neonView>
diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..31106c2cfe6f5da425bf00e4e5c4cc75cd56db3c
--- /dev/null
+++ b/neonView/ProductPreview_view/ProductPreview_view.aod
@@ -0,0 +1,5 @@
+<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
+  <name>ProductPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+</neonView>
diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js
index 85b57553f3160d10e4c42b31222958182835c7db..14306721400dd3eea8fe3cddb5e80648937a3b97 100644
--- a/process/Keyword_lib/process.js
+++ b/process/Keyword_lib/process.js
@@ -121,6 +121,16 @@ function KeywordUtils(){
                     ,createKeywordEntry("o", translate.text("${GENDER_OTHER}"))
                 ]);
                 break;
+            case "GROUPCODE":
+                valueContainer = createKeywordEntriesContainer([
+                     createKeywordEntry("1", translate.text("Warengruppe 1"))
+                    ,createKeywordEntry("2", translate.text("Warengruppe 2"))
+                    ,createKeywordEntry("3", translate.text("Warengruppe 3"))
+                    ,createKeywordEntry("4", translate.text("Rabatt"))
+                    ,createKeywordEntry("5", translate.text("Ersatzteile"))
+                    ,createKeywordEntry("6", translate.text("Dienstleistung"))
+                ]);
+                break;
             default: 
                 throw new Error(translate.withArguments("[%0]the given keyword \"%1\" has no match with the possible keywordlist", [
                     arguments.callee.name, keywordType