diff -r 715e205e6f3d modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.java
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.java	Thu Jul 06 12:31:24 2017 +0200
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.java	Thu Jul 06 12:47:28 2017 +0200
@@ -31,6 +31,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.log4j.Logger;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.hibernate.criterion.Restrictions;
@@ -77,6 +78,7 @@
 public class AddTransaction extends HttpSecureAppServlet {
   private static final long serialVersionUID = 1L;
   private AdvPaymentMngtDao dao;
+  private static final Logger log = Logger.getLogger(AddTransaction.class);
 
   public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
@@ -171,8 +173,7 @@
             out.close();
 
           } catch (JSONException e) {
-
-            e.printStackTrace();
+            log.error("Error building json output" , e);
           }
 
         }
diff -r 715e205e6f3d modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.java
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.java	Thu Jul 06 12:31:24 2017 +0200
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.java	Thu Jul 06 12:47:28 2017 +0200
@@ -456,8 +456,7 @@
           strPaymentTypeFilter, strShowCleared, strHideDate, executeMatching);
       // log4j.error("Getting Grid Data: " + (System.currentTimeMillis() - init));
     } catch (Exception e) {
-      log4j.debug("Output: Exception ocurred while retrieving Bank Statement Lines.", e);
-      e.printStackTrace();
+      log4j.error("Output: Exception ocurred while retrieving Bank Statement Lines.", e);
     } finally {
       OBContext.restorePreviousMode();
     }
diff -r 715e205e6f3d modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java	Thu Jul 06 12:31:24 2017 +0200
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java	Thu Jul 06 12:47:28 2017 +0200
@@ -333,8 +333,7 @@
             OBDal.getInstance().save(dummyPayment);
           } catch (final Exception e) {
             log4j.error("Exception while creating dummy payment for the invoice: "
-                + strC_Invoice_ID);
-            e.printStackTrace();
+                + strC_Invoice_ID, e);
           } finally {
             OBContext.restorePreviousMode();
           }
@@ -515,8 +514,7 @@
             }
           } catch (final Exception e) {
             log4j.error("Exception while creating dummy payment for the invoice: "
-                + strC_Invoice_ID);
-            e.printStackTrace();
+                + strC_Invoice_ID, e);
           } finally {
             OBContext.restorePreviousMode();
           }
@@ -781,8 +779,7 @@
           }
 
         } catch (final Exception e) {
-          log4j.error("Exception while canceling the credit in the invoice: " + strC_Invoice_ID);
-          e.printStackTrace();
+          log4j.error("Exception while canceling the credit in the invoice: " + strC_Invoice_ID, e);
         } finally {
           OBContext.restorePreviousMode();
         }
diff -r 715e205e6f3d modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/BatchPaymentExecution.java
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/BatchPaymentExecution.java	Thu Jul 06 12:31:24 2017 +0200
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/BatchPaymentExecution.java	Thu Jul 06 12:47:28 2017 +0200
@@ -342,8 +342,7 @@
             strOrderByProperty, strAscDesc, isReceipt);
 
       } catch (ServletException e) {
-        log4j.error("Error in print page data: " + e);
-        e.printStackTrace();
+        log4j.error("Error in print page data: ", e);
         OBError myError = Utility.translateError(this, vars, vars.getLanguage(), e.getMessage());
         if (!myError.isConnectionAvailable()) {
           bdErrorAjax(response, "Error", "Connection Error", "No database connection");
@@ -357,14 +356,14 @@
             description = myError.getMessage();
         }
       } catch (Exception e) {
-        log4j.debug("Error obtaining rows data");
+        log4j.error("Error obtaining rows data", e);
         type = "Error";
         title = "Error";
         if (e.getMessage().startsWith("<![CDATA["))
           description = "<![CDATA[" + e.getMessage() + "]]>";
         else
           description = e.getMessage();
-        e.printStackTrace();
+        
       }
     }
     if (!type.startsWith("<![CDATA["))
diff -r 715e205e6f3d modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java	Thu Jul 06 12:31:24 2017 +0200
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java	Thu Jul 06 12:47:28 2017 +0200
@@ -452,8 +452,7 @@
             pageSize, offset, strOrderBy);
         // strNumRows = Integer.toString(finaccTransactions.size());
       } catch (ServletException e) {
-        log4j.error("Error in print page data: " + e);
-        e.printStackTrace();
+        log4j.error("Error in print page data: ", e);
         OBError myError = Utility.translateError(this, vars, vars.getLanguage(), e.getMessage());
         if (!myError.isConnectionAvailable()) {
           bdErrorAjax(response, "Error", "Connection Error", "No database connection");
@@ -467,14 +466,13 @@
             description = myError.getMessage();
         }
       } catch (Exception e) {
-        log4j.debug("Error obtaining rows data");
+        log4j.error("Error obtaining rows data", e);
         type = "Error";
         title = "Error";
         if (e.getMessage().startsWith("<![CDATA["))
           description = "<![CDATA[" + e.getMessage() + "]]>";
         else
           description = e.getMessage();
-        e.printStackTrace();
       }
     }
 
