diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 93dc08b..8dc89c2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -8,4 +8,4 @@ on:
 
 jobs:
   build:
-    uses: axonivy-market/github-workflows/.github/workflows/ci.yml@v4
+    uses: axonivy-market/github-workflows/.github/workflows/ci.yml@v5
diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index c2fee37..ae5e6c3 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -8,4 +8,4 @@ on:
 
 jobs:
   build:
-    uses: axonivy-market/github-workflows/.github/workflows/dev.yml@v4
+    uses: axonivy-market/github-workflows/.github/workflows/dev.yml@v5
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ab5b0d7..bc801b4 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -4,4 +4,4 @@ on: workflow_dispatch
 
 jobs:
   build:
-    uses: axonivy-market/github-workflows/.github/workflows/release.yml@v4
+    uses: axonivy-market/github-workflows/.github/workflows/release.yml@v5
diff --git a/excel-importer-product/pom.xml b/excel-importer-product/pom.xml
index 4f84895..2f2fdb3 100644
--- a/excel-importer-product/pom.xml
+++ b/excel-importer-product/pom.xml
@@ -2,7 +2,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.axonivy.util.excel</groupId>
   <artifactId>excel-importer-product</artifactId>
-  <version>10.0.15-SNAPSHOT</version>
+  <version>12.0.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <properties>
diff --git a/excel-importer-test/.classpath b/excel-importer-test/.classpath
index 8c1df4e..f95a3af 100644
--- a/excel-importer-test/.classpath
+++ b/excel-importer-test/.classpath
@@ -5,12 +5,7 @@
 			<attribute name="optional" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry excluding="**/*.ivyClass|**/*.p.json|**/*.rddescriptor|**/*.xhtml" kind="src" path="src_hd">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path="src_wsproc">
+		<classpathentry kind="src" path="src_wsproc">
 		<attributes>
 			<attribute name="optional" value="true"/>
 		</attributes>
diff --git a/excel-importer-test/.project b/excel-importer-test/.project
index ea3d7b9..0f7e4d9 100644
--- a/excel-importer-test/.project
+++ b/excel-importer-test/.project
@@ -25,6 +25,11 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>ch.ivyteam.ivy.dialog.form.build.ivyDialogFormBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 		<buildCommand>
 			<name>ch.ivyteam.ivy.designer.ide.ivyModelValidationBuilder</name>
 			<arguments>
@@ -54,7 +59,6 @@
 		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
 		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
-</projectDescription>
+</projectDescription>
\ No newline at end of file
diff --git a/excel-importer-test/.settings/.jsdtscope b/excel-importer-test/.settings/.jsdtscope
deleted file mode 100644
index 869c01d..0000000
--- a/excel-importer-test/.settings/.jsdtscope
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="webContent"/>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
-		<attributes>
-			<attribute name="hide" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
-	<classpathentry kind="output" path=""/>
-</classpath>
diff --git a/excel-importer-test/.settings/ch.ivyteam.ivy.designer.prefs b/excel-importer-test/.settings/ch.ivyteam.ivy.designer.prefs
index d850a5d..bdc3057 100644
--- a/excel-importer-test/.settings/ch.ivyteam.ivy.designer.prefs
+++ b/excel-importer-test/.settings/ch.ivyteam.ivy.designer.prefs
@@ -1,5 +1,4 @@
-ch.ivyteam.ivy.designer.preferences.DataClassPreferencePage\:DEFAULT_DATA_CLASS=com.axonivy.util.excel.test.Data
 ch.ivyteam.ivy.designer.preferences.DataClassPreferencePage\:DEFAULT_NAMESPACE=com.axonivy.util.excel.test
 ch.ivyteam.ivy.project.preferences\:PRIMEFACES_VERSION=11
-ch.ivyteam.ivy.project.preferences\:PROJECT_VERSION=100000
-eclipse.preferences.version=1
+ch.ivyteam.ivy.project.preferences\:PROJECT_VERSION=120001
+eclipse.preferences.version=1
\ No newline at end of file
diff --git a/excel-importer-test/.settings/org.eclipse.jdt.core.prefs b/excel-importer-test/.settings/org.eclipse.jdt.core.prefs
index d4540a5..3a79233 100644
--- a/excel-importer-test/.settings/org.eclipse.jdt.core.prefs
+++ b/excel-importer-test/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
 org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/excel-importer-test/.settings/org.eclipse.wst.common.component b/excel-importer-test/.settings/org.eclipse.wst.common.component
