diff --git a/src-db/database/sourcedata/AD_REF_LIST.xml b/src-db/database/sourcedata/AD_REF_LIST.xml
--- a/src-db/database/sourcedata/AD_REF_LIST.xml
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml
@@ -1322,8 +1322,8 @@
 <!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
 <!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
-<!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <VALUE><![CDATA[OBPOS_EnableSupportForAttributesQuotation]]></VALUE>
-<!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <NAME><![CDATA[Web POS Enable support for product attributes in quotation]]></NAME>
+<!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <VALUE><![CDATA[OBPOS_AskForAttributesWhenQuotationToSalesOrder]]></VALUE>
+<!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <NAME><![CDATA[Web POS Ask for attributes when sales order from quotation]]></NAME>
 <!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID>
 <!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
 <!--AC626DB1C31D4D90A9D0CA5DEA4A6F1B--></AD_REF_LIST>
diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -1523,9 +1523,9 @@
           line = null,
           me = this,
           productHavingSameAttribute = false,
-          productHasAttribute = p.attributes.hasAttributes,
+          productHasAttribute = p.get('hasAttributes'),
           attributeSearchAllowed = OB.MobileApp.model.hasPermission('OBPOS_EnableSupportForProductAttributes', true),
-          isQuotationAndAttributeAllowed = me.attributes.isQuotation && OB.MobileApp.model.hasPermission('OBPOS_AskForAttributesWhenQuotationToSalesOrder', true);
+          isQuotationAndAttributeAllowed = p.get('isQuotation') && OB.MobileApp.model.hasPermission('OBPOS_AskForAttributesWhenQuotationToSalesOrder', true);
       if (enyo.Panels.isScreenNarrow()) {
         OB.UTIL.showSuccess(OB.I18N.getLabel('OBPOS_AddLine', [qty ? qty : 1, p.get('_identifier')]));
       }
@@ -1971,8 +1971,8 @@
           }
           return;
         }
-        var isQuotationAndAttributeAllowed = args.receipt.attributes.isQuotation && OB.MobileApp.model.hasPermission('OBPOS_AskForAttributesWhenQuotationToSalesOrder', true);
-        if ((!args || !args.options || !args.options.line) && attributeSearchAllowed && p.get('hasAttributes') && qty >= 1 && (!args.receipt.attributes.isQuotation || isQuotationAndAttributeAllowed)) {
+        var isQuotationAndAttributeAllowed = args.receipt.get('isQuotation') && OB.MobileApp.model.hasPermission('OBPOS_AskForAttributesWhenQuotationToSalesOrder', true);
+        if ((!args || !args.options || !args.options.line) && attributeSearchAllowed && p.get('hasAttributes') && qty >= 1 && (!args.receipt.get('isQuotation') || isQuotationAndAttributeAllowed)) {
           OB.MobileApp.view.waterfall('onShowPopup', {
             popup: 'modalProductAttribute',
             args: {
@@ -3062,10 +3062,10 @@
       }, this);
 
       this.get('lines').each(function (theLine) {
-        var productAttributes = theLine.attributes.product.attributes;
-        if (OB.UTIL.isNullOrUndefined(productAttributes.hasAttributes) === false && productAttributes.hasAttributes) {
+        var productAttributes = theLine.get('product').get('hasAttributes');
+        if (OB.UTIL.isNullOrUndefined(productAttributes) === false && productAttributes) {
           productWithAttributeValue.push(theLine);
-          productHasAttribute = productAttributes.hasAttributes;
+          productHasAttribute = productAttributes;
         }
       });
       if (productHasAttribute === false && needAttributeForOrder === false) {
@@ -3086,17 +3086,18 @@
           });
         }
       }
-      this.calculateReceipt();
-      //call quotation attributes popup
-      if (attributeSearchAllowed && needAttributeForOrder === false && productHasAttribute) {
-        OB.MobileApp.view.waterfall('onShowPopup', {
-          popup: 'modalQuotationProductAttributes',
-          args: {
-            lines: productWithAttributeValue,
-            quotationProductAttribute: this
-          }
-        });
-      }
+      this.calculateReceipt(function () {
+        //call quotation attributes popup
+        if (attributeSearchAllowed && needAttributeForOrder === false && productHasAttribute) {
+          OB.MobileApp.view.waterfall('onShowPopup', {
+            popup: 'modalQuotationProductAttributes',
+            args: {
+              lines: productWithAttributeValue,
+              quotationProductAttribute: me
+            }
+          });
+        }
+      });
     },
 
     reactivateQuotation: function () {
diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalquotationproductattribute.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalquotationproductattribute.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalquotationproductattribute.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalquotationproductattribute.js
@@ -5,28 +5,43 @@
  * 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.
  ************************************************************************************
+ *
+ * Author Yogas Karnik
+ *
  */
 /*global OB, moment, enyo */
 
 enyo.kind({
   name: 'OB.UI.ModalQuotationProductAttributesScroller.QuotationLines',
+  classes: 'flexContainer',
   components: [{
     classes: 'properties-label',
-    name: 'productName',
-    type: 'text',
-    style: 'font-size: 17px;margin-top:4px'
+    components: [{
+      name: 'productName',
+      type: 'text',
+      style: 'font-size: 17px;',
+      classes: 'modal-dialog-receipt-properties-label',
+      content: ''
+    }]
   }, {
-    kind: 'OB.UI.renderTextProperty',
-    name: 'valueAttribute',
-    maxlength: '70',
-    style: 'width: 55%',
-    handlers: {
-      oninput: 'blur'
-    },
-    blur: function () {
-      this.bubble('onFieldChanged');
-    },
-    placeholder: 'Scan attribute'
+    classes: 'properties-component',
+    components: [{
+      name: 'newAttribute',
+      classes: 'modal-dialog-receipt-properties-text',
+      components: [{
+        kind: 'OB.UI.renderTextProperty',
+        name: 'valueAttribute',
+        style: 'color: black',
+        maxlength: '70',
+        handlers: {
+          oninput: 'blur'
+        },
+        blur: function () {
+          this.bubble('onFieldChanged');
+        },
+        placeholder: 'Scan attribute'
+      }]
+    }]
   }, {
     style: 'clear: both'
   }]
@@ -80,7 +95,7 @@
         i, line = me.args.lines;
     for (i = 0; i < line.length; i++) {
       me.$.bodyContent.$.quotationLinesComponent.$['quotationLine' + i].$.valueAttribute.setValue(null);
-      me.$.bodyContent.$.quotationLinesComponent.$['quotationLine' + i].$.valueAttribute.addStyles('background-color: none; width: 55%');
+      me.$.bodyContent.$.quotationLinesComponent.$['quotationLine' + i].$.valueAttribute.addStyles('background-color: none;');
     }
     me.$.bodyButtons.$.modalDialogButton.setDisabled(true);
     return;
@@ -108,7 +123,7 @@
       lineIndex++;
     });
 
-    me.args.quotationProductAttribute.trigger('orderCreatedFromQuotation');
+    order.trigger('orderCreatedFromQuotation');
     this.hide();
     return;
   },
@@ -151,7 +166,7 @@
         name: 'quotationLine' + i
       });
       quotationLine.$.valueAttribute.focus();
-      quotationLine.$.productName.setContent(theLine.attributes.product.attributes._identifier);
+      quotationLine.$.productName.setContent(theLine.get('product').get('_identifier'));
       i++;
     });
     me.$.bodyButtons.$.modalDialogButton.setDisabled(true);
