diff --git a/modules/org.openbravo.client.application/src/org/openbravo/client/application/process/ResponseActionsBuilder.java b/modules/org.openbravo.client.application/src/org/openbravo/client/application/process/ResponseActionsBuilder.java
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/process/ResponseActionsBuilder.java
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/process/ResponseActionsBuilder.java
@@ -79,7 +79,8 @@
    *          The text of the message.
    * @return a ResponseActionsBuilder that contains a 'show message in view' response action.
    */
-  public ResponseActionsBuilder showMsgInView(MessageType msgType, String msgTitle, String msgText) {
+  public ResponseActionsBuilder showMsgInView(MessageType msgType, String msgTitle,
+      String msgText) {
     addResponseAction("showMsgInView", buildResponseMessage(msgType, msgTitle, msgText));
     return this;
   }
@@ -196,7 +197,8 @@
    *          The identifier of the record to be set in the selector.
    * @return a ResponseActionsBuilder that contains a 'set selector value' response action.
    */
-  public ResponseActionsBuilder setSelectorValueFromRecord(String recordId, String recordIdentifier) {
+  public ResponseActionsBuilder setSelectorValueFromRecord(String recordId,
+      String recordIdentifier) {
     try {
       final JSONObject setSelectorValueFromRecord = new JSONObject();
       final JSONObject record = new JSONObject();
@@ -209,6 +211,17 @@
     return this;
   }
 
+  public ResponseActionsBuilder setFormFieldValue(String fieldName, String fieldValue) {
+    try {
+      JSONObject setFormFieldValue = new JSONObject();
+      setFormFieldValue.put("fieldName", fieldName);
+      setFormFieldValue.put("value", fieldValue);
+      addResponseAction("setFormFieldValue", setFormFieldValue);
+    } catch (JSONException ignore) {
+    }
+    return this;
+  }
+
   /**
    * It refreshes the grid where the process button is defined. This is commonly used when the
    * process adds or deletes records from that grid.
diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-action-def.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-action-def.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-action-def.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-action-def.js
@@ -136,6 +136,16 @@
   callerField.setValueFromRecord(paramObj.record, true, true);
 });
 
+OB.Utilities.Action.set('setFormFieldValue', function (paramObj) {
+  var processView = paramObj._processView, field;
+  if (processView && processView.theForm && paramObj.fieldName) {
+    field = processView.theForm.getField(paramObj.fieldName);
+    if (field) {
+      field.setValue(paramObj.value);
+    }
+  }
+});
+
 //** {{{ refreshGrid }}} **
 //It refreshes the grid where the process button is defined. Only needed if the process adds or deletes records from this tab
 OB.Utilities.Action.set('refreshGrid', function (paramObj) {
