Assign discount to invoice line items

Status
Open

Issue
As of now, you have the possibility to assign discounts and vouchers (vouchers will be called "discounts" from now on as they are discounts and the same calculation class is used) to several particulars as are:
 * Start date
 * End date
 * Quantity
 * Purchase Price
 * Countries
 * User Groups and specific Users
 * Categories and specific Product Items

If you do not assign for example Product Items, the discount will be valid for the entire basket. Whether you assign specific products or categories (the products may be assigned to) the discount will appear for each single product item. This is okay if you assign percentaged discounts but it doesn't fit for ITM or ABS discounts.

Reason
By default, multiplicative operations goes before additive operations which seems to don't fit any business case.

Better to explain it by example: You installed a discount of ABS 1 EUR for the product "Tooth Brush Dr. Best Plus" for a regular price of 3.24 EUR. If you purchase one item, the total cost for the item will come to 2.24 EUR. If you purchase 100 items and additionally limited the discount for the quantity to > 80, the price would come to 224 EUR (100 * 2.24) which is okay by the first glance as well. But there is another business case: Another shop owner could want to have this calculation: 100 (amount) * 3.24 EUR (price per item) - 1 EUR (discount on quantity and assigned product)

Solution
The quick fix: Introduce a switcher for calculate the multiplicative before the additive operations (and pray that everybody understands what is meant)

Feature Request
Introduce three discount levels to the admin area. You may use the same classes but display it a different way for better usability, less support cases and everybody may understand it:
 * 1) discount for product items (and assigned categories)
 * 2) discount for invoice line items
 * 3) discount for the entire cart

Kudos
... to Mrs. Plumeyer, my Maths teacher at the highschool.