QuickBooks can do it. By adding a subtotal and then a discount item which calculates on the subtotal.