BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 09 ноя 2024, 03:57

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 15 ноя 2011, 09:55 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
1. Типы скидок

Так или иначе, всем приходится сталкиваться с ситуацией, когда некоторые услуги продаются клиенту по индивидуальной цене. В лучшем случае в организации есть бизнес-логика предоставления скидок, в худшем это делается наобум. Если подходить к вопросу системно, то для учёта скидок нужно решить 3 вопроса:
- Политика скидок (кому сколько и при каких условиях)
- Механизм начисления (техническая сторона)
- Отчетность

Первая часть индивидуальна для каждого предприятия и реализуется на уровне бизнес-логики. В биллинг тащить это не хочется. Но из первой части можно понять, какие бывают типы скидок, чтобы их начислять.

У меня получился такой список:
а) Скидки на подключение (разовые)
б) Фиксированные скидки на периодические услуги (цена минус X р.)
в) Процентные скидки на периодические услуги
г) Индивидуальная цена на услугу
д) Скидка на сумму счета

а) Начисление реализуется либо тупо путём занесения в BG расходов нужной суммы (но тогда пропадает отчетность), либо например двумя расходами: расход со стандартной ценой минус расход другого типа со скидкой. В любом случае, сделать workaround вокруг расходов можно. От биллинга тут ничего не требуется.
б) Выглядит как-то странно, но менеджеры могут придумать и не такое :). Можно тупо завести абонплату "скидка" с ценой в -1р. и вешать на договор с количеством, равным X. Забавно, но работает :) От биллинга тут ничего не требуется.
в) Тут нужна реализация в биллинге, см. ниже.
г) Слишком общая постановка, кроме персональных тарифов ничего не придумаешь. От биллинга тут ничего не требуется.
д) вычисляется только после создания счета => можно реализовать скриптами. От биллинга тут ничего не требуется.

Почему нельзя просто использовать персональные тарифы? За годы их использования имеем следующие проблемы:
- Отсутствует прозрачность (=> контроль) за предоставлением скидок.
- Сложности с внедрением новых тарифов (при введении новых тарифов или изменении старых приходится поддерживать персональные)
- Сложности с построением отчетов по тарифам

Скидка по своей сути - это некая сущность клиентского договора, имеющая период действия и набор параметров, а также влияющая на наработку.

2. Реализация процентных скидок в BGBilling
Т.о. нам нужна некая сущность договора, по которой можно было бы начислять скидки как процент от наработки по другим услугам. Нужно указать: date1, date2, sids (через запятую), % скидки.

Предлагаю следущую схему:
- Скидка - это абонплата, процент указывается в количестве абонплаты:
Вложение:
npays-discount.jpg
npays-discount.jpg [ 35.26 КБ | Просмотров: 34369 ]

- В тарифном плане вместо узла "стоимость" указывается новый тип узла "скидка" (java-код ниже):
Код:
mysql> select * from mtree_node where id=48;
+----+-------------+----------+----------+----------+-----+
| id | parent_node | mtree_id | type     | data     | pos |
+----+-------------+----------+----------+----------+-----+
| 48 |          47 |        3 | discount | sids&5,6 |   0 |
+----+-------------+----------+----------+----------+-----+
1 row in set (0.00 sec)

(5 - услуга 'Доступ в интернет', 6 - услуга 'Доступ в интернет (локальный трафик)')
Вложение:
npays-discount-tariff-tree.jpg
npays-discount-tariff-tree.jpg [ 28.91 КБ | Просмотров: 34369 ]


Узел работает только для месячной абонплаты (для простоты).
В узле discount задаётся список услуг, для которых считается скидка. Услуги можно указывать вообще любые.
Узел возвращает цену абонплаты равной = select -sum(summa)/100 from contract_account where sid in (<sids>) and yy=<yy> and mm=<mm> and cid=<cid>
Т.е. 1% от суммы наработки договора по нужным нам услугам в месяце, за который вычисляем абонплаты.

!!! Важно !!! Узел работает в режиме "безусловно". Т.е. если мы поставили скидочную абонплату в середине месяца, то скидка все равно насчитается как % от наработки по услугам за весь месяц. Иначе нельзя, т.к. наработка по услугам хранится с точностью до месяца. Т.о. скидки предоставляются по месяцам.

