If you have
php7 installed on your server and the discount is not included in the grandtotals, then most likely this is due to the different usort() function algorithm in
php7 because now the grandtotal is not the last one to calculate.
You can fix this by install the module below.
My extension on github where that bug is fixed.