diff --git a/src-db/database/model/tables/OBPOS_ORDER_APPROVAL.xml b/src-db/database/model/tables/OBPOS_ORDER_APPROVAL.xml
--- a/src-db/database/model/tables/OBPOS_ORDER_APPROVAL.xml
+++ b/src-db/database/model/tables/OBPOS_ORDER_APPROVAL.xml
@@ -45,6 +45,10 @@
         <default/>
         <onCreateDefault/>
       </column>
+      <column name="APPROVAL_MESSAGE" primaryKey="false" required="false" type="CLOB" size="4000" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="OBPOS_ORDERAPPR_CLIENT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -6077,6 +6077,38 @@
 <!--D00CF8288FC946F0A2663D2138C8EACE-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--D00CF8288FC946F0A2663D2138C8EACE--></AD_COLUMN>
 
+<!--D2C53C7357E9468CA7D49184F02C780C--><AD_COLUMN>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <AD_COLUMN_ID><![CDATA[D2C53C7357E9468CA7D49184F02C780C]]></AD_COLUMN_ID>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <NAME><![CDATA[Approval_Message]]></NAME>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <COLUMNNAME><![CDATA[Approval_Message]]></COLUMNNAME>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <AD_TABLE_ID><![CDATA[BF86157D495D474C8B82D92EA85A1BB2]]></AD_TABLE_ID>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <AD_REFERENCE_ID><![CDATA[7CB371C13D204EB69BF370217F692999]]></AD_REFERENCE_ID>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <FIELDLENGTH><![CDATA[1000000]]></FIELDLENGTH>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <SEQNO><![CDATA[120]]></SEQNO>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <POSITION><![CDATA[12]]></POSITION>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--D2C53C7357E9468CA7D49184F02C780C-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--D2C53C7357E9468CA7D49184F02C780C--></AD_COLUMN>
+
 <!--D32F613462464135BA7C12580739C8A2--><AD_COLUMN>
 <!--D32F613462464135BA7C12580739C8A2-->  <AD_COLUMN_ID><![CDATA[D32F613462464135BA7C12580739C8A2]]></AD_COLUMN_ID>
 <!--D32F613462464135BA7C12580739C8A2-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_FIELD.xml b/src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml
+++ b/src-db/database/sourcedata/AD_FIELD.xml
@@ -735,6 +735,32 @@
 <!--220C630E74C348CEB46EBC094BA4BDD5-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
 <!--220C630E74C348CEB46EBC094BA4BDD5--></AD_FIELD>
 
+<!--224C64B069B640858DF819C6A006A056--><AD_FIELD>
+<!--224C64B069B640858DF819C6A006A056-->  <AD_FIELD_ID><![CDATA[224C64B069B640858DF819C6A006A056]]></AD_FIELD_ID>
+<!--224C64B069B640858DF819C6A006A056-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--224C64B069B640858DF819C6A006A056-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--224C64B069B640858DF819C6A006A056-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--224C64B069B640858DF819C6A006A056-->  <NAME><![CDATA[Approval Message]]></NAME>
+<!--224C64B069B640858DF819C6A006A056-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--224C64B069B640858DF819C6A006A056-->  <AD_TAB_ID><![CDATA[36BD8C59083849CCA7CF84DE0BABF7AF]]></AD_TAB_ID>
+<!--224C64B069B640858DF819C6A006A056-->  <AD_COLUMN_ID><![CDATA[D2C53C7357E9468CA7D49184F02C780C]]></AD_COLUMN_ID>
+<!--224C64B069B640858DF819C6A006A056-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--224C64B069B640858DF819C6A006A056-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--224C64B069B640858DF819C6A006A056-->  <DISPLAYLENGTH><![CDATA[0]]></DISPLAYLENGTH>
+<!--224C64B069B640858DF819C6A006A056-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--224C64B069B640858DF819C6A006A056-->  <SEQNO><![CDATA[30]]></SEQNO>
+<!--224C64B069B640858DF819C6A006A056-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--224C64B069B640858DF819C6A006A056-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--224C64B069B640858DF819C6A006A056-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--224C64B069B640858DF819C6A006A056-->  <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--224C64B069B640858DF819C6A006A056-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--224C64B069B640858DF819C6A006A056-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--224C64B069B640858DF819C6A006A056-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--224C64B069B640858DF819C6A006A056-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--224C64B069B640858DF819C6A006A056-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--224C64B069B640858DF819C6A006A056-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--224C64B069B640858DF819C6A006A056--></AD_FIELD>
+
 <!--2371E813B0804E02A9C3061C9B08FFF2--><AD_FIELD>
 <!--2371E813B0804E02A9C3061C9B08FFF2-->  <AD_FIELD_ID><![CDATA[2371E813B0804E02A9C3061C9B08FFF2]]></AD_FIELD_ID>
 <!--2371E813B0804E02A9C3061C9B08FFF2-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/web/org.openbravo.retail.posterminal/js/components/obpos-approval.js b/web/org.openbravo.retail.posterminal/js/components/obpos-approval.js
