Незнал как назвать пост, вот что пришло на ум )))
Решили на работе переделать логику работы биллинга (ибо сейчас все настроено наикривейшим образом), решил поделиться своей реализацией, может кому нибудь пригодится.
Интернет.
Ставим порог в 10 мегабайт → Если выкачал 10 мегабайт списываем полную абонентскую плату за месяц, если нет то баланс остается неизменным. (Списание возможно один раз в месяц. Никаких перерасчетов)
Реализация:
У услуги должен быть тип «Услуга передачи ip - трафика»
Пункт «Границы тарификации»
Добавляем первую границу нужного класса трафика, объем трафика - 0, стоимость за мегабайт - 0.
Добавляем вторую границу нужного класса трафика, объем трафика - 3, стоимость за мегабайт - 500.
Добавляем третью границу нужного класса трафика, объем трафика - 4, стоимость за мегабайт - 0.
В этом примере если человек скачает более 4МБ, с него спишется 500 рублей.
Если до 3 МБ - 0.
Между 3МБ и 4МБ - от 0 до 500 рублей, пропорционально.
Дополнительные услуги.
При добавлении дополнительной услуги ставим галочку «Пересчитывать абонентскую плату», тем самым биллинг высчитает оплату до конца месяца автоматически и спишет ее.
Потом нужно будет зайти в свойства лицевого счета и убрать галочку «Пересчитывать абонентскую плату» из графы «При системной блокировке», тем самым мы сделаем списывание услуги не зависимо от баланса положительный или отрицательный.
Итог работы биллинга.
У абонента тарифный план 600р в месяц. Из них получается 370 рублей «Интернет», 100 рублей «Обслуживание линии интернет», 130 рублей «Абонентская плата за Кабельное телевидение».
Модель.
У абонента на 31 Декабря баланс 600р, 1 Января с него списывается 100 рублей и 130 рублей, как только абонент скачивает с интернета больше 10 мегабайт с него списывается 370 рублей. Если абонент не скачивает 10 мегабайт 370 рублей переносятся на следующий месяц. Если уже в следующем месяце абонент не до внесет 230 рублей, то по достижению порога в 10 мегабайт с него спишется 370 рублей и баланс станет отрицательный.
Если абонент на конец месяца не внесет деньги, с него спишется 230 рублей и так будет каждый месяц загонять в минус.