$Sql = "SELECT suppliers.supplierid,
currencies.decimalplaces AS currdecimalplaces,
SUM(supptrans.ovamount + supptrans.ovgst - supptrans.alloc) AS balance
FROM suppliers INNER JOIN paymentterms
ON suppliers.paymentterms = paymentterms.termsindicator
INNER JOIN supptrans
ON suppliers.supplierid = supptrans.supplierno
INNER JOIN systypes
ON systypes.typeid = supptrans.type
INNER JOIN currencies
ON suppliers.currcode=currencies.currabrev
WHERE supptrans.ovamount + supptrans.ovgst - supptrans.alloc !=0
AND supptrans.hold=0
GROUP BY suppliers.supplierid,
currencies.decimalplaces
HAVING SUM(supptrans.ovamount + supptrans.ovgst - supptrans.alloc) <> 0
ORDER BY supptrans.duedate";
$SuppliersResult = DB_query($Sql);
while($SuppliersToPay = DB_fetch_array($SuppliersResult)) {
$CurrDecimalPlaces = $SuppliersToPay['currdecimalplaces'];
$Sql = "SELECT suppliers.supplierid,
suppliers.suppname,
systypes.typename,
paymentterms.terms,
supptrans.suppreference,
supptrans.trandate,
supptrans.rate,
supptrans.transno,
supptrans.type,
supptrans.duedate,
(supptrans.ovamount + supptrans.ovgst - supptrans.alloc) AS balance,
(supptrans.ovamount + supptrans.ovgst ) AS trantotal,
supptrans.diffonexch,
supptrans.id
FROM suppliers
INNER JOIN paymentterms ON suppliers.paymentterms = paymentterms.termsindicator
INNER JOIN supptrans ON suppliers.supplierid = supptrans.supplierno
INNER JOIN systypes ON systypes.typeid = supptrans.type
WHERE supptrans.supplierno = '" . $SuppliersToPay['supplierid'] . "'
AND supptrans.ovamount + supptrans.ovgst - supptrans.alloc !=0
AND supptrans.duedate <='" . Date('Y-m-d', mktime(0,0,0, Date('n'),Date('j')+30,date('Y'))) . "'
AND supptrans.hold = 0
ORDER BY supptrans.duedate";