Monthly via balance (current month). Особенности формирования списаний

В этой статье рассматривается формирование списаний для подписок только по модели Предоплата. Особенности формирования и изменения списаний для подписок по модели Постоплата см. в Особенности списаний для модели Постоплата. См. также Особенности списаний с учетом курсов валют.

Тип биллинга Monthly via balance (current month) используется для продажи решений ESET по партнерской программе ISP с помесячным выставлением счетов.

В этой статье:

Общие правила при типе биллинга Monthly via balance (current month)

  • Все списания по подписке формируются в момент заказа подписки в статусах Новое. После оплаты заказа списания за текущий финансовый период переходят в статус Заблокировано. Списания всегда генерируется только на текущий (новый) финансовый период вне зависимости от периода, на который заказана подписка. 
  • При формировании списаний принимается во внимание дата истечения подписки: если в следующий финансовый период подписка истекает, то списание формируется только до даты истечения подписки.
  • При типе биллинга Monthly via balance (current month) формируются только списания типа Абонентская плата для ресурсов.

Списания типа Плата за установку, Плата за продление

Списания типа Плата за установкуПлата за продление и Плата за перенос не формируются, так как для подписок на решения ESET по партнерской программе ISP не должны устанавливаться соответствующие виды платежей.

Заказ подписки

Рассмотрим пример заказа подписки с типом биллинга Monthly via balance (current month). Примем, что финансовый день установлен 1-го числа каждого месяца. подписка заказана 20 августа.

После заказа подписки происходит следующее:

  1. Платформа создает следующие сущности:
    1. Заказ на покупку в статусе Ожидает оплаты.
    2. Привязанный к заказу платеж в статусе Ожидает оплаты на сумму, достаточную для работы подписки со дня заказа до следующего финансового дня.
    3. Одно списание для заказываемой подписки со дня ее заказа до ближайшего финансового дня в статусе Новое для каждого заказываемого ресурса и периода.

      Первое списание до ближайшего финансового дня рассчитывается по формуле:

      (X/Y) * quantity * price

      где

      X — фактическое количество проработанных дней в месяце.

      Y — количество дней в месяце.

      quantity — количество заказываемых ресурсов.

      price — стоимость одного ресурса в месяц.

  2. Клиент оплачивает платеж в день его создания.
  3. Платформа обрабатывает заказ и переводит соответствующее списание из статуса Новое в статус Заблокировано.
    1. Если платеж оплачивается не в день его создания, то при завершении заказа происходит повторное формирование списания согласно общей логике.
    2. Если платеж не оплачивается до следующего финансового дня, то заказ отменяется в финансовый день согласно общей логике.
  4. Для подписок на фиксированный период устанавливает дату истечения подписки.

Автоматическое продление активной подписки

В финансовый день платформа производит следующие действия:

  1. Переводит списание за предыдущий финансовый период из статуса Заблокировано в статус Закрыто.
  2. Создает списание на следующий финансовый период (или до даты истечения подписки, если подписка истекает в следующем финансовом периоде) в статусе Открыто.

    Если на момент формирования списания у тарифного плана установлена опция Фиксированная цена, то для создания списания на следующий месяц стоимость ресурсов берется из подписки.

    Если на момент формирования списания у тарифного плана не установлена опция Фиксированная цена, то для создания списания на следующий месяц стоимость ресурсов берется из тарифного плана и обновляются стоимости ресурсов подписки.

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

  3. Если на балансе клиента присутствует сумма, равная сумме созданного на следующий финансовый период списания:
    1. Платформа блокирует на балансе клиента сумму, равную сумме созданного на следующий финансовый период списания.
    2. Платформа переводит созданное на следующий финансовый период списание из статуса Открыто в Заблокировано.
  4. Если на балансе клиента отсутствует сумма, равная сумме созданного на следующий финансовый период списания:
    1. Платформа оставляет созданное на следующий финансовый период списание в статусе Открыто.
    2. Платформа останавливает подписку.
    3. Клиенту становится доступна кнопка Активировать для подписки, с помощью которой он может активировать подписку при наличии средств на балансе.

