Monthly Calendar Commitment. Особенности формирования списаний

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

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

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

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

  • Дата Оплачена до (paid_to) подписок не привязана к финансовому дню, а зависит от даты начала подписки.

  • Списания генерируются только на текущий (новый) месяц.

  • Списания генерируются только типа Абонентская плата для ресурсов.

  • Все списания генерируются в статусе Новое. После завершения заказа на покупку и продление списания переходят в статус Заблокировано, для остальных типов заказов — сразу в статус Закрыто.

  • Запрещено уменьшение количества ресурсов при пролонгации подписки.

  • Отказ от подписки и возврат средств клиенту могут быть доступны только в течение ограниченного времени после покупки.

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

  • Период первого списания сокращается (duration < 1) соответственно укороченному периоду подписки.

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

  • Дата окончания заказа на покупку ограничивается выбранной датой истечения, если она наступает раньше, чем конец периода Отмена неоплаченного заказа через в правиле обслуживания.

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

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

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

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

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

  1. Платформа создает следующие сущности:

    1.  Заказ на покупку в статусе Ожидает оплаты.

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

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

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

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

  2. Если клиент оплачивает платеж не в день его создания, списание пересоздается, чтобы сохранить период 1 месяц:

    • operate_from = дата завершения заказа.

    • operate to = дата завершения заказа + 1 месяц с учетом duration = 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. Платформа закрывает заблокированное списание с учетом параметра Период удаления подписки для клиента (в сутках) в правиле предоставления и даты ближайшего финансового дня (см. Создание правила предоставления).

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

image2022-7-6_11-29-14.png

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

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

  1. Заказ на пролонгацию создается автоматически до наступления даты Оплачена до (paid_to) за количество дней, указанное в параметре Точка автоматического продления (в днях) подписки.

  2. Вместе с заказом формируются платеж и одно списание без разбивки по финансовым периодам:

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

    • Период: 1 месяц (duration = 1).

    • operate_from = текущее значение даты Оплачена до.

    • operate_to = текущее значение даты Оплачена до + 1 месяц с учетом duration = 1.

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

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

  3. Платформа обрабатывает завершенный заказ и переводит списание из статуса Новое в статус Закрыто.

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

image2022-7-7_9-17-25.png

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

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

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

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

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

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

  1. Списания переходят в статус Закрыто и не пересчитываются.

  2. Параметр Оплачена до устанавливается как максимальный operate_to списаний.

  3. Если подписка была остановлена, она переходит в статус Активная.

image2022-7-6_11-29-55.png

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

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

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

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

  • Период: 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. Для следующего заказа на продление платформа создает одно списание на актуальное количество ресурсов.

image2022-7-6_11-30-22.png

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

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

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

  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.

image2022-7-6_11-30-34.png

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

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

  • Списание за текущий месяц в статусе Заблокировано разделяется:

    1. Списание в статусе Закрыто — за отработанную часть до дня удаления (не включая). Если подписка удалена в первый день, то для клиента она бесплатна.

    2. Списание в статусе Удалено — за оставшуюся часть со дня удаления (включительно).

  • Списание за текущий месяц в статусе Закрыто не разделяется.