With cart percent discounts, before tax, we do it per item to account for varying tax rates. We need to round these values so the totals match. This may result in a 1p more or less overall, but per item it is correct.