First check the AR amount without payment:
SELECT SUM(amount) FROM acc_trans WHERE trans_id = ID and chart_id in (select id from chart where link not like '%_paid%');
Then check payment amount:
SELECT SUM(amount) FROM acc_trans WHERE trans_id = ID and chart_id in (select id from chart where link like '%_paid%');
Or run a query to compare all values from the two tables:
SELECT ar.id, invnumber, ar.amount, (SELECT SUM(amount) FROM acc_trans ac WHERE ac.trans_id = ar.id AND ac.chart_id IN (SELECT id FROM chart WHERE link NOT LIKE '%_paid%')) amount2 FROM ar WHERE paid <> 0 AND id IN (SELECT trans_id FROM acc_trans GROUP BY trans_id HAVING SUM(amount) = 0) GROUP BY 1,2,3;
Another query to check if transaction is completely balanced:
SELECT SUM(amount) FROM acc_trans WHERE trans_id = ID