Периодические списания

Периодические списания - процесс списывания средств с баланса, который происходит автоматически с определенным периодом.
Эти списания идут в счет оказания услуг.
Типичные примеры периодических списаний: абонплата, плата за аренду оборудования, плата за использование DID номера, итп.

Периодические списания могут настраиваться для Компаний и Пользователей, далее по тексту именуемые Объекты списания.
Принцип действия одинаковый применительно к обоим Объектам списания.

Для каждого Объекта списания могут быть одновременно настроены несколько типов периодических списаний.

период - длительность периода и средство его измерения. Например, 30 дней, 1 месяц, 7 дней, итп
сумма - сумма списываемых средств в валюте списываемая каждый период
услуга - описание услуги, за которую производится списание

Списание происходит за период времени в течение которого Объект списания был активирован.
Объект списания считается активированным если у него:

  • установлена дата активации, которая уже истекла (дата активации не в будущем)
  • дата деактивации не установлена или еще не истекла (дата деактивации не в прошлом)

Для понимания параметра частично нужно углубиться в принцип работы периодических списаний.
Списания средств производит программа /usr/local/bin/smartswitch/write_off, которая запускается периодически.
Вы можете настроить произвольную периодичность запуска этой программы в Задачах.

При указании частично = нет, списание происходит по полному истечении периода списания, начиная с даты активации.
Таким образом, если:
  • Объект списания был активирован 10 сентября в 19:30
  • период списания 1 месяц
  • период вызова write_off - каждый час в 00 минут

то списание произойдет 10 октября в 20:00.
В случае если Объект списания был деактивирован 20 сентября, с него спишется 33% суммы периодического списания, поскольку считается, что деактивировнным Объектам списаний услуги не оказываются.

При указании частично = да, списание происходит каждый раз при запуске write_off, за периоды когда Объект списания был активирован.
Таким образом, если:
  • Объект списания был активирован 10 сентября в 19:30
  • период списания 1 месяц
  • период вызова write_off - каждый день в 19:00

то первое списание в размере 1/30 полной суммы списание произойдет 11 сентября в 19:00, второе списание в размере 1/30 полной суммы - 12 сентября в 19:00 итп.
Списания будут проведены ежедневно так, что через 1 месяц получится ровно указанная сумма за 1 месяц.

Таким образом, схема с частично = да более пригодна для вывода баланса Объекта списания в 0.
Но она более ресурсоемка из-за более частого вызова write_off.
При схеме с частично = нет более вероятен случай, когда Объект списания получит отрицательный баланс по истечении периода.
Поэтому на практике рекомендуем подобрать разумный баланс.

Результат работы периодический списаний можно увидеть в меню Списания на каждом из Объектов списания.
Списания, добавляемые автоматически, ничем не отличаются от списаний, добавленных вручную.

English translation

periodical_write_offs.jpg (14.5 KB) Andrii Arsirii, 09/13/2012 03:06 PM

Also available in: PDF HTML TXT