index b33e904..eadfe2b 100644
--- a/excel-importer-test/.settings/org.eclipse.wst.common.component
+++ b/excel-importer-test/.settings/org.eclipse.wst.common.component
@@ -1,31 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
-            
-    
     <wb-module deploy-name="excel-importer-test">
-                        
-        
         <wb-resource deploy-path="/" source-path="/webContent" tag="defaultRootSource"/>
-                        
-        
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
-                        
-        
-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src_hd"/>
-                        
-        
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src_wsproc"/>
-                        
-        
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src_dataClasses"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src_test"/>
-                        
-        
         <property name="java-output-path" value="/excel-importer-test/target/classes"/>
-                
         <property name="context-root" value="excel-importer-test"/>
-                    
-    
     </wb-module>
-        
-
-</project-modules>
+</project-modules>
\ No newline at end of file
diff --git a/excel-importer-test/.settings/org.eclipse.wst.common.project.facet.core.xml b/excel-importer-test/.settings/org.eclipse.wst.common.project.facet.core.xml
index 156ecdb..621b1f8 100644
--- a/excel-importer-test/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/excel-importer-test/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <faceted-project>
-  <fixed facet="wst.jsdt.web"/>
-  <installed facet="java" version="17"/>
+  <installed facet="java" version="21"/>
   <installed facet="jst.web" version="3.0"/>
-  <installed facet="wst.jsdt.web" version="1.0"/>
   <installed facet="jst.jsf" version="2.1"/>
-</faceted-project>
+</faceted-project>
\ No newline at end of file
diff --git a/excel-importer-test/.settings/org.eclipse.wst.jsdt.ui.superType.container b/excel-importer-test/.settings/org.eclipse.wst.jsdt.ui.superType.container
deleted file mode 100644
index 3bd5d0a..0000000
--- a/excel-importer-test/.settings/org.eclipse.wst.jsdt.ui.superType.container
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/excel-importer-test/.settings/org.eclipse.wst.jsdt.ui.superType.name b/excel-importer-test/.settings/org.eclipse.wst.jsdt.ui.superType.name
deleted file mode 100644
index 05bd71b..0000000
--- a/excel-importer-test/.settings/org.eclipse.wst.jsdt.ui.superType.name
+++ /dev/null
@@ -1 +0,0 @@
-Window
\ No newline at end of file
diff --git a/excel-importer-test/config/variables.yaml b/excel-importer-test/config/variables.yaml
index 64c8fa0..4448394 100644
--- a/excel-importer-test/config/variables.yaml
+++ b/excel-importer-test/config/variables.yaml
@@ -1,3 +1,4 @@
+# yaml-language-server: $schema=https://json-schema.axonivy.com/app/12.0.0/variables.json
 # == Variables ==
 # 
 # You can define here your project Variables.
diff --git a/excel-importer-test/dataclasses/com/axonivy/util/excel/test/Data.ivyClass b/excel-importer-test/dataclasses/com/axonivy/util/excel/test/Data.ivyClass
deleted file mode 100644
index ecca786..0000000
--- a/excel-importer-test/dataclasses/com/axonivy/util/excel/test/Data.ivyClass
+++ /dev/null
@@ -1,2 +0,0 @@
-Data #class
-com.axonivy.util.excel.test #namespace
diff --git a/excel-importer-test/dataclasses/com/axonivy/util/excel/test/TestMe.ivyClass b/excel-importer-test/dataclasses/com/axonivy/util/excel/test/TestMe.ivyClass
deleted file mode 100644
index e1ad11e..0000000
--- a/excel-importer-test/dataclasses/com/axonivy/util/excel/test/TestMe.ivyClass
+++ /dev/null
@@ -1,2 +0,0 @@
-TestMe #class
-com.axonivy.util.excel.test #namespace
diff --git a/excel-importer-test/pom.xml b/excel-importer-test/pom.xml
index d95cb02..774ad82 100644
--- a/excel-importer-test/pom.xml
+++ b/excel-importer-test/pom.xml
@@ -3,11 +3,11 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.axonivy.util.excel</groupId>
   <artifactId>excel-importer-test</artifactId>