Всё просто и удобно :)

Запускаем начисление абонплат и получаем скидку на 15 ноября = 30% * 100р. * (15 дней/30 дней) = 15р.
Вложение:
npays-discount-account.jpg
npays-discount-account.jpg [ 20.53 КБ | Просмотров: 34369 ]


Вот код класса узла [для 5.2]:

Код:
package ru.bitel.bgbilling.modules.npay.tariff.server;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;

import ru.bitel.bgbilling.kernel.tariff.tree.server.DefaultTariffTreeNode;
import ru.bitel.common.ParameterMap;
import ru.bitel.common.Utils;

public class MonthModeDiscountByServicesTariffTreeNode extends DefaultTariffTreeNode<NPayTariffRequest, NPayTariffContext>
{
  private String sids;

  public MonthModeDiscountByServicesTariffTreeNode(int id, ParameterMap parameterMap)
  {
    super(id, parameterMap);

    this.sids = parameterMap.get("sids", "");//список sid-ов через запятую
  }

  protected int executeImpl(Long treeNodeId, NPayTariffRequest req, NPayTariffContext ctx)
  {
   BigDecimal cost = BigDecimal.ZERO;
   //Берем наработку по услугам из 'sids'
   //Не нашел метода в API, чтобы получить наработку по списку услуг без субдоговоров, считаем руками:
   String query =
         "SELECT sum(summa) FROM contract_account WHERE yy=? AND mm=? AND sid IN (" +
         this.sids + ") AND cid=?";
   Connection con = req.getConnection();
   try {
      PreparedStatement ps = con.prepareStatement(query);
      ps.setInt(1, req.getTime().get(Calendar.YEAR));
   
      ps.setInt(2, req.getTime().get(Calendar.MONTH)+1);
      ps.setInt(3, req.cid);
      ResultSet rs = ps.executeQuery();
      if (rs.next())
      {
        cost = Utils.maskNull(rs.getBigDecimal(1)).divide(BigDecimal.valueOf(100)).negate();
      }
      rs.close();
      ps.close();
   } catch (SQLException e) {
      req.addError("Error while obtaining discount service account for sids: "+this.sids+". Node: "+this.fingerprint + ". Error:"+e.getMessage());
      e.printStackTrace();
   }
   req.serviceCost.cost = cost;
   
    return 1;
  }
}


Прописываем в npay.xml:
Код:
          <node type="discount" class1="" title="Discount" class2="ru.bitel.bgbilling.modules.npay.tariff.server.MonthModeDiscountByServicesTariffTreeNode"/>

<!--... -->

          <node type="month_mode" class1="bitel.billing.module.services.npay.MonthCalculateModeTariffTreeNode" title="Iany?iue ?a?ei niyoey" class2="ru.bitel.bgbilling.modules.npay.tariff.server.CalculateModeTariffTreeNode">
                 <node type="month_cost"/>
                 <node type="add_cost"/>
                 <node type="month_period"/>
                 <node type="month_if"/>
                 <node type="month_if_account"/>
                 <node type="mult_cost"/>
                 <node type="month_option"/>
                 <node type="discount"/>
          </node>
           <node type="month_period" class1="bitel.billing.module.tariff.PeriodTariffTreeNode" title="Ia?eia" class2="ru.bitel.bgbilling.kernel.tariff.tree.server.PeriodTariffTreeNode">
                 <node type="month_if"/>
                 <node type="month_cost"/>
                 <node type="month_if_account"/>
                 <node type="mult_cost"/>
                 <node type="month_option"/>
                 <node type="discount"/>
          </node>

           <node type="month_if" class1="bitel.billing.module.services.npay.AmountRangeTariffTreeNode" title="Oneiaea ii iauaio oneoae" class2="ru.bitel.bgbilling.modules.npay.tariff.server.AmountRangeTariffTreeNode">
                <node type="month_period"/>
                <node type="month_cost"/>
                <node type="mult_cost"/>
                <node type="discount"/>
          </node>

