Issue #23570:fix rounding of tax
authorgaryhgohoos <gary@xtuple.com>
Mon, 19 May 2014 14:50:11 +0000 (10:50 -0400)
committergaryhgohoos <gary@xtuple.com>
Mon, 19 May 2014 14:50:11 +0000 (10:50 -0400)
foundation-database/public/functions/calcinvoiceamt.sql
foundation-database/public/functions/calcquoteamt.sql
foundation-database/public/functions/calcsalesorderamt.sql

index 55d07b5..fb79c3f 100644 (file)
@@ -37,8 +37,11 @@ BEGIN
   WHERE (invcitem_invchead_id=pInvcheadid);
 
   IF (pType IN ('T', 'X')) THEN
-    SELECT COALESCE(ROUND(SUM(taxdetail_tax), 2), 0.0) INTO _tax
-    FROM calculateTaxDetailSummary('I', pInvcheadid, 'T');
+    SELECT SUM(tax) INTO _tax
+    FROM (SELECT COALESCE(ROUND(SUM(taxdetail_tax), 2), 0.0) AS tax
+          FROM tax
+               JOIN calculateTaxDetailSummary('I', pInvcheadid, 'T')ON (taxdetail_tax_id=tax_id)
+          GROUP BY tax_id) AS data;
   END IF;
 
   IF (pType = 'T') THEN
index 0d5783f..6b711d3 100644 (file)
@@ -36,8 +36,11 @@ BEGIN
   WHERE (quitem_quhead_id=pQuheadid);
 
   IF (pType IN ('T', 'X')) THEN
-    SELECT COALESCE(ROUND(SUM(taxdetail_tax), 2), 0.0) INTO _tax
-    FROM calculateTaxDetailSummary('Q', pQuheadid, 'T');
+    SELECT SUM(tax) INTO _tax
+    FROM (SELECT COALESCE(ROUND(SUM(taxdetail_tax), 2), 0.0) AS tax
+          FROM tax
+               JOIN calculateTaxDetailSummary('Q', pQuheadid, 'T')ON (taxdetail_tax_id=tax_id)
+          GROUP BY tax_id) AS data;
   END IF;
 
   IF (pType = 'T') THEN
index 5e792f3..3c6d188 100644 (file)
@@ -40,8 +40,11 @@ BEGIN
     AND (coitem_status != 'X');
 
   IF (pType IN ('T', 'B', 'X')) THEN
-    SELECT COALESCE(ROUND(SUM(taxdetail_tax), 2), 0.0) INTO _tax
-    FROM calculateTaxDetailSummary('S', pCoheadid, 'T');
+    SELECT SUM(tax) INTO _tax
+    FROM (SELECT COALESCE(ROUND(SUM(taxdetail_tax), 2), 0.0) AS tax
+          FROM tax
+               JOIN calculateTaxDetailSummary('S', pCoheadid, 'T')ON (taxdetail_tax_id=tax_id)
+          GROUP BY tax_id) AS data;
   END IF;
 
   IF (pType IN ('T', 'B', 'C')) THEN