-  <version>10.0.15-SNAPSHOT</version>
+  <version>12.0.0-SNAPSHOT</version>
   <packaging>iar</packaging>
   <properties>
-    <project.build.plugin.version>10.0.16</project.build.plugin.version>
-    <tester.version>10.0.16</tester.version>
+    <project.build.plugin.version>12.0.0</project.build.plugin.version>
+    <tester.version>12.0.1</tester.version>
   </properties>
   <pluginRepositories>
     <pluginRepository>
diff --git a/excel-importer/.classpath b/excel-importer/.classpath
index 94924dd..0c3db3a 100644
--- a/excel-importer/.classpath
+++ b/excel-importer/.classpath
@@ -5,12 +5,7 @@
 			<attribute name="optional" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry excluding="**/*.ivyClass|**/*.p.json|**/*.rddescriptor|**/*.xhtml" kind="src" path="src_hd">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path="src_wsproc">
+		<classpathentry kind="src" path="src_wsproc">
 		<attributes>
 			<attribute name="optional" value="true"/>
 		</attributes>
diff --git a/excel-importer/.project b/excel-importer/.project
index 64a9116..7f29a64 100644
--- a/excel-importer/.project
+++ b/excel-importer/.project
@@ -25,6 +25,11 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>ch.ivyteam.ivy.dialog.form.build.ivyDialogFormBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 		<buildCommand>
 			<name>ch.ivyteam.ivy.designer.ide.ivyModelValidationBuilder</name>
 			<arguments>
@@ -54,7 +59,6 @@
 		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
 		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
-</projectDescription>
+</projectDescription>
\ No newline at end of file
diff --git a/excel-importer/.settings/.jsdtscope b/excel-importer/.settings/.jsdtscope
deleted file mode 100644
index 869c01d..0000000
--- a/excel-importer/.settings/.jsdtscope
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="webContent"/>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
-		<attributes>
-			<attribute name="hide" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
-	<classpathentry kind="output" path=""/>
-</classpath>
diff --git a/excel-importer/.settings/ch.ivyteam.ivy.designer.prefs b/excel-importer/.settings/ch.ivyteam.ivy.designer.prefs
index 73c9338..ffadf27 100644
--- a/excel-importer/.settings/ch.ivyteam.ivy.designer.prefs
+++ b/excel-importer/.settings/ch.ivyteam.ivy.designer.prefs
@@ -1,5 +1,4 @@
-ch.ivyteam.ivy.designer.preferences.DataClassPreferencePage\:DEFAULT_DATA_CLASS=com.axonivy.util.excel.importer.Data
 ch.ivyteam.ivy.designer.preferences.DataClassPreferencePage\:DEFAULT_NAMESPACE=com.axonivy.util.excel.importer
 ch.ivyteam.ivy.project.preferences\:PRIMEFACES_VERSION=11
-ch.ivyteam.ivy.project.preferences\:PROJECT_VERSION=100000
-eclipse.preferences.version=1
+ch.ivyteam.ivy.project.preferences\:PROJECT_VERSION=120001
+eclipse.preferences.version=1
\ No newline at end of file
diff --git a/excel-importer/.settings/org.eclipse.jdt.core.prefs b/excel-importer/.settings/org.eclipse.jdt.core.prefs
index d4540a5..3a79233 100644
--- a/excel-importer/.settings/org.eclipse.jdt.core.prefs
+++ b/excel-importer/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
 org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/excel-importer/.settings/org.eclipse.wst.common.component b/excel-importer/.settings/org.eclipse.wst.common.component
