diff --git a/src-db/database/model/modifiedTables/C_ORDER.xml b/src-db/database/model/modifiedTables/C_ORDER.xml
index 8e47fc7e6..91f388e8e 100644
--- a/src-db/database/model/modifiedTables/C_ORDER.xml
+++ b/src-db/database/model/modifiedTables/C_ORDER.xml
@@ -61,6 +61,10 @@
         <default/>
         <onCreateDefault/>
       </column>
+      <column name="EM_OBPOS_SKIP_TAX_CALCULATION" primaryKey="false" required="false" type="CHAR" size="1" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="OBPOS_APPLICATIONS" name="EM_OBPOS_APP_ID">
         <reference local="EM_OBPOS_APPLICATIONS_ID" foreign="OBPOS_APPLICATIONS_ID"/>
       </foreign-key>
@@ -92,5 +96,6 @@
       </index>
       <check name="EM_OBPOS_ISDELETED_CHECK"><![CDATA[EM_OBPOS_ISDELETED IN ('Y', 'N')]]></check>
       <check name="EM_OBPOS_ISLAYAWAY_CHK"><![CDATA[EM_OBPOS_ISLAYAWAY IN ('Y', 'N')]]></check>
+      <check name="EM_OBPOS_SKIPTAX_CHECK"><![CDATA[EM_OBPOS_SKIP_TAX_CALCULATION IN ('Y', 'N')]]></check>
     </table>
   </database>
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
index eaea7a83b..20b06dca2 100644
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -6771,6 +6771,43 @@ If selected, there is no need of identification of the customer (i.e. Informatio
 <!--301A46EC338A44649B72A78611934A9F-->  <IS_CHILD_PROPERTY_IN_PARENT><![CDATA[N]]></IS_CHILD_PROPERTY_IN_PARENT>
 <!--301A46EC338A44649B72A78611934A9F--></AD_COLUMN>
 
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--><AD_COLUMN>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <AD_COLUMN_ID><![CDATA[30E25B1B2E0E4B0893D7D0AFEEE79E2C]]></AD_COLUMN_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <NAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></NAME>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <COLUMNNAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></COLUMNNAME>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <AD_TABLE_ID><![CDATA[259]]></AD_TABLE_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <SEQNO><![CDATA[1060]]></SEQNO>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <AD_ELEMENT_ID><![CDATA[AB3A30F78DFF46EBA4C8366FCA4750A3]]></AD_ELEMENT_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <POSITION><![CDATA[138]]></POSITION>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C-->  <IS_CHILD_PROPERTY_IN_PARENT><![CDATA[N]]></IS_CHILD_PROPERTY_IN_PARENT>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--></AD_COLUMN>
+
 <!--30E940123060479C9593F8334BAF00CF--><AD_COLUMN>
 <!--30E940123060479C9593F8334BAF00CF-->  <AD_COLUMN_ID><![CDATA[30E940123060479C9593F8334BAF00CF]]></AD_COLUMN_ID>
 <!--30E940123060479C9593F8334BAF00CF-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml
index 8c2981a89..3a46f16fb 100644
--- a/src-db/database/sourcedata/AD_ELEMENT.xml
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml
@@ -2912,6 +2912,18 @@ In case this value is not set, it will be defaulted to the one defined in Openbr
 <!--AAF292AF649C49EDAED6C5C09D966B25-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--AAF292AF649C49EDAED6C5C09D966B25--></AD_ELEMENT>
 
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--><AD_ELEMENT>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <AD_ELEMENT_ID><![CDATA[AB3A30F78DFF46EBA4C8366FCA4750A3]]></AD_ELEMENT_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <COLUMNNAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></COLUMNNAME>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <NAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></NAME>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <PRINTNAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></PRINTNAME>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--></AD_ELEMENT>
+
 <!--ACCF96BD281342889927E7451CD0ACB4--><AD_ELEMENT>
 <!--ACCF96BD281342889927E7451CD0ACB4-->  <AD_ELEMENT_ID><![CDATA[ACCF96BD281342889927E7451CD0ACB4]]></AD_ELEMENT_ID>
 <!--ACCF96BD281342889927E7451CD0ACB4-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java b/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java
index 84670e4b2..788a7ee57 100644
--- a/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java
+++ b/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java
@@ -73,6 +73,7 @@ public class PaidReceiptProperties extends ModelExtension {
         add(new HQLProperty("ord.invoiceTerms", "invoiceTerms"));
         add(new HQLProperty("ord.externalBusinessPartnerReference",
             "externalBusinessPartnerReference"));
+        add(new HQLProperty("ord.obposSkipTaxCalculation", "skipTaxCalculation"));
       }
     };
 
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
index e68d360d0..228c3a1ea 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
@@ -537,19 +537,21 @@
       }
 
       // set the tax calculation result into the ticket
