Two statements needed using a temporary table:

First:

   CREATE TABLE tmp1 AS SELECT id, (SELECT COUNT(*) FROM acc_trans WHERE chart_id IN (SELECT id FROM chart WHERE link LIKE '%tax%' AND acc_trans.trans_id = ar.id)) cnt FROM ar;
   

Second:

   SELECT invnumber, amount, netamount FROM ar WHERE id IN (SELECT id FROM tmp1 WHERE cnt=0) AND transdate BETWEEN '2018-01-01' AND '2018-05-30';
   

Once you are done you can run:

   DROP TABLE tmp1;