Сторнирование расхода. Перерасчет.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (16)

просмотр истории страницы
На закладке абонента "Сервис" доступны операции сторнирования и перерасчета.
{toc}

В карточке абонента на вкладке "*Сервис*" доступны операции сторнирования и перерасчета.

h2. На что обратить внимание при перерасчете или сторнировании

h3. И сторнирование и перерасчет
Если дата списания по услугам абонента не с первого числа месяца (иначе говоря Вы используете [сдвиг даты списания|CarbonBilling:Сдвиг даты списания. Месяц равен 30 дням.]), то лучше не делать перерасчет больше чем [6 месяцев|CarbonBilling:Настройка периода хранения исторических данных в базе].

h3. Особенности сторнирования
* Сторнирование начислений за платный трафик невозможно. При необходимости, абоненту предлагается провести [приход денежных средств|CarbonBilling:Редактирование баланса абонента.] на сумму, подлежащую сторнированию.
* Сторнировать можно только проводки, находящиеся в ARCH_ACCOUNT_STACK, проводки выгруженные в [БД исторических данных|CarbonBilling:Настройка периода хранения исторических данных в базе] сторнированы не будут.

h3. Особенности перерасчета
* Перерасчет за период не будет выполнен если в указанный период было выполнено сторнирование и после него не было списаний
* Если в периоде были разовые услуги и в настоящий момент они уже удалены, они не будут списаны заново - перерасчет выполняется по текущему набору услуг
* Если в период были подключены услуги со списанием за подключение, оно не будет назначено заново.
* Перерасчет начислений за платный трафик невозможен. При необходимости абоненту предлагается провести [приход денежных средств|CarbonBilling:Редактирование баланса абонента.] в нужном объёме.

h2. Как это делается

h23. Сторнирование
{tip}*Время выполнения инструкции*: 1-10 минут, в зависимости от периода сторнирования и производительности сервера{tip}

Операцией сторнирования пользуются для исправления ошибочных операций. Например, ошибочно назначена услуга и по ней списались средства. Сторнирование позволяет отменить ошибочные операции.
{info}Если запустить сторнирование на вкладке "Сервис" +в группе абонентов+, оно произойдет по всем вложенным абонентам (включая находящихся во вложенных папках){info}

1. На закладке абонента "Сервис" с в разделе "Сторнирование услуг" выберите услуг" выберите период за который нужно провести сторнирование. Другими словами дата начала - это дата когда произошло ошибочное списание, дата конца - количество дней за которое прошли ошибочные списания или же дата окончания действия услуги.

2. Выберите услугу которую нужно сторнировать, т.е. услугу по которой были неверные списания.
2. Выберите услугу, которую нужно сторнировать - по которой были неверные списания.

3. Нажать кнопку "Сохранить" внизу формы для проведения операции.

h3. Особенности перерасчета
* Сторнирование начислений за платный трафик невозможно. При необходимости абоненту предлагается провести [приход денежных средств|CarbonBilling:Редактирование баланса абонента.] на сумму подлежащую сторнированию.

h23. Полный перерасчет
{tip}*Время выполнения инструкции*: 1-10 минут, в зависимости от периода перерасчета и производительности сервера{tip}

Полным перерасчетом пользуются в случае когда необходимо абонента обработать за полные периоды удалив все что с ним происходило, например если в течениие месяца у него должен был быть другой тариф.
Опция "Очистить историю блокировки услуг абонента" пересчитает абонента без учета периодов когда абонент был заблокирован по какой-либо причине. Например, если абонент был заблокирован по недостатку средств часть месяца, перерасчет с удалением истории назначит списания за полный месяц.
{info}Массово произвести перерасчет +за текущий период+ можно воспользовавшись функцией [массовых изменений в расширенном поиске|CarbonBilling:Поиск и массовое изменение абонентов]. Произвести массовый перерасчет с очисткой истории блокировок за любой выбранный период можно только через [API|CarbonBilling:API REST v2.0]{info}

* На закладке абонента "Сервис" с в разделе "Перерасчет" выберите "Перерасчет" выберите период по который нужно провести сторнирование всех переиодических списаний. Другими словами по этот период будут сторнированы все переиодические списания, и произведены новые списания по текущему набору услуг.
* Нажмите кнопку "Полный перерасчет".
Внимание\! При повторном списании услуг учитывается что они могли быть заблокированы в прошлом, и в эти дни списание не делается.

h3. Особенности перерасчета
* Перерасчет за период не будет выполнен если в указанный период было выполнено сторнирование и после него не было списаний
* Если в периоде были разовые услуги и в настоящий момент они уже удалены, они не будут списаны заново - перерасчет выполняется по текущему набору услуг
* Если в период были подключены услуги со списанием за подключение, оно не будет назначено заново.
* Перерасчет начислений за платный трафик невозможно. При необходимости абоненту предлагается провести [приход денежных средств|CarbonBilling:Редактирование баланса абонента.] в объёме разницы начисленного расхода и пересчитанного расхода.

!recalc.png|border=1,width=374,height=270!

h2. Технические детали того как работают сторнирование и перерасчет

Сторнирование - это процесс отмены списаний, он происходит и при перерасчете.

h3. Сторнирование

При сторнировании ядро пытается найти проводки в архивной базе ARCH_ACCOUNT_STACK. Если они есть - проводки помечаются сторнированными (STORNO=1) и стек на обработку (ACCOUNT_STACK) добавляются обратные на соответствующие суммы со ссылкой на сторнированную. После их обработки ядром они так же попадают в ARCH_ACCOUNT_STACK.

h3. Перерасчёт

При перерасчете сначала происходит сторнирование, после новое начисление по текущему набору услуг. При этом имеются следующие особенности:

Если в архивной базе ARCH_ACCOUNT_STACK есть проводки, поведение аналогично простому сторнированию. Проводки помечаются сторнированными (STORNO=1) и стек на обработку (ACCOUNT_STACK) добавляются обратные на соответствующие суммы со ссылкой на сторнированную. После их обработки ядром они так же попадают в ARCH_ACCOUNT_STACK.

Если в архивной базе ARCH_ACCOUNT_STACK нет проводок (например они ушли в [архив|CarbonBilling:Настройка периода хранения исторических данных в базе], то всё зависит от настроек услуги:
* Опции [сдвига даты списания|CarbonBilling:Сдвиг даты списания. Месяц равен 30 дням.] не включены: данные берутся из [счетчика расхода|CarbonBilling:Счетчики услуг. Вкладка "Расход".] и так же добавляются в ACCOUNT_STACK, после обработки переносятся в архивную базу.
* Сдвиг даты включен: так как опции сдвига подразумеваются для ежемесячных списаний по услугам, без истории проводок у биллинга нет возможности полностью корректно просчитать как двигалась дата списания чтобы правильно сторнировать полные периоды, поэтому сторнирование произвести невозможно.

Если сторнирование производилось в рамках перерасчета, абоненту будут начислены списания по текущему набору услуг с даты их включения (или активации абонента, если таковы настройки услуг), при этом учитывается история блокировок.
Таким образом, если требуется произвести начисление по текущему набору услуг задним числом, нужно исправить даты включения услуг, активации абонента и решить нужно ли учитывать блокировки проходившие в тот период. Этот процесс описан в статье [CarbonBilling:Подключение абонента задним числом]