Customer Statements shows wrong balances for Journal Entries. Fixed.
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Thu, 28 Oct 2021 18:28:56 +0000 (20:28 +0200)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Thu, 28 Oct 2021 18:28:56 +0000 (20:28 +0200)
reporting/rep108.php

index f329b09c873a0f00050359dfcfaace9cb5db8540..6adba2326c0790388dcf7b25ab7191e95a887936 100644 (file)
@@ -38,17 +38,17 @@ function getTransactions($debtorno, $date, $show_also_allocated)
         trans.reference,
         trans.tran_date,
         trans.due_date,
-        (ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount) AS TotalAmount, alloc AS Allocated,
+        (ABS(ov_amount) + ov_gst + ov_freight + ov_freight_tax + ov_discount) AS TotalAmount, alloc AS Allocated,
                ((trans.type = ".ST_SALESINVOICE.") AND due_date < '$date') AS OverDue
                FROM ".TB_PREF."debtor_trans trans
                LEFT JOIN ".TB_PREF."voided as v
             ON trans.trans_no=v.id AND trans.type=v.type
         WHERE tran_date <= '$date' AND debtor_no = ".db_escape($debtorno)."
                        AND trans.type <> ".ST_CUSTDELIVERY." AND ISNULL(v.date_)
-                       AND ABS(ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount) > ". FLOAT_COMP_DELTA;
+                       AND ABS(ABS(ov_amount) + ov_gst + ov_freight + ov_freight_tax + ov_discount) > ". FLOAT_COMP_DELTA;
        
        if (!$show_also_allocated)
-               $sql .= " AND ABS(ABS(ov_amount + ov_gst + ov_freight + ov_freight_tax + ov_discount) - alloc) > ". FLOAT_COMP_DELTA;
+               $sql .= " AND ABS(ABS(ov_amount) + ov_gst + ov_freight +        ov_freight_tax + ov_discount - alloc) > ". FLOAT_COMP_DELTA;
        $sql .= " ORDER BY tran_date";
 
     return db_query($sql,"No transactions were returned");
@@ -144,8 +144,7 @@ function print_statements()
                        $rep->TextCol(2, 3,     sql2date($myrow2['tran_date']), -2);
                        if ($myrow2['type'] == ST_SALESINVOICE)
                                $rep->TextCol(3, 4,     sql2date($myrow2['due_date']), -2);
-                       if ($myrow2['type'] == ST_SALESINVOICE || $myrow2['type'] == ST_BANKPAYMENT || 
-                               ($myrow2['type'] == ST_JOURNAL && $myrow2["TotalAmount"] > 0.0))
+                       if ($myrow2['type'] == ST_SALESINVOICE || $myrow2['type'] == ST_BANKPAYMENT)
                                $rep->TextCol(4, 5,     $DisplayTotal, -2);
                        else
                                $rep->TextCol(5, 6,     $DisplayTotal, -2);