index 1c70ed9..86ee1e5 100644
--- a/excel-importer/.settings/org.eclipse.wst.common.component
+++ b/excel-importer/.settings/org.eclipse.wst.common.component
@@ -2,10 +2,9 @@
     <wb-module deploy-name="excel-importer">
         <wb-resource deploy-path="/" source-path="/webContent" tag="defaultRootSource"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src_hd"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src_wsproc"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src_dataClasses"/>
         <property name="context-root" value="excel-importer"/>
         <property name="java-output-path" value="/excel-importer/target/classes"/>
     </wb-module>
-</project-modules>
+</project-modules>
\ No newline at end of file
diff --git a/excel-importer/.settings/org.eclipse.wst.common.project.facet.core.xml b/excel-importer/.settings/org.eclipse.wst.common.project.facet.core.xml
index 156ecdb..621b1f8 100644
--- a/excel-importer/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/excel-importer/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <faceted-project>
-  <fixed facet="wst.jsdt.web"/>
-  <installed facet="java" version="17"/>
+  <installed facet="java" version="21"/>
   <installed facet="jst.web" version="3.0"/>
-  <installed facet="wst.jsdt.web" version="1.0"/>
   <installed facet="jst.jsf" version="2.1"/>
-</faceted-project>
+</faceted-project>
\ No newline at end of file
diff --git a/excel-importer/.settings/org.eclipse.wst.jsdt.ui.superType.container b/excel-importer/.settings/org.eclipse.wst.jsdt.ui.superType.container
deleted file mode 100644
index 3bd5d0a..0000000
--- a/excel-importer/.settings/org.eclipse.wst.jsdt.ui.superType.container
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/excel-importer/.settings/org.eclipse.wst.jsdt.ui.superType.name b/excel-importer/.settings/org.eclipse.wst.jsdt.ui.superType.name
deleted file mode 100644
index 05bd71b..0000000
--- a/excel-importer/.settings/org.eclipse.wst.jsdt.ui.superType.name
+++ /dev/null
@@ -1 +0,0 @@
-Window
\ No newline at end of file
diff --git a/excel-importer/config/variables.yaml b/excel-importer/config/variables.yaml
index 64c8fa0..4448394 100644
--- a/excel-importer/config/variables.yaml
+++ b/excel-importer/config/variables.yaml
@@ -1,3 +1,4 @@
+# yaml-language-server: $schema=https://json-schema.axonivy.com/app/12.0.0/variables.json
 # == Variables ==
 # 
 # You can define here your project Variables.
diff --git a/excel-importer/dataclasses/com/axonivy/util/excel/importer/Data.d.json b/excel-importer/dataclasses/com/axonivy/util/excel/importer/Data.d.json
new file mode 100644
index 0000000..16a9fc1
--- /dev/null
+++ b/excel-importer/dataclasses/com/axonivy/util/excel/importer/Data.d.json
@@ -0,0 +1,6 @@
+{
+  "$schema" : "https://json-schema.axonivy.com/data-class/12.0.0/data-class.json",
+  "simpleName" : "Data",
+  "namespace" : "com.axonivy.util.excel.importer",
+  "isBusinessCaseData" : false
+}
\ No newline at end of file
diff --git a/excel-importer/dataclasses/com/axonivy/util/excel/importer/Data.ivyClass b/excel-importer/dataclasses/com/axonivy/util/excel/importer/Data.ivyClass
deleted file mode 100644
index 238b054..0000000
--- a/excel-importer/dataclasses/com/axonivy/util/excel/importer/Data.ivyClass
+++ /dev/null
@@ -1,2 +0,0 @@
-Data #class
-com.axonivy.util.excel.importer #namespace
diff --git a/excel-importer/dataclasses/com/axonivy/util/excel/importer/MyEntity.d.json b/excel-importer/dataclasses/com/axonivy/util/excel/importer/MyEntity.d.json
new file mode 100644
index 0000000..53a8d93
--- /dev/null
+++ b/excel-importer/dataclasses/com/axonivy/util/excel/importer/MyEntity.d.json
@@ -0,0 +1,25 @@
+{
+  "$schema" : "https://json-schema.axonivy.com/data-class/12.0.0/data-class.json",
+  "simpleName" : "MyEntity",
+  "namespace" : "com.axonivy.util.excel.importer",
+  "isBusinessCaseData" : false,
+  "entity" : { },
+  "fields" : [ {
+    "name" : "id",
+    "type" : "Integer",
+    "comment" : "Identifier",
+    "modifiers" : [ "PERSISTENT", "ID", "GENERATED" ],
+    "entity" : {
+      "cascadeTypes" : [ "PERSIST", "MERGE" ],
+      "orphanRemoval" : false
+    }
+  }, {
+    "name" : "name",
+    "type" : "String",
+    "modifiers" : [ "PERSISTENT" ],
+    "entity" : {
+      "cascadeTypes" : [ "PERSIST", "MERGE" ],
+      "orphanRemoval" : false
+    }
+  } ]
+}
\ No newline at end of file
diff --git a/excel-importer/dataclasses/com/axonivy/util/excel/importer/MyEntity.ivyClass b/excel-importer/dataclasses/com/axonivy/util/excel/importer/MyEntity.ivyClass
deleted file mode 100644
index b5f0aa5..0000000
--- a/excel-importer/dataclasses/com/axonivy/util/excel/importer/MyEntity.ivyClass
+++ /dev/null
@@ -1,10 +0,0 @@
-MyEntity #class
-true #isEntity
-com.axonivy.util.excel.importer #namespace
-id Integer #field
-id Identifier #fieldComment
-id PERSISTENT #fieldModifier
-id ID #fieldModifier
-id GENERATED #fieldModifier
-name String #field
-name PERSISTENT #fieldModifier
diff --git a/excel-importer/pom.xml b/excel-importer/pom.xml
index 6ea855c..2dfdffa 100644
--- a/excel-importer/pom.xml
+++ b/excel-importer/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.axonivy.util.excel</groupId>
   <artifactId>excel-importer</artifactId>
