Состояние оплаты абонента определяется на основе присутствия у него тарифного плана, если тариф есть - то значит всё оплачено (абонент его купил) и может пользоваться услугами. Тарифный план имеет срок действия и стоимость. Его можно купить как билет :) Тарифный план, у которого есть дата начала является активным Свою логику расчёта по тарифу можно добавить в файле tariff_app/custom_tariffs.py Там надо добавить класс, наследованный от TariffBase и реализовать его абстрактные методы, потом добавить этот класс в кортеж TARIFF_CHOICES указав: код из 2х букв, сочетание должно быть уникальным и ваш класс для своей логики расчёта тарифа ВАЖНО! Для отработки своевременного выключения услуги, время на сервере биллинга и шлюза должно быть настроено точно. Таблицу кеша статистики лучше сделать в памяти т.к. будет часто обновляться ALTER TABLE flowcache ENGINE=MEMORY;