Monthly Commitment (месячный интервал). Особенности формирования списаний

Для типа биллинга Monthly Commitment (месячный интервал) используется одинаковое формирование списаний как по модели Предоплата, так и Постоплата (кроме автоматической остановки подписки из-за неоплаченного заказа на пролонгацию). В этой статье описано поведение списаний для обеих моделей на примере модели Предоплата. Для модели Постоплата отличие только в том, что сумма списаний для подписки отражается в текущей задолженности, а не на балансе клиента (см. Особенности управления подписками по модели Постоплата). См. также Особенности списаний с учетом курсов валют.

Тип биллинга Monthly Commitment (месячный интервал) применяется для подписок с фиксированными ежемесячными платежами с привязкой к дате начала подписки (вместо финансовых дней) и обязательством использовать заказанное количество ресурсов в течение всего периода подписки. Этот тип биллинга во многом идентичен Monthly Commitment (см. Monthly Commitment. Особенности формирования списаний) с той разницей, что списания не разбиваются по финансовым периодам и поэтому имеют одинаковую длительность duration = 1 (в месяцах). Такое использование месячных интервалов вместо финансовых периодов соответствует правилам биллинга годовых подписок на услуги Microsoft с помесячной оплатой (P1Y:Monthly).

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

Общие правила

  • Дата Оплачена до (paid_to) подписок не привязана к финансовому дню, а зависит от даты начала подписки.
  • Списания генерируются только на текущий (новый) месяц.
  • Списания генерируются только типа Абонентская плата для ресурсов.
  • Все списания генерируются в статусе Новое. После завершения заказа на покупку и продление списания переходят в статус Заблокировано, для остальных типов заказов — сразу в статус Закрыто.
  • Запрещено уменьшение количества ресурсов при пролонгации подписки.
  • Отказ от подписки и возврат средств клиенту могут быть доступны только в течение ограниченного времени после покупки.

Для годовой подписки Microsoft NCE с помесячной оплатой (P1Y:Monthly) с укороченным периодом, купленной или продленной с выравниванием даты истечения:

  • Период первого списания сокращается (duration < 1) соответственно укороченному периоду подписки.
  • Параметр Оплачена до устанавливается относительно даты истечения, чтобы период списаний за второй и последующие месяцы остался равен 1 месяц (duration = 1) без разбивки по финансовым периодам.
  • Дата окончания заказа на покупку ограничивается выбранной датой истечения, если она наступает раньше, чем конец периода Отмена неоплаченного заказа через в правиле обслуживания.

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

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

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

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

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

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

    3. Одно списание для заказываемой подписки:

      • Статус: Новое.

      • Период: 1 месяц (duration = 1) без разбивки по финансовым периодам.

  2. Если клиент оплачивает платеж не в день его создания, списание пересоздается, чтобы сохранить период 1 месяц:
    • operate_from = дата завершения заказа.
    • operate to = дата завершения заказа + 1 месяц с учетом duration = 1.

      Для подписки на 1 год, активированной 31 декабря 2021 года:

      31 декабря 2021 – 30 января 2022
      31 января – 27 февраля
      28 февраля – 30 марта
      31 марта – 29 апреля
      30 апреля – 30 мая
      31 мая – 29 июня
      30 июня – 30 июля
      31 июля – 30 августа
      31 августа – 29 сентября
      30 сентября – 30 октября
      31 октября – 29 ноября
      30 ноября – 30 декабря

  3. Платформа обрабатывает завершенный заказ и переводит списание из статуса Новое в статус Заблокировано.
  4. Платформа устанавливает параметр Оплачена до = дата активации + 1 месяц с учетом duration = 1.
  5. Платформа закрывает заблокированное списание с учетом параметра Период удаления подписки для клиента (в сутках) в правиле предоставления и даты ближайшего финансового дня (см. Создание правила предоставления).

При заказе пробной подписки платформа устанавливает параметр Оплачена до равным дате истечения подписки и не создает списаний.

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

Для продления подписки на следующий месяц используется пролонгация (см. Пролонгация подписки):

  1. Заказ на пролонгацию создается автоматически до наступления даты Оплачена до (paid_to) за количество дней, указанное в параметре Точка автоматического продления (в днях) подписки.
  2. Вместе с заказом формируются платеж и одно списание без разбивки по финансовым периодам:
    • Статус: Новое.
    • Период: 1 месяц (duration = 1).
    • operate_from = текущее значение даты Оплачена до.
    • operate_to = текущее значение даты Оплачена до + 1 месяц с учетом duration = 1.

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

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

  3. Платформа обрабатывает завершенный заказ и переводит списание из статуса Новое в статус Закрыто.
  4. Для подписки устанавливается новая дата Оплачена до = предыдущее значение даты Оплачена до + 1 месяц с учетом duration = 1.

Ручная пролонгация подписки

Ручная пролонгация с активацией остановленной подписки

При пролонгации вручную после наступления даты Оплачена до:

  1. Создается заказ на пролонгацию и платеж в статусе Ожидает оплаты.
  2. Создаются списания в статусе Новое от даты Оплачена до, включая полный месяц, когда создан заказ.

После завершения заказа на пролонгацию:

  1. Списания переходят в статус Закрыто и не пересчитываются.
  2. Параметр Оплачена до устанавливается как максимальный operate_to списаний.
  3. Если подписка была остановлена, она переходит в статус Активная.

Ручная пролонгация с изменением количества ресурсов

При пролонгации вручную уменьшение количества ресурсов недоступно (см. Пролонгация подписки).

