diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
index 5357bbb040c126c3ebfb5c630e8a0f7fded16c29..cd36a34e3e66dc084e0281bee1ad04a771d3df37 100644
--- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
+++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
@@ -37,6 +37,7 @@
       <consumer>KeywordDocumentTemplateType</consumer>
       <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>USER_EDIT</name>
@@ -143,6 +144,20 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>htmlText</name>
+      <title>HTML</title>
+      <contentType>HTML</contentType>
+      <state>INVISIBLE</state>
+      <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js</stateProcess>
+    </entityField>
+    <entityField>
+      <name>texText</name>
+      <title>Text</title>
+      <contentType>LONG_TEXT</contentType>
+      <state>INVISIBLE</state>
+      <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js</stateProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..98c975d068848e945101f47d0a176190340079f7
--- /dev/null
+++ b/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.logging");
+import("system.neon");
+import("system.result");
+import("system.vars");
+
+if(vars.get("$field.TYPE").trim() == "MAI" && vars.get("$field.BINDATA") == "")
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fbe7078587b5a27d6cf21bb4a78d718c76009441
--- /dev/null
+++ b/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.logging");
+import("system.neon");
+import("system.result");
+import("system.vars");
+
+if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.BINDATA") == "")
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js b/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js b/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js
index fe2d80483b5fee45c5a85acfa6d5fa801d4e42d8..4b0594846b2bc749f410dade62902cedcd28f97a 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js
@@ -1,12 +1,32 @@
 import("system.vars");
 import("system.db");
+import("system.util");
 import("Document_lib");
 
-var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA"));
+//TODO - Function
+
+var bindataUpload = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA"));
+var filename = "";
+var bindata = "";
 
 if(bindata != "")
 {
-    db.insertBinary("DOCUMENTTEMPLATE", "DOCUMENT", vars.get("$field.DOCUMENTTEMPLATEID"), "", 
-                                bindata, DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA")), 
-                                "", "", "_____SYSTEMALIAS");
+    filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
+    bindata  = bindataUpload;
+}
+else if(vars.get("$field.TYPE").trim() == "MAI" && vars.get("$field.htmlText") != "")
+{
+    filename = vars.get("$field.NAME") + ".html";
+    bindata  = util.encodeBase64String(vars.get("$field.htmlText"));
+}
+else if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.texText") != "")
+{
+    filename = vars.get("$field.NAME") + ".txt";
+    bindata  = util.encodeBase64String(vars.get("$field.texText"));
+}
+
+if(bindata != "" && filename != "")
+{
+    db.insertBinary("DOCUMENTTEMPLATE", "DOCUMENT", vars.get("$field.DOCUMENTTEMPLATEID"), 
+                    "", bindata, filename, "", "", "_____SYSTEMALIAS");
 }
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js b/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js
index a5e2e676ed60730d3dc5bf0b54aba0823c46d618..429cc8a2e1cdf354250f0753f78fde2b58f6810a 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js
@@ -1,11 +1,32 @@
+import("system.util");
 import("system.vars");
 import("system.db");
 import("Document_lib");
 
-var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA"));
+//TODO - Function
 
-if(bindata != "")
+var bindataUpload = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA"));
+var filename      = "";
+var bindata       = "";
+
+if(bindataUpload != "")
+{
+    bindata = bindataUpload;
+    filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
+}
+else if(vars.get("$field.TYPE").trim() == "MAI" && vars.get("$field.htmlText") != "")
+{
+    filename = vars.get("$field.NAME") + ".html";
+    bindata  = util.encodeBase64String(vars.get("$field.htmlText"));
+}
+else if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.texText") != "")
+{
+    filename = vars.get("$field.NAME") + ".txt";
+    bindata  = util.encodeBase64String(vars.get("$field.texText"));
+}
+
+if(bindata != "" && filename != "")
 {
-    var bId = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$field.DOCUMENTTEMPLATEID") + "'", "_____SYSTEMALIAS");
-    db.updateBinary(bId, "", bindata, DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA")), "", "", "_____SYSTEMALIAS");
+    var binaryId      = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$field.DOCUMENTTEMPLATEID") + "'", "_____SYSTEMALIAS");
+    db.updateBinary(binaryId, "", bindata, filename, "", "", "_____SYSTEMALIAS");
 }
\ No newline at end of file
diff --git a/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod b/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod
index 7834db84773b5824773827d39f28c8c46f68b5ec..50bc5095a1acad54726e2f600461b460b4e8dee1 100644
--- a/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod
+++ b/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod
@@ -33,6 +33,14 @@
           <name>c25464a6-1111-4f9f-a834-92015c2d87bc</name>
           <entityField>LANGUAGE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>850130f7-75b1-42ef-9da9-da98966d6367</name>
+          <entityField>htmlText</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>bf313ea8-821a-4693-8ba2-4246ad8a4f62</name>
+          <entityField>texText</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>0fed8c5c-1be5-4599-938d-31241c4c9395</name>
           <entityField>DESCRIPTION</entityField>