diff -r 715e205e6f3d modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_reports/ReportReconciliation.java
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_reports/ReportReconciliation.java	Thu Jul 06 12:31:24 2017 +0200
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_reports/ReportReconciliation.java	Thu Jul 06 12:47:28 2017 +0200
@@ -32,6 +32,7 @@
 import net.sf.jasperreports.engine.JRException;
 import net.sf.jasperreports.engine.JasperReport;
 
+import org.apache.log4j.Logger;
 import org.hibernate.criterion.ProjectionList;
 import org.hibernate.criterion.Projections;
 import org.hibernate.criterion.Restrictions;
@@ -51,6 +52,7 @@
 
 public class ReportReconciliation extends HttpSecureAppServlet {
   private static final long serialVersionUID = 1L;
+  private static final Logger log = Logger.getLogger(ReportReconciliation.class);
   final static String DETAIL = "DETAIL";
   final static String SUMMARY = "SUMMARY";
 
@@ -340,7 +342,7 @@
       BigDecimal totals = getTransactionsTotalAfterReconciliationEndDate(recon);
       balance = recon.getAccount().getCurrentBalance().subtract(totals);
     } catch (Exception e) {
-      e.printStackTrace();
+      log.error("Error during getBalanceOfAccount", e);
     } finally {
       OBContext.restorePreviousMode();
     }
diff -r 715e205e6f3d src/org/openbravo/erpCommon/businessUtility/Tax.java
--- a/src/org/openbravo/erpCommon/businessUtility/Tax.java	Thu Jul 06 12:31:24 2017 +0200
+++ b/src/org/openbravo/erpCommon/businessUtility/Tax.java	Thu Jul 06 12:47:28 2017 +0200
@@ -36,32 +36,6 @@
     log4jTax.debug("Tax.get");
     return Tax.get(conn, M_Product_ID, shipDate, AD_Org_ID, M_Warehouse_ID,
         billC_BPartner_Location_ID, shipC_BPartner_Location_ID, C_Project_ID, IsSOTrx, "");
-
-    // FIXME: If this code is not goint be used, it should be removed
-    /*
-     * System.out.println("billC_BPartner_Location_ID: " + billC_BPartner_Location_ID); String
-     * billFrom = TaxData.billLocation(conn, AD_Org_ID); TaxData[] td = TaxData.billTo(conn,
-     * billC_BPartner_Location_ID);
-     * 
-     * if (td==null || td.length==0) return ""; String billTo = td[0].billtocLocationId; String
-     * IsTaxExempt = (IsSOTrx?td[0].istaxexempt:"N"); String IsSpecialTax =
-     * (IsSOTrx?td[0].isspecialtax:"N"); String taxID=""; if (IsTaxExempt.equalsIgnoreCase("Y")) {
-     * TaxData[] tdAux = TaxData.taxId(conn, AD_Org_ID); if (tdAux!=null && tdAux.length >0) taxID =
-     * tdAux[0].cTaxId; } else { String taxCategory = TaxData.taxCategory(conn, M_Product_ID);
-     * String shipFrom = TaxData.shipLocation(conn, M_Warehouse_ID); String shipTo =
-     * TaxData.shipTo(conn, shipC_BPartner_Location_ID); System.out.println("taxCategory: " +
-     * taxCategory); System.out.println("shipFrom: " + shipFrom); System.out.println("shipTo: " +
-     * shipTo); if (!IsSOTrx) { String strAux = billTo; billTo = billFrom; billFrom = strAux; strAux
-     * = shipTo; shipTo = shipFrom; shipFrom = strAux; System.out.println("shipFrom: " + shipFrom);
-     * System.out.println("shipTo: " + shipTo); } System.out.println("taxCategory: " + taxCategory);
-     * System.out.println("billFrom: " + billFrom); System.out.println("shipTo: " + shipTo);
-     * System.out.println("shipDate: " + shipDate); System.out.println("IsSpecialTax: " +
-     * IsSpecialTax); TaxData[] tdAux = TaxData.select(conn, taxCategory, billFrom, shipTo,
-     * shipDate, IsSpecialTax); if (tdAux==null || tdAux.length==0) tdAux = TaxData.select2(conn,
-     * taxCategory, billFrom, shipDate, IsSpecialTax); if (tdAux==null || tdAux.length==0) tdAux =
-     * TaxData.select3(conn, billFrom, shipDate); if (tdAux!=null && tdAux.length!=0) taxID =
-     * tdAux[0].cTaxId; } System.out.println("TaxID: " + taxID); return taxID;
-     */
   }
 
   public static String get(ConnectionProvider conn, String M_Product_ID, String shipDate,