-  <version>10.0.15-SNAPSHOT</version>
+  <version>12.0.0-SNAPSHOT</version>
    <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManager.rddescriptor b/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManager.rddescriptor
deleted file mode 100644
index ae605f0..0000000
--- a/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManager.rddescriptor
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<richDialogDescriptor>
-    <property>
-        <name>viewTechnology</name>
-        <value>JSF</value>
-    </property>
-</richDialogDescriptor>
diff --git a/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerData.d.json b/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerData.d.json
new file mode 100644
index 0000000..23fd906
--- /dev/null
+++ b/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerData.d.json
@@ -0,0 +1,15 @@
+{
+  "$schema" : "https://json-schema.axonivy.com/data-class/12.0.0/data-class.json",
+  "simpleName" : "EntityManagerData",
+  "namespace" : "com.axonivy.util.excel.importer.EntityManager",
+  "isBusinessCaseData" : false,
+  "fields" : [ {
+    "name" : "entries",
+    "type" : "java.util.List<com.axonivy.util.excel.importer.MyEntity>",
+    "modifiers" : [ "PERSISTENT" ]
+  }, {
+    "name" : "edit",
+    "type" : "com.axonivy.util.excel.importer.MyEntity",
+    "modifiers" : [ "PERSISTENT" ]
+  } ]
+}
\ No newline at end of file
diff --git a/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerData.ivyClass b/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerData.ivyClass
deleted file mode 100644
index 498b8d6..0000000
--- a/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerData.ivyClass
+++ /dev/null
@@ -1,6 +0,0 @@
-EntityManagerData #class
-com.axonivy.util.excel.importer.EntityManager #namespace
-entries java.util.List<com.axonivy.util.excel.importer.MyEntity> #field
-entries PERSISTENT #fieldModifier
-edit com.axonivy.util.excel.importer.MyEntity #field
-edit PERSISTENT #fieldModifier
diff --git a/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerProcess.p.json b/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerProcess.p.json
index c30313f..ee7ff93 100644
--- a/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerProcess.p.json
+++ b/excel-importer/src_hd/com/axonivy/util/excel/importer/EntityManager/EntityManagerProcess.p.json
@@ -1,5 +1,5 @@
 {
-  "format" : "10.0.0",
+  "$schema" : "https://json-schema.axonivy.com/process/12.0.0/process.json",
   "id" : "18B4D3FDEC970DD1",
   "kind" : "HTML_DIALOG",
   "config" : {
@@ -10,13 +10,15 @@
       "type" : "HtmlDialogStart",
       "name" : "start()",
       "config" : {
-        "callSignature" : "start",
+        "signature" : "start",
         "guid" : "18B4D3FDECD3F15A"
       },
       "visual" : {
         "at" : { "x" : 96, "y" : 64 }
       },
-      "connect" : { "id" : "f7", "to" : "f6" }
+      "connect" : [
+        { "id" : "f7", "to" : "f6" }
+      ]
     }, {
       "id" : "f1",
       "type" : "HtmlDialogEnd",
@@ -33,7 +35,9 @@
       "visual" : {
         "at" : { "x" : 96, "y" : 160 }
       },
-      "connect" : { "id" : "f5", "to" : "f4" }
+      "connect" : [
+        { "id" : "f5", "to" : "f4" }
+      ]
     }, {
       "id" : "f4",
       "type" : "HtmlDialogExit",
@@ -58,17 +62,20 @@
       "visual" : {
         "at" : { "x" : 224, "y" : 64 }
       },
-      "connect" : { "id" : "f2", "to" : "f1" }
+      "connect" : [
+        { "id" : "f2", "to" : "f1" }
+      ]
     }, {
       "id" : "f8",
       "type" : "HtmlDialogMethodStart",
       "name" : "delete(MyEntity)",
       "config" : {
-        "callSignature" : "delete",
+        "signature" : "delete",
         "input" : {
           "params" : [
-            { "name" : "entity", "type" : "com.axonivy.util.excel.importer.MyEntity" }
+            { "name" : "entity", "type" : "com.axonivy.util.excel.importer.MyEntity", "desc" : "" }
           ],
+          "map" : { },
           "code" : [
             "import com.axonivy.util.excel.importer.MyEntity;",
             "",
@@ -81,7 +88,9 @@
       "visual" : {
         "at" : { "x" : 96, "y" : 224 }
       },
-      "connect" : { "id" : "f10", "to" : "f9" }
+      "connect" : [
+        { "id" : "f10", "to" : "f9" }
+      ]
     }, {
       "id" : "f9",
       "type" : "HtmlDialogEnd",
@@ -93,10 +102,10 @@
       "type" : "HtmlDialogMethodStart",
       "name" : "edit(MyEntity)",
       "config" : {
-        "callSignature" : "edit",
+        "signature" : "edit",
         "input" : {
           "params" : [
-            { "name" : "entity", "type" : "com.axonivy.util.excel.importer.MyEntity" }
+            { "name" : "entity", "type" : "com.axonivy.util.excel.importer.MyEntity", "desc" : "" }
           ],
           "map" : {
             "out.edit" : "param.entity"
@@ -107,7 +116,9 @@
       "visual" : {
         "at" : { "x" : 96, "y" : 288 }
       },
-      "connect" : { "id" : "f13", "to" : "f12" }
+      "connect" : [
+        { "id" : "f13", "to" : "f12" }
+      ]
     }, {
       "id" : "f12",
       "type" : "HtmlDialogEnd",
@@ -133,7 +144,9 @@
       "visual" : {
         "at" : { "x" : 96, "y" : 352 }
       },
-      "connect" : { "id" : "f16", "to" : "f15" }
+      "connect" : [
+        { "id" : "f16", "to" : "f15" }
+      ]
     }, {
       "id" : "f15",
       "type" : "HtmlDialogEnd",
@@ -156,7 +169,9 @@
       "visual" : {
         "at" : { "x" : 96, "y" : 416 }
       },
-      "connect" : { "id" : "f19", "to" : "f18" }
+      "connect" : [
+        { "id" : "f19", "to" : "f18" }
+      ]
     }, {
       "id" : "f18",
       "type" : "HtmlDialogEnd",
diff --git a/pom.xml b/pom.xml
index dff91ea..d68769a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.axonivy.util.excel</groupId>
   <artifactId>excel-importer-modules</artifactId>
-  <version>10.0.15-SNAPSHOT</version>
+  <version>12.0.0-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>excel-importer</name>