Разница в выставляемом счёте и списанием с баланса клиента.

Технические вопросы по UTM 5.0
Ответить
dbs
Сообщения: 5
Зарегистрирован: Пн дек 06, 2010 10:27

Разница в выставляемом счёте и списанием с баланса клиента.

Сообщение dbs »

Доброго времени суток!

Сталкивался ли кто-нибудь со следующей ситуацией?
Если да, то как решили проблему?:

Используемые версии ПО:
- UTM 5.2.1-008 Centos 5 (rc1)
- mysql-5.0.45-7
- UTM5 Интерфейс администратора (5.2.1-008 rc1)

Тестовый сценарий:
- создаём тарифный план с двумя услугами:
------разовая услуга со стоимостью 1000 рублей;
------периодическая услуга с периодической составляющей стоимостью 7000 рублей;
- создаём пользователя со ставкой НДС на имеющемся лицевом счёте = 18%;
- инициируем подключение данного тарифного плана нашему пользователю:
------->Пользователь
--------->Тарификация
----------->Тарифные связки
------------->Добавить
--------------->Выбираем наш тарифный план
--------------->Указываем текущий расчётный период
--------------->Нажимаем кнопку "Ок"
----------------->В открывшемся окне "Сервисная связка для разовой услуги" нажимаем кнопку "Ок"
----------------->В открывшемся окне "Связка периодической услуги" активируем поле "Пересчитывать абонентскую плату"
------------------->!!Перед нажатием кнопки "ОК" ждём некоторый период времени!! [в тестовых случаях я ждал 1,15,180 минут]
------------------->жмём кнопку "ОК");
- сравниваем размер списания с баланса и сумму в выставленном счёте.
Для тестовых случаев (1,15,180 минут) получилась разница в 3,7,32 рубля соответственно.

Спасибо за содействие и потраченное время!

--
С Уважением,
dbs.

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

а откуда счёт? какой метод списания? какой у вас расчетный период?

dbs
Сообщения: 5
Зарегистрирован: Пн дек 06, 2010 10:27

Сообщение dbs »

Pulse писал(а):а откуда счёт? какой метод списания? какой у вас расчетный период?
- счёт
Возможно я не совсем правильно понял вопрос, отвечу, как понял:
в результате подключения услуги формируется счёт на оплату для данного клиента.
-->Пользователи
----->Выбираем нашего пользователя
-------->Внести платёж
----------->Рядом с полем "Платёж по счету" нажимаем "Выбрать"
-------------->Выбираем счёт за подключенную услугу жмём "Ок"
----------->Жмём "Ок"

- метод списания
У периодической услуги "Метод снятия денег" - "в начале расчётного периода".
У клиента в основных параметрах активирована "Работа по предоплате".

- расчётный период
Тип - ежемесячный. (с 01.12.2010 00:00:00 по 01.01.2011 00:00:00)

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

Не могу ничего сказать по поводу "работа по предоплате" не разбирался...
Счёт выставляется на две позиции и описаная выше разница вылезает в периодической услуге?

dbs
Сообщения: 5
Зарегистрирован: Пн дек 06, 2010 10:27

Сообщение dbs »

Pulse писал(а):Не могу ничего сказать по поводу "работа по предоплате" не разбирался...
Счёт выставляется на две позиции и описаная выше разница вылезает в периодической услуге?
- работа по предоплате
Насколько я понял логику работы UTM:
--при активированном параметре "Работа по предоплате" при наступлении нового расчётного периода происходит списание с баланса клиента за периодические услуги и выставляются счета на оплату за каждую услугу отдельно;
--при НЕактивном параметре при наступлении нового расчётного периода происходят списания с баланса клиента, а счета по данным списаниям будут выставлены только в начале следующего расчётного периода.

- счёт
Счета выставляются на каждую услугу в рамках подключенного тарифного плана отдельно (один счёт на разовую услугу, один счёт на периодическую услугу для рассматриваемого тестового сценария). Разница вылезает в счёте за периодическую услугу.
Возможно разница была бы и в счёте за разовую услугу, если там активировать "Перерасчёт абонентской платы". Не успел проверить.

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

у меня не воспроизводится...

Код: Выделить всё

mysql> select discount from discount_transactions_all where account_id=17053 and slink_id=38412;
+------------------+
| discount         |
+------------------+
| 907.948918717375 |
+------------------+

Код: Выделить всё

mysql> select base_cost from invoice_entry where slink_id=38412;
+------------------+
| base_cost        |
+------------------+
| 907.948918717375 |
+------------------+

dbs
Сообщения: 5
Зарегистрирован: Пн дек 06, 2010 10:27

Сообщение dbs »

Pulse писал(а):у меня не воспроизводится...
Значения полей discount_transactions_all.discount и invoice_entry.base_cost совпадают и в моём случае. Тем не менее на балансе клиента имею разницу. Ниже приведена последовательность шагов с проверкой баланса.

Контролируем баланс клиента до подключения тарифного плана:

Код: Выделить всё

mysql> select balance from accounts where id = 1;                               
+---------+
| balance |
+---------+
|       0 |
+---------+
Подключаем клиенту тарифный план с двумя услугами (разовая за 1000р, периодическая за 7000р)

Контролируем баланс клиента после подключения тарифного плана:

Код: Выделить всё

mysql> select balance from accounts where id = 1;                               
+-------------------+
| balance           |
+-------------------+
| -7668.45142622461 |
+-------------------+
Смотрим записи по выставленным счетам:

Код: Выделить всё

mysql> select base_cost, tax_amount from invoice_entry where slink_id in (174,175);
+------------------+-----------------+
| base_cost        | tax_amount      |
+------------------+-----------------+
|             1000 |             180 |
| 5498.68764934289 | 989.76377688172 |
+------------------+-----------------+
Смотрим величины списаний с баланса за услуги:

Код: Выделить всё

mysql> select discount, discount_with_tax from discount_transactions_all where account_id=1 and slink_id in (174,175);
+------------------+-------------------+
| discount         | discount_with_tax |
+------------------+-------------------+
|             1000 |              1180 |
| 5498.68764934289 |  6488.45142622461 |
+------------------+-------------------+
Как и в Вашем случае значения полей base_cost и discount совпадают.

Оплачиваем оба счёта и проверяем баланс клиента:

Код: Выделить всё

mysql> select balance from accounts where id = 1;                               
+----------------------+
| balance              |
+----------------------+
| -0.00142622461225983 |
+----------------------+

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

пишите багрепорт

dbs
Сообщения: 5
Зарегистрирован: Пн дек 06, 2010 10:27

Сообщение dbs »

Pulse писал(а):пишите багрепорт
Написал, жду ответа... =)

Спасибо!

Ответить