Разработка SaaS-платформы: из чего она состоит и сколько занимает
SaaS-платформа — это сервис, за который платят помесячно и в котором каждый клиент работает со своими данными. Такой проект состоит из шести слоёв: вход и роли, тарифы, оплата с автопродлением, сама рабочая часть, админка владельца и аналитика. У нас платформа стоит от 150 000 ₽ и занимает от 14 дней, но срок сильно зависит от объёма рабочей части — об этом честно ниже.
Разберём слои по очереди и объясним, почему платформа — это не «сайт, только побольше».
Слой 1. Регистрация, вход и роли
С этого начинается любой SaaS, и здесь же делают первые ошибки.
Нужно решить: кто регистрируется — человек или компания. Если компания, то у аккаунта появляются сотрудники, а у сотрудников — роли. Это разные структуры данных, и переделать одну в другую позже дорого.
Дальше идёт обычная, но обязательная обвязка: подтверждение почты или телефона, восстановление пароля, выход со всех устройств, блокировка аккаунта. Плюс изоляция данных: клиент А ни при каких условиях не должен увидеть данные клиента Б.
Про клиентскую часть входа подробнее — в разборе про личный кабинет на сайте.
Слой 2. Тарифы и лимиты
Тариф — это не строка «2 900 ₽ в месяц» на странице цен. Это набор ограничений, который система обязана проверять в момент действия.
Что обычно ограничивают:
- Количество пользователей в аккаунте.
- Количество объектов: проектов, товаров, заявок, ботов.
- Объём: файлы, сообщения, запросы к API.
- Доступ к функциям: отчёты, интеграции, экспорт.
Каждый лимит нужно уметь показать клиенту («использовано 8 из 10»), проверить перед действием и корректно повести себя при превышении: не сломаться, а предложить перейти на тариф выше.
Отдельно закладывается пробный период и то, что происходит после него. Данные не удаляются, но доступ к функциям сужается — это надо описать до разработки, а не после.
Слой 3. Оплата и автопродление
Разовая оплата и подписка — разные механизмы. Разовая: клиент нажал, деньги пришли, заказ оплачен. Подписка: карта привязывается один раз, а дальше система списывает сама каждый месяц.
Что должно быть в этом слое:
- привязка карты и хранение платёжного токена на стороне банка, а не у вас;
- расписание списаний и повтор попытки, если денег на карте не хватило;
- письма и уведомления: перед списанием, после успешного, после неудачного;
- отмена подписки клиентом без письма в поддержку;
- смена тарифа в середине месяца и перерасчёт;
- чеки по 54-ФЗ, если продаёте физлицам.
Общая механика приёма денег на сайте разобрана в статьях про интеграцию оплаты и про онлайн-кассу и 54-ФЗ.
Плохо: «Подключим приём платежей, дальше разберёмся». Хорошо: «Опишем сценарии: неуспешное списание, смена тарифа, отмена, возврат — и запрограммируем каждый».
Слой 4. Рабочая часть
Это то, ради чего клиент платит. Все остальные слои — обвязка, а здесь живёт смысл сервиса.
Именно рабочая часть определяет цену и срок. Сравните два гипотетических примера:
- Пример 1. Сервис, где клиент ведёт таблицу заявок, назначает ответственных и видит статусы. Данные простые, логика понятная, внешних систем почти нет.
- Пример 2. Сервис, который сам подключается к чужому API, забирает оттуда сообщения, обрабатывает их и отдаёт ответы. Здесь появляются фоновые задачи, очереди, повторные попытки, ограничения чужой стороны и обработка сбоев.
Обвязка в обоих случаях почти одинаковая. Рабочая часть отличается в разы — и срок вместе с ней.
Пример из наших работ: Papa BU — сервис ответов в чатах Авито. Логика ответов и работа с чужой площадкой — это и есть рабочая часть, всё остальное вокруг неё.
Слой 5. Админка владельца
У SaaS есть второй интерфейс, который клиенты никогда не видят, — панель владельца сервиса.
В ней нужно: видеть список аккаунтов, открывать любой из них для разбора проблемы, вручную продлевать и менять тариф, выдавать бонусные дни, блокировать неплательщиков, смотреть платежи и возвраты, отвечать на обращения.
Без этой панели поддержка превращается в письма разработчику по каждому чиху. Что должно быть в такой панели вообще — в разборе про админ-панель для сайта, а про разграничение доступа — в статье про права сотрудников в админке.
Слой 6. Аналитика подписки
Обычному сайту хватает вопроса «сколько заявок». Платформе нужны другие ответы:
- сколько активных платящих аккаунтов сейчас;
- сколько зарегистрировались и не дошли до оплаты;
- сколько отменили подписку в этом месяце и на каком шаге;
- сколько списаний не прошло и сколько удалось повторить;
- какими функциями пользуются, а какими нет.
Последний пункт важнее, чем кажется: он показывает, за что клиенты на самом деле платят, и подсказывает, что развивать дальше.
Почему платформа — не «сайт побольше»
Разница не в количестве страниц, а в четырёх вещах.
Данные принадлежат клиенту. На сайте контент один для всех. В платформе у каждого аккаунта свои данные, и их нельзя перепутать ни при какой ошибке.
Есть состояние. Сайт показывает одно и то же. Платформа помнит, что клиент сделал вчера, сколько у него осталось по лимиту и до какого числа оплачено.
Деньги идут сами. Разовая оплата — событие. Подписка — процесс, который работает без вас каждый день, включая выходные и дни, когда у клиента кончились деньги на карте.
Сдача — не конец. У сайта после запуска меняется контент. У платформы после запуска появляются клиенты со своими сценариями, и сервис живёт дальше: обновления, поддержка, новые тарифы.
Разница между сайтом и приложением в целом разобрана в статье про разработку веб-приложения.
Сколько это занимает
Наши цифры: от 150 000 ₽ и от 14 дней.
Слово «от» здесь не маркетинговое. Обвязка — вход, роли, тарифы, оплата, базовая админка — предсказуема по объёму. Рабочая часть непредсказуема, пока не описана. Поэтому мы сначала разбираем сценарии и только потом называем срок.
Что удлиняет срок чаще всего:
- Интеграции с чужими системами, где вы зависите от доступов и лимитов.
- Сложные роли и права, где у каждой роли своё видение данных.
- Импорт данных из старого сервиса.
- Требования по документам и отчётности.
Что срок сокращает: запуск с одним тарифом и одним сценарием, а расширение — после первых платящих клиентов.
Коротко
- SaaS состоит из шести слоёв: вход и роли, тарифы и лимиты, оплата с автопродлением, рабочая часть, админка владельца, аналитика.
- Обвязка почти одинаковая во всех проектах, цену и срок определяет рабочая часть.
- Подписка — это процесс, а не кнопка: неуспешные списания, смена тарифа и отмена нужно продумать заранее.
- Панель владельца обязательна, иначе поддержка идёт через разработчика.
- Наши цифры: от 150 000 ₽, от 14 дней; точный срок называем после разбора рабочей части.
Расскажите, что ваш сервис должен делать для клиента, — мы разложим это по слоям и назовём срок с ценой.
Первый разговор — разбор задачи: нужна ли вам система или хватит одной страницы. Без обязательств и без счёта.
Частые вопросы
Сколько стоит разработка SaaS-платформы?
У нас платформа стоит от 150 000 ₽ и занимает от 14 дней. Вилка широкая, потому что цена почти целиком определяется рабочей частью — тем, что сервис делает для клиента. Обвязка (регистрация, тарифы, оплата, админка) устроена похоже почти в любом проекте.
Почему нельзя назвать точный срок сразу?
Потому что срок зависит от объёма рабочей части и от внешних систем. Личный кабинет с подпиской и парой отчётов делается быстро. Сервис, который сам ходит в чужие API, обрабатывает файлы или считает что-то тяжёлое, занимает больше — и часть времени уходит не на код, а на согласования доступов.
Можно ли запустить SaaS без оплаты внутри и добавить её потом?
Можно, и часто это разумно: сначала проверить, что сервисом пользуются, потом включить деньги. Но закладывать тарифы и лимиты в структуру данных лучше сразу, иначе позже придётся переписывать доступы по всему проекту.
Те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.
Ещё по теме
Чек-лист владельца сайта по обработке персональных данных — что разместить, что настроить, что проверить перед запуском.
тем, кто заказывает ToYou Wood: сайт мебели на заказ с расчётом сметы по размерамИстория проекта: сайт считает смету по размерам, принимает оплату с чеком и печатает этикетку — что мы делали и что переделывали.
тем, кто заказывает WordPress с двадцатью плагинами — это долг, а не экономияПочему набор дополнений выглядит как бесплатная функциональность, а ведёт себя как кредит с растущей ставкой.
тем, кто заказывает