При пролонгации вручную с увеличением количества ресурсов (отложенный заказ на пролонгацию) списания за дополнительное количество ресурсов также создаются без разбивки по финансовым периодам:

  • Статус: Новое.
  • Период: 1 месяц (duration = 1).
  • operate_from = текущее значение даты Оплачена до.
  • operate_to = текущее значение даты Оплачена до + 1 месяц с учетом duration = 1.

После завершения отложенного заказа на пролонгацию с увеличением количества ресурсов после наступления даты Оплачена до пересчитывается только списание за дополнительное количество ресурсов.

Продление подписки со срочным периодом

Для продления подписок используется операция отложенного продления с возможностью увеличить или уменьшить количество ресурсов (см. Отложенное продление подписки).

Автоматическое продление подписки происходит следующим образом:

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

    • Период: 1 месяц (duration = 1) без разбивки по финансовым периодам.

    • operate_from = текущая дата истечения подписки.
    • operate_to = текущая дата истечения подписки + 1 месяц с учетом duration = 1.
  3. При продлении вручную с увеличением количества ресурсов (отложенное продление) списания за дополнительное количество ресурсов также создаются без разбивки по финансовым периодам.

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

  1. Платформа переводит списание из статуса Новое в статус Заблокировано.
  2. Для подписки устанавливается новая дата Оплачена до = предыдущее значение даты Оплачена до + 1 месяц с учетом duration = 1.
  3. Платформа закрывает заблокированное списание с учетом параметра Период удаления подписки для клиента (в сутках) в правиле предоставления и даты ближайшего финансового дня (см. Создание правила предоставления).
  4. Дата истечения подписки устанавливается как текущая дата истечения подписки + 1 год.

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

Автоматическая остановка подписки из-за неоплаченного заказа на пролонгацию

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

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

  1. Подписка останавливается.
  2. Заказ на пролонгацию остается в статусе Ожидает оплаты.
  3. Списание остается в статусе Новое.

После завершения заказа:

  1. Подписка активируется.
  2. Для подписки устанавливается новая дата Оплачена до = предыдущее значение даты Оплачена до + 1 месяц с учетом duration = 1.
  3. Списания переходит в статус Закрыто и не пересчитывается.

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

  1. Заказ на пролонгацию и платеж переходят в статус Отменен.
  2. Списание переходит из статуса Новое в статус Удалено.

Для активации такой подписки после отмены заказа на пролонгацию необходимо вручную создать новый заказ на пролонгацию. Оплачиваемый период по новому заказу отсчитывается с текущей даты Оплачена до (duration > 1).

Грейс-период для пролонгации

Если для подписки задан грейс-период (см. Создание правила предоставления) и клиент не оплатил заказ на пролонгацию и на балансе недостаточно средств для его автоматической оплаты, то при наступлении даты Оплачена до:

  1. Неоплаченная подписка продолжает работать, но переходит в статус Просрочена оплата.
  2. Заказ на пролонгацию и платеж остаются в статусе Ожидает оплаты.
  3. Списание остается в статусе Новое.

Если клиент не оплатил заказ на пролонгацию в течение грейс-периода:

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

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

  1. Подписка возвращается в статус Активная.
  2. Для подписки устанавливается новая дата Оплачена до = предыдущее значение даты Оплачена до + 1 месяц с учетом duration = 1.
  3. Списание за текущее количество ресурса не пересчитывается и переходит из статуса Новое в статус Закрыто.
  4. Для заказа на пролонгацию с увеличением количества ресурсов списание за дополнительное количество ресурсов пересчитывается и переходит из статуса Новое в статус Закрыто.

Остановка оплаченной подписки

В Панели управления Клиента остановка подписки вручную недоступна.

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

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

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

  1. Списания в статусе Заблокировано переводятся в статус Закрыто
  2. На баланс клиента ничего не возвращается.

Активация оплаченной подписки

При нажатии кнопки Активировать для остановленной вручную оплаченной подписки или при выходе клиента из финансовой блокировки:

  1. Подписка активируется без проверки баланса клиента.
  2. Разделения списаний и возврата средств за период, когда подписка оставалась остановленной, не происходит.

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

Если клиент увеличивает количество ресурсов для подписки:

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

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

Поведение списаний зависит от того, были закрыты списания по подписке или нет.

Если списания по подписке еще не закрыты (например, ограниченный период после покупки или продления):

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

Если списания по подписке уже закрыты:

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

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

Заказ на переключение

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

Отложенное переключение тарифного плана доступно, когда дата Оплачена до совпадает с датой истечения подписки. Вместе с переключением тарифного плана происходит продление подписки. Используется заказ на переключение с признаками Отложенный = Да и Дата предоставления = дата истечения подписки (см. Отложенный заказ на переключение в Переключение тарифного плана):

  1. При создании заказа на переключение создаются списания:
    • Статус: Новое.

    • Период: 1 месяц (duration = 1) без разбивки по финансовым периодам.

    • operate_from = текущая дата истечения подписки.
    • operate_to = текущая дата истечения подписки + 1 месяц с учетом duration = 1.
  2. Для заказа в статусе Ожидает предоставления:
    1. Списания остаются в статусе Новое.
    2. Сумма списаний блокируется на балансе клиента.
  3. После завершения заказа:
    1. Все созданные списания переходят в статус Закрыто.
    2. Изменяется дата истечения подписки.
    3. Для подписки устанавливается новая дата Оплачена до = предыдущее значение даты Оплачена до + 1 месяц с учетом duration = 1.

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

При удалении оплаченной подписки:

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