- $sql = "SELECT SUM(IF(t.type = ".ST_SUPPINVOICE." OR t.type = ".ST_BANKDEPOSIT.",
- (t.ov_amount + t.ov_gst + t.ov_discount), 0)) AS charges,
- SUM(IF(t.type <> ".ST_SUPPINVOICE." AND t.type <> ".ST_BANKDEPOSIT.",
- (t.ov_amount + t.ov_gst + t.ov_discount), 0)) AS credits,
- SUM(IF(t.type <> ".ST_SUPPINVOICE." AND t.type <> ".ST_BANKDEPOSIT.", t.alloc * -1, t.alloc)) AS Allocated,
- SUM(IF(t.type = ".ST_SUPPINVOICE." OR t.type = ".ST_BANKDEPOSIT.",
- (t.ov_amount + t.ov_gst + t.ov_discount - t.alloc),
- (t.ov_amount + t.ov_gst + t.ov_discount + t.alloc))) AS OutStanding
- FROM ".TB_PREF."supp_trans t
- WHERE t.tran_date < '$to'
- AND t.supplier_id = '$supplier_id' GROUP BY supplier_id";
+ $sql .= "SUM(IF(t.type = ".ST_SUPPINVOICE.", 1, -1) *
+ (abs(t.ov_amount + t.ov_gst + t.ov_discount) - abs(t.alloc))) AS OutStanding
+ FROM ".TB_PREF."supp_trans t
+ WHERE t.supplier_id = ".db_escape($supplier_id);
+ if ($to)
+ $sql .= " AND t.tran_date < '$to'";
+ $sql .= " GROUP BY supplier_id";