Дурацкая мысль - а "методика 1с" не поможет?
Они мыслят суммами, цены считают потом расчётным путём, в том числе - и разбивая сгруппированные позиции.
Простой пример:
Продали 3 единицы по 0.37 на 1.11
Сделали скидку в 11 копеек.
Шаг скидки = 0.04
Эту скидку разносим на три позиции:
- Остаток скидки = 0.11
- Применённая скидка = 0.00
- цена первой единицы со скидкой = 0.37 - 0.04 = 0.33
- Остаток скидки = 0.07
- Применённая скидка = 0.04
- цена второй единицы со скидкой = 0.37 - 0.04 = 0.33
- Остаток скидки = 0.03
- Применённая скидка = 0.08
- цена третьей единицы со скидкой = 0.37 - 0.03 = 0.34
- Остаток скидки = 0.00
- Применённая скидка = 0.11
Дальше можем группировать в чеке - две единицы по 0.33 и одна по 0.34 (с какими-то примечаниями типа "с учётом скидки на сдачу").