-      this.ticket.grossAmount = taxesResult.grossAmount;
-      this.ticket.netAmount = taxesResult.netAmount;
-      this.ticket.taxes = taxesResult.taxes;
-      taxesResult.lines.forEach(taxLine => {
-        const line = this.ticket.lines.find(l => l.id === taxLine.id);
-        line.grossUnitAmount = taxLine.grossUnitAmount;
-        line.netUnitAmount = taxLine.netUnitAmount;
-        line.grossUnitPrice = taxLine.grossUnitPrice;
-        line.netUnitPrice = taxLine.netUnitPrice;
-        line.taxRate = taxLine.taxRate;
-        line.tax = taxLine.tax;
-        line.taxes = taxLine.taxes;
-      });
+      if (!this.ticket.skipTaxCalculation) {
+        this.ticket.grossAmount = taxesResult.grossAmount;
+        this.ticket.netAmount = taxesResult.netAmount;
+        this.ticket.taxes = taxesResult.taxes;
+        taxesResult.lines.forEach(taxLine => {
+          const line = this.ticket.lines.find(l => l.id === taxLine.id);
+          line.grossUnitAmount = taxLine.grossUnitAmount;
+          line.netUnitAmount = taxLine.netUnitAmount;
+          line.grossUnitPrice = taxLine.grossUnitPrice;
+          line.netUnitPrice = taxLine.netUnitPrice;
+          line.taxRate = taxLine.taxRate;
+          line.tax = taxLine.tax;
+          line.taxes = taxLine.taxes;
+        });
+      }
     }
 
     setTotalQuantity(qtyScale) {
@@ -824,6 +826,7 @@
     calculateTotals(ticket, payload) {
       const handler = new TicketHandler(ticket);
       handler.calculateTotals(payload);
+
       return handler.getTicket();
     },
 
@@ -1087,6 +1090,7 @@
         paidPartiallyOnCredit: false,
         paidOnCredit: false,
         isLayaway: false,
+        skipTaxCalculation: false,
         isPartiallyDelivered: false,
         isEditable: true,
         openDrawer: false,
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js
index 5d34b425b..5ac0f4fef 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js
@@ -25,6 +25,7 @@
         ...payload,
         isSale: false
       });
+      newTicket.skipTaxCalculation = false;
 
       return newTicket;
     }
diff --git a/web/org.openbravo.retail.posterminal/js/components/renderorderline.js b/web/org.openbravo.retail.posterminal/js/components/renderorderline.js
index ebfcf13e0..bb9dc6297 100644
--- a/web/org.openbravo.retail.posterminal/js/components/renderorderline.js
+++ b/web/org.openbravo.retail.posterminal/js/components/renderorderline.js
@@ -610,6 +610,9 @@ enyo.kind({
     this.$.totaltax.setContent(
       OB.I18N.formatCurrency(this.model.get('amount'))
     );
+    if (this.model.get('hidden')) {
+      this.parent.hide();
+    }
   }
 });
 
diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
index 5cb507244..00a6b1766 100644
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -537,6 +537,7 @@
         this.set('sendEmail', attributes.sendEmail);
         this.set('isPaid', attributes.isPaid);
         this.set('isLayaway', attributes.isLayaway);
+        this.set('skipTaxCalculation', attributes.skipTaxCalculation);
         this.set('isEditable', attributes.isEditable);
         this.set('openDrawer', attributes.openDrawer);
         this.set('isBeingDiscounted', false);
@@ -1671,6 +1672,7 @@
       this.set('paidPartiallyOnCredit', false);
       this.set('paidOnCredit', false);
       this.set('isLayaway', false);
+      this.set('skipTaxCalculation', false);
       this.set('isEditable', true);
       this.set('openDrawer', false);
       this.set('totalamount', null);
@@ -1717,6 +1719,7 @@
       this.set('paidPartiallyOnCredit', _order.get('paidPartiallyOnCredit'));
       this.set('paidOnCredit', _order.get('paidOnCredit'));
       this.set('isLayaway', _order.get('isLayaway'));
+      this.set('skipTaxCalculation', _order.get('skipTaxCalculation'));
       this.set('isPartiallyDelivered', _order.get('isPartiallyDelivered'));
       this.set('isModified', _order.get('isModified'));
       this.set('payment', _order.get('payment'));
@@ -5685,6 +5688,7 @@
         });
       }
       me.set('isLayaway', false);
+      me.set('skipTaxCalculation', false);
 
       me.get('lines').each(function(line) {
         idMap[line.get('id')] = OB.UTIL.get_UUID();
@@ -5957,6 +5961,7 @@
                   me.set('cancelLayaway', true);
                   me.set('fromLayaway', me.get('isLayaway'));
                   me.set('isLayaway', false);
+                  me.set('skipTaxCalculation', false);
                   me.set('isPaid', false);
                   // Set the order type
                   context.doShowDivText({
@@ -8397,6 +8402,7 @@
         this.set('isLayaway', false);
         this.set('orderType', 2);
       }
+      this.set('skipTaxCalculation', false);
       this.unset('skipApplyPromotions');
       this.save(callback);
     },
diff --git a/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js b/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js
index 3ca40ae73..bed16b063 100644
--- a/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js
+++ b/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js
@@ -359,6 +359,7 @@
     order.set('paidOnCredit', false);
     order.set('session', OB.MobileApp.model.get('session'));
     order.set('skipApplyPromotions', true);
+    order.set('skipTaxCalculation', false);
     if (model.isQuotation) {
       order.set('isQuotation', true);
       order.set('oldId', model.orderid);