--- a/web/org.openbravo.retail.posterminal/js/components/obpos-approval.js
+++ b/web/org.openbravo.retail.posterminal/js/components/obpos-approval.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2013 Openbravo S.L.U.
+ * Copyright (C) 2013-2014 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -54,7 +54,9 @@
   i18nHeader: 'OBPOS_ApprovalRequiredTitle',
   bodyContent: {
     components: [{
-      name: 'explainApprovalTxt'
+      name: 'explainApprovalTxt',
+      allowHtml: true,
+      style: 'text-align: left; padding-left: 0.5em;'
     }, {
       classes: 'login-header-row',
       style: 'color:black; line-height: 20px;',
@@ -115,18 +117,23 @@
   },
 
   initComponents: function () {
-    var msg = '';
+    var msg = '',
+        i;
     this.inherited(arguments);
     this.$.bodyContent.$.username.attributes.placeholder = OB.I18N.getLabel('OBMOBC_LoginUserInput');
     this.$.bodyContent.$.password.attributes.placeholder = OB.I18N.getLabel('OBMOBC_LoginPasswordInput');
     if (!Array.isArray(this.approvalType)) {
       this.approvalType = [this.approvalType];
     }
-    _.each(this.approvalType, function (approval) {
-      msg = msg + ' ' + (OB.I18N.labels[approval] || OB.I18N.getLabel('OBPOS_ApprovalTextHeader'));
-    });
+    for (i = 0; i < this.approvalType.length; i++) {
+      if (this.approvalType[i] instanceof Object) {
+        msg = msg + (OB.I18N.getLabel(this.approvalType[i].message, this.approvalType[i].params) || OB.I18N.getLabel('OBPOS_ApprovalTextHeader'));
+      } else {
+        msg = msg + (OB.I18N.labels[this.approvalType[i]] || OB.I18N.getLabel('OBPOS_ApprovalTextHeader')) + '<br/>';
+      }
+    }
+
     this.$.bodyContent.$.explainApprovalTxt.setContent(msg);
-
     this.postRenderActions();
   },
 
@@ -178,11 +185,16 @@
   },
 
   postRenderActions: function () {
+    var approvalList = [];
+    this.approvalType.forEach(function (approvalType) {
+      approvalList.push(typeof (approvalType) === 'object' ? approvalType.approval : approvalType);
+    });
+
     var params = OB.MobileApp.model.get('loginUtilsParams') || {};
     params.appName = OB.MobileApp.model.get('appName');
 
     params.command = 'userImages';
-    params.approvalType = JSON.stringify(this.approvalType);
+    params.approvalType = JSON.stringify(approvalList);
     new OB.OBPOSLogin.UI.LoginRequest({
       url: OB.MobileApp.model.get('loginUtilsUrl')
     }).response(this, 'setUserImages').go(params);
diff --git a/web/org.openbravo.retail.posterminal/js/data/dataordersave.js b/web/org.openbravo.retail.posterminal/js/data/dataordersave.js
--- a/web/org.openbravo.retail.posterminal/js/data/dataordersave.js
+++ b/web/org.openbravo.retail.posterminal/js/data/dataordersave.js
@@ -61,6 +61,13 @@
             auxReceipt = new OB.Model.Order(),
             currentDocNo = receipt.get('documentNo') || docno;
 
+        receipt.get("approvals").forEach(function (approval) {
+          if (typeof (approval.approvalType) === 'object') {
+            approval.approvalMessage = OB.I18N.getLabel(approval.approvalType.message, approval.approvalType.params);
+            approval.approvalType = approval.approvalType.approval;
+          }
+        });
+
         receipt.set('obposAppCashup', OB.MobileApp.model.get('terminal').cashUpId);
         // convert returns
         if (receipt.get('gross') < 0) {
@@ -205,4 +212,4 @@
 
     }, this);
   };
-}());
+}());
\ No newline at end of file
diff --git a/web/org.openbravo.retail.posterminal/js/model/terminal-model.js b/web/org.openbravo.retail.posterminal/js/model/terminal-model.js
--- a/web/org.openbravo.retail.posterminal/js/model/terminal-model.js
+++ b/web/org.openbravo.retail.posterminal/js/model/terminal-model.js
@@ -32,10 +32,15 @@
      */
     checkApproval: function (approvalType, username, password, callback) {
       OB.Dal.initCache(OB.Model.Supervisor, [], null, null);
+      var approvalList = [];
+      approvalType.forEach(function (approvalType) {
+        approvalList.push(typeof (approvalType) === 'object' ? approvalType.approval : approvalType);
+      });
+
       new OB.DS.Process('org.openbravo.retail.posterminal.utility.CheckApproval').exec({
         u: username,
         p: password,
-        approvalType: JSON.stringify(approvalType)
+        approvalType: JSON.stringify(approvalList)
       }, enyo.bind(this, function (response, message) {
         var approved = false;
         if (response.exception) {