<!--... -->

          <node type="month_option" category="directory" class1="ru.bitel.bgbilling.modules.npay.tariff.client.OptionTariffTreeNode" title="Iioey" class2="ru.bitel.bgbilling.modules.npay.tariff.server.OptionTariffTreeNode">
                 <node type="month_cost"/>
                 <node type="add_cost"/>
                 <node type="month_period"/>
                 <node type="month_if"/>
                 <node type="month_if_account"/>
                 <node type="mult_cost"/>
                 <node type="discount"/>
          </node>



Для 5.1 я думаю принципиальных отличий не должно быть.

3. Недостатки
- % скидки может быть только целым
- % скидки нельзя указать отрицательным (продать дороже)

Собственно, вопрос к разработчикам - можете реализовать это официально?

В виде костыля неудобно поьзоваться по двум причинам:
- Лень ковырять клиент, чтобы добиться поддержки отображения и редактирования узла discount
- Приходится переопределять npay.xml в локальной директории => нужно будет следить за его обновлениями


Последний раз редактировалось Cromeshnic 17 ноя 2011, 11:30, всего редактировалось 6 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 10:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Собственно все кул, у меня вопрос возник.
1. Тут заложена логика предоставлении скидки на определенный срок, и где это указать? тоесть с середины следущюего месяца, и оканчивается через 2 месяца.
А так поддерживаю, я чета затупил и выставлял в тарифных планах процент скидки на услугу абонплаты, а не количеством.

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 11:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
skyb, ой кстати есть косяк - скидка при такой реализации будет только с точностью до месяца. Щас подумаю...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 11:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Подумал, дописал:

Цитата:
!!! Важно !!! Узел работает в режиме "безусловно". Т.е. если мы поставили скидочную абонплату в середине месяца, то скидка все равно насчитается как % от наработки по услугам за весь месяц. Иначе нельзя, т.к. наработка по услугам хранится с точностью до месяца. Т.о. скидки предоставляются по месяцам.


skyb, по твоему вопросу - период предоставления скидки регулируется периодом действия скидочной абонплаты на договоре, с точностью до месяца.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 12:48 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Cromeshnic писал(а):
Подумал, дописал:

Цитата:
!!! Важно !!! Узел работает в режиме "безусловно". Т.е. если мы поставили скидочную абонплату в середине месяца, то скидка все равно насчитается как % от наработки по услугам за весь месяц. Иначе нельзя, т.к. наработка по услугам хранится с точностью до месяца. Т.о. скидки предоставляются по месяцам.


skyb, по твоему вопросу - период предоставления скидки регулируется периодом действия скидочной абонплаты на договоре, с точностью до месяца.

С точностью до календарного месяца или абонентского?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 12:52 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Календарного конечно, где ты видел в биллинге абонентский месяц? :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 13:01 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Cromeshnic писал(а):
Календарного конечно, где ты видел в биллинге абонентский месяц? :)

малоли =), эх, несовсем универсально, было бы круто если бы ещё по любым датам можно было скидку давать на эти дни

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2011, 13:41 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Есть ещё нюанс - если запускаем обсчет абонплат первый раз за день и скидки считаются от других абонплат, то они рассчитаются по данным только на предыдущий день. Поэтому для верности пересчет нужно запускать два раза подряд - скажем, перед массовым выставлением счетов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 ноя 2011, 08:34 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Тема скидок уже всплывала:
viewtopic.php?f=22&t=5907
summon SafeAndSound
:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 11:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
До кучи:
viewtopic.php?f=1&t=1215
viewtopic.php?f=5&t=5899


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2011, 09:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Я не понял, никому уже не интересно? Или я мудрено написал? :)

Как вариант, можно вынести эту логику в отдельный модуль. Тогда и список услуг, на которые вешается скидка, можно указывать прямо в сущности договора этого модуля.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2011, 12:44 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Cromeshnic писал(а):
Я не понял, никому уже не интересно? Или я мудрено написал? :)

