bitrix.
на сайт выгружается из 1С две цены одна розничная, другая акционная (это уже было).
скрипт проходит все товары (по частям через ajax-вызовы) и для товаров у кого имеется именно две цены создает скидку, которая используется на сайте и видна в админской части (скрипт сторонние скидки не затрагивает, для разницы используется имя вида: tid:NNN - NNN -ид-скидки).