diff --git a/modules/org.openbravo.base.weld/src/META-INF/beans.xml b/modules/org.openbravo.base.weld/src/META-INF/beans.xml
--- a/modules/org.openbravo.base.weld/src/META-INF/beans.xml
+++ b/modules/org.openbravo.base.weld/src/META-INF/beans.xml
@@ -27,7 +27,6 @@
         <weld:exclude name="org.openbravo.dal.**"/>
         <weld:exclude name="org.openbravo.erpReports.**"/>
         <weld:exclude name="org.openbravo.reference.**"/>
-        <weld:exclude name="org.openbravo.scheduling.**"/>
         <weld:exclude name="org.openbravo.service.dataset.**"/>
         <weld:exclude name="org.openbravo.service.db.**"/>
         <weld:exclude name="org.openbravo.service.rest.**"/>
diff --git a/src/org/openbravo/scheduling/DefaultJob.java b/src/org/openbravo/scheduling/DefaultJob.java
--- a/src/org/openbravo/scheduling/DefaultJob.java
+++ b/src/org/openbravo/scheduling/DefaultJob.java
@@ -20,6 +20,7 @@
 
 import org.apache.log4j.Logger;
 import org.openbravo.base.ConfigParameters;
+import org.openbravo.base.weld.WeldUtils;
 import org.openbravo.database.ConnectionProvider;
 import org.openbravo.database.SessionInfo;
 import org.quartz.Job;
@@ -48,7 +49,7 @@
   public void execute(JobExecutionContext jec) throws JobExecutionException {
     bundle = (ProcessBundle) jec.getMergedJobDataMap().get(ProcessBundle.KEY);
     try {
-      processInstance = bundle.getProcessClass().newInstance();
+      processInstance = WeldUtils.getInstanceFromStaticBeanManager(bundle.getProcessClass());
       bundle.setConnection((ConnectionProvider) jec.get(ProcessBundle.CONNECTION));
       bundle.setConfig((ConfigParameters) jec.get(ProcessBundle.CONFIG_PARAMS));
       bundle.setLog(new ProcessLogger(bundle.getConnection()));