Автоматическое продление остановленной подписки

  1. В финансовый день платформа производит следующие действия:
    1. Если подписка была остановлена в предыдущий финансовый период, то платформа переводит списание из предыдущего финансового периода в статусе Заблокировано в статус Удалено и возвращает на баланс клиента соответствующую сумму.
    2. Если весь предыдущий период подписка была остановлена, то платформа переводит соответствующее списание из статуса Открыто в статусе Удалено.
    3. Платформа создает списание на следующий финансовый период в статусе Открыто на сумму, необходимую для работы подписки в следующий финансовый период.
  2. Подписка продолжает оставаться в статусе Остановлена.

    Если при наступлении финансового дня подписка остановлена, то она остается остановленной, даже если на балансе присутствует необходимая сумма на следующий финансовый период. 

Заказ на увеличение количества ресурсов

  1. Клиент увеличивает количество ресурсов для подписки.
  2. Платформа создает следующие сущности:
    1.  Заказ на изменение ресурсов в статусе Ожидает оплаты.
    2. Привязанный к заказу платеж в статусе Ожидает оплаты на сумму, достаточную для работы докупаемого количества ресурса подписки со следующего дня после дня заказа до окончания текущего финансового периода.
    3. Одно списание для заказываемого количества ресурса подписки со следующего дня после дня заказа до окончания текущего финансового периода в статусе Новое.
  3. Клиент оплачивает платеж в день его создания.
  4. Платформа обрабатывает заказ и и преобразует списания за текущий финансовый период следующим образом:
    1. Переводит заблокированное списание в статус Удалено.
    2. Создает следующие списания:
      1. Одно списание в статусе Закрыто длительностью с начала текущего финансового периода до дня изменения ресурса (включительно) на количество ресурса, которые было до изменения.
      2. Если стоимость докупаемой единицы ресурса в рамках одного и того же ресурса равна стоимости существующей единицы ресурса, то создается одно списание:
        1. Списание в статусе Заблокировано длительностью со следующего дня после изменения ресурса до окончания текущего финансового периода на полное количество ресурса, которые существует после изменения.
      3. Если стоимость докупаемой единицы ресурса в рамках одного и того же ресурса не равна стоимости существующей единицы ресурса, то формируется два списания:
        1. Списание в статусе Заблокировано длительностью со следующего дня после изменения ресурса до окончания текущего финансового периода на количество ресурса, которые существовало до изменения.
        2. Списание в статусе Заблокировано длительностью со следующего дня после изменения ресурса до окончания текущего финансового периода на докупаемое количество ресурса.


Уменьшение количества дополнительного ресурса подписки

При уменьшении количества дополнительного ресурса подписки происходит стандартное разделение списаний, описанное в статье Разделение списаний при уменьшении количества ресурсов подписки с учетом следующих особенностей:

  1. День завершения заказа на изменение ресурсов включается в списание за период фактического использования дополнительного ресурса в текущем финансовом периоде, так как измененное количество будет доступно только со следующего дня.
  2. Списание за неиспользованный период потребления дополнительного ресурса в текущем финансовом периоде формируется только со следующего дня, после дня завершения заказа.

Остановка и активация подписки

Если по какой-либо причине в течение оплаченного финансового периода подписка была остановлена, платформа производит следующие действия по остановке:

  1. Переводит подписку в статус Остановлена.
  2. Преобразует списание за текущий финансовый период в статусе Заблокировано следующим образом:
    1. Переводит списание за текущий финансовый период из статуса Заблокировано в статус Удалено.
    2. Формирует списание в статусе Закрыто за период от предыдущего финансового дня до дня остановки подписки (включительно).
    3. Формирует списание в статусе Заблокировано за период от следующего дня после дня остановки подписки до следующего финансового дня.

      Если подписка останавливается ночным биллинг процессом, то день остановки не включается в закрывающееся списание.


При активации подписки платформа преобразует списание Заблокировано следующим образом:

  1. Создается списание в статусе Удалено на период со следующего дня после для остановки подписки до дня активации подписки (не включительно) и возвращает соответствующую сумму на баланс клиента.
  2. Списание Заблокировано не меняет статус, но для него изменяется период: со дня активации подписки (включительно) до окончания текущего финансового периода.

    Если подписка запускается в день остановки или на следующий день, то переформирование списаний не происходит.

Удаление подписки

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

  1. Переводит заблокированное списание в статус Удалено.
  2. Создает 2 новых списания:
    1. Списание в статусе Закрыто длительностью с начала текущего биллинг периода до дня удаления подписки (включительно)
    2. Списание в статусе Удалено длительностью со следующего дня после для остановки/удаления подписки до окончания текущего финансового периода и возвращает на баланс сумму этого списания.

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