интересно, просто у меня немного другая логика скидок и несовсем эта подойдет :(

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2011, 13:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Опиши, может придумаем общее решение.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2011, 17:13 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
Пролетала как-то идея "скриптовых" тарифов, как более общая альтернатива скидкам и бонусам.
Непосредственно по скидкам: Скидка - частный случай бонуса. Может быть переключится на бонусы?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2011, 06:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
С бонусами непонятно толком, как их можно реализовать.
viewtopic.php?p=46550#p46550

А скидки мне нужны как замена персональным тарифам.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2011, 12:08 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
Cromeshnic писал(а):
С бонусами непонятно толком, как их можно реализовать.
viewtopic.php?p=46550#p46550

А скидки мне нужны как замена персональным тарифам.


Цитата:
помоему не должно быть "Виртуальных платежей", бонусы должны давать скидку на услугу (т.е. изменять ее стоимость вплоть до нуля).
и минимум двое согласных с этим.

Это из обсуждения по ссылке. :wink:

IMHO: нас спасут либо "скриптовые" тарифы, либо возможность создать модуль, добавляющий свои пять копеек в тарифное дерево.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2011, 15:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Можно развить идею в первом посте.

Например, сделать модуль "Скидки/бонусы".
* Скидки реализовать по схеме из первого поста: "скидка" - это сущность модуля на договоре с периодом действия и %, наработка по ней будет отрицательной, в процентах от суммарной наработки по набору услуг других модулей.
* Бонусы. Допустим для модуля заведены услуги "Бонус на инет", "Бонус на локальный трафик".
В модуле ведётся помесячный баланс по этим услугам : bonus_balance_<mid> (cid, yy, mm, sid, summa1, summa2)
summa1 - вх баланс бонуса sid на договоре cid за yy, mm
summa2 - суммарные поступления бонуса за месяц. Поступления делаются через интерфейс клиента и в скриптах - у каждого своя логика их начисления. Детально поступления попадают в bonus_payment_<mid> (...)
Растрат бонуса в таблице нет осознанно - они берутся из contract_account. Расходов тоже нет - можно сделать отрицательными приходами, здесь большой разницы нет.

В тарифной ветке модуля всего 2 новых узла: "тарифицировать скидку" и "тарифицировать бонус"
"Тарифицировать скидку" - указывается sid скидки и список sid-ов услуг, % от которых она вычисляет. Узел возвращает цену в -1% от суммарной наработки по услугам за месяц. Количество процентов указывается в сущности "скидка" договора. Наработка идёт в указанный sid услуги-скидки.
"Тарифицировать бонус" - указывается sid бонуса и список sid-ов услуг, по которым он считается. Узел возвращает стоимость в -min(<текущий баланс бонуса>, <сумма наработки по указанным услугам>). Наработка идёт в указаный sid услуги-бонуса.

Тарифицируем по задаче планировщика. Переносим баланс бонусов на следующий месяц тоже по планировщику.
Для каждого договора тарифицируются его сущности-"скидки" и все услуги "бонус", по которым на договоре есть баланс (или вообще все, или все разрешенные...)

Например, у клиента на бонусном счету имеется:
50р. бонуса "Бонус на инет" (sid=1) и 100р. - "Бонус на локальный трафик" (sid=2)
Наработка:
"Инет-абонплата" (sid=3) = 40р.
"Инет-вх трафик" (sid=4) = 30р.
"Инет-вх локальный трафик" (sid=5) = 20р.

В тарифе:
Код:
*<Модуль "Бонусы и скидки">
 |
  *<Тарифицировать бонус sid=1 по услугам: 3,4>
 |
  *<Тарифицировать бонус sid=2 по услугам: 5>


Тогда:
наработка в contract_account по услуге sid=1 будет = -50р. ( =-min(50, 40+30) )
наработка в contract_account по услуге sid=2 будет = -20р. ( =-min(100, 20) )

На следующий месяц перейдет 80р. бонуса за локальный трафик (sid=2)

зы.
Начисление бонусов каждый реализует сам.

ззы.
Почему именно отрицательной наработкой по другим услугам? Мне кажется, так проще и нагляднее. Если делать универсальный механизм "урезания" наработки по произвольной услуге, это должна быть новая прослойка в ядре на уровне contract_account.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2011, 16:21 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
Бонусы опять в рублях?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2011, 16:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
vdd писал(а):
Бонусы опять в рублях?

в еденицах

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 дек 2011, 06:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ну тут в рублях.
Предложите свой сценарий.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 янв 2012, 07:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Пример использования % скидок:
http://www.is74.ru/home/internet/tariffs/addons/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 янв 2012, 15:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 14 июл 2011, 13:32
Сообщения: 187
Откуда: г.Челябинск
Карма: 6
Как вариант реализации Бонусов мы сейчас используем, как тут говорилось, "виртуальные платежи", правда в рублях, а не попугаях.
При поступлении на счёт абонента разовой суммы более Х руб. (за минусом долга на первое число) отдельным типом платежа на счёт падает Бонус хх%. (При поступлении суммы более Y руб. - Бонус yy%).
Проблем с начислением абон.платы и отчётностью не возникает, да и персональные тарифы не требуются.
Реализовано это скриптом, добавленным на каждый договор.
Скидки не используем.

_________________
Работаем с 5.2.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 янв 2012, 15:59 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Universe писал(а):
Как вариант реализации Бонусов мы сейчас используем, как тут говорилось, "виртуальные платежи", правда в рублях, а не попугаях.

а бухгалтерия не против? этож запрещено, я и ссыль кидал, завтра таки доберусь до темы

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 янв 2012, 16:05 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
А разве бухгалтерии обязательно показывать все деньги?
Реальные деньги они показывают, а всякие компенсационные, бонусные и прочие "нереальные" (реального бабла там - тока цифры) платежи - не обязательно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 янв 2012, 16:52 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 14 июл 2011, 13:32
Сообщения: 187
Откуда: г.Челябинск
Карма: 6
snark писал(а):
А разве бухгалтерии обязательно показывать все деньги?
Реальные деньги они показывают, а всякие компенсационные, бонусные и прочие "нереальные" (реального бабла там - тока цифры) платежи - не обязательно.


Совершенно верно. Никаких проблем нет. В отчёте выбираю, только "реальные" платежи. Которые затем и делятся на все подключенные услуги.
Учитывая, что Интернет безлимитный и строгой отчётности не требуется, то бухгалтерия не против.
Так как Бонус - это отдельный тип платежа, по нему тоже всегда можно сделать дополнительный отчёт.

_________________
Работаем с 5.2.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 янв 2012, 17:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
snark писал(а):
А разве бухгалтерии обязательно показывать все деньги?
Реальные деньги они показывают, а всякие компенсационные, бонусные и прочие "нереальные" (реального бабла там - тока цифры) платежи - не обязательно.

вот реально лень искать по форуму про это, но нельзя добавлять платеж фейковый на учетку, он должен быть в любом случае реален, поищи по форуму, уже обсуждалось давно....

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 янв 2012, 19:51 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Все зависит от того что именно считается реальным платежом, а что фейковым.
Реальный == настоящие, живые деньги.
Фейковый == все что не "реальный", например компенсация % при платеже через mps.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 янв 2012, 06:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
snark писал(а):
Все зависит от того что именно считается реальным платежом, а что фейковым.
Реальный == настоящие, живые деньги.
Фейковый == все что не "реальный", например компенсация % при платеже через mps.

viewtopic.php?p=7178#p7178
blib писал(а):
если следовать букве закона то да можно, но если ВЫ платите деньги физическому лицу то вы должны считать подоходный налог + ЕСН.

это если быть до конца честными...
поэтому это по бугалтерии проходит как скидка ! а не как выплаты клиенту, по бугалтерии вы просто ему услуги дешевле продаете а не даете ему деньги.

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 янв 2012, 07:26 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
2 Universe, а синхранизация с 1с у вас есть какая-нибудь? Наработка, баланс, платежи, расходы? У нас например четко должен совпадать баланс на конец месяца в биллинге и 1C. Если у вас автоматизированно оно не ведётся, как вы отслеживаете нестыковки? Например, в биллинге есть платеж / расход / наработка по услуге, а в 1С - нет. Или наоборот. Или в 1С у вас не ведутся абонентские договоры, только общая движуха денег?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 янв 2012, 07:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Повторюсь про сабж - в первую очередь, меня напрягают персональные тарифы, хочется их заменить на скидки.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.078s | 78 Queries | GZIP : On ]