Posudamarket → SaaS: как продавать наш сайт-магазин другим сетям по подписке
SaaS — это когда вы не делаете каждому клиенту сайт с нуля, а сдаёте в аренду одну готовую программу: клиент платит каждый месяц, заходит в свою админку, у него свои товары, магазины, цвета и домен, а обновления получают все сразу.
Что уже есть и что можно продавать
Это не прототип: всё ниже работает каждый день в семи магазинах.
Витрина и заказы
- Каталог с категориями, поиском и остатками по магазинам
- Корзина, самовывоз и доставка, гостевой заказ без регистрации
- Вход покупателя по SMS, «Мои заказы», push
- Акции и скидки со сроком
Магазин и персонал
- Кабинет продавца: заказы, сборка, остатки, отчёт
- Сканер в зале: покупатель сканирует товар и кладёт в корзину
- Уведомления продавцу в Telegram и push
- Таймер самовывоза, контроль сроков (SLA)
Админка владельца
- Работает с телефона (как приложение)
- Конструктор витрины: цвета, тексты, порядок блоков, предпросмотр на iPhone
- Товары, категории, магазины, сотрудники, журнал действий
- Кабинет Kaspi: фото товаров
Связь с кассой Paloma
- Каталог, цены и остатки подтягиваются сами каждые 5 минут
- Группы товаров из Paloma → категории на сайте
- Фото с Kaspi → карточки в Paloma
Качество
- 600 автоматических проверок (тестов) проходят перед каждой выкладкой
- Слежение за ошибками (Sentry), журнал аудита
- Защита от перебора, проверка файлов, секреты вне кода
Опыт живой сети
- Реальные процессы: продавцы, склад, доставка, инкассация
- Это главный аргумент в продажах: «работает у нас — заработает у вас»
Что сейчас мешает продать это второй сети
1. Всё «про Posudamart» 58 файлов
Название, логотип, тексты, адреса, телефоны, ссылки зашиты в код. Второму клиенту пришлось бы переписывать руками — так SaaS не делается.
Нужно: всё, что отличается у клиентов, вынести в настройки клиента (бренд, контакты, домен, языки, валюта, способы доставки).
2. Одна база — одна сеть
В базе нет понятия «клиент» (арендатор): все товары, заказы и покупатели лежат в общей куче. Если посадить туда вторую сеть, она увидит чужие заказы.
Нужно: либо отдельная база на каждого клиента, либо метка клиента в каждой таблице и правила доступа. Подробно — в разделе 3.
3. Только Paloma 50 файлов
Каталог, цены и остатки берутся только из Paloma. У других сетей — 1С, МойСклад, Poster, Umag, iiko или вообще Excel.
Нужно: «переходник» (адаптер) — единый вход для товаров/остатков/цен, к которому подключаются разные кассы. Первым — Paloma и загрузка из Excel.
4. Нет самостоятельного подключения
Сейчас магазин поднимает программист: базы, ключи, домен, секреты. Клиент сам этого не сделает.
Нужно: мастер «Создать магазин» за 15 минут — название, логотип, магазины, касса, домен.
5. Нет оплаты подписки
Нет тарифов, счетов, пробного периода, блокировки при неоплате.
Нужно: тарифы, автосписание картой или счёт для ТОО, напоминания, «только чтение» после 7 дней долга.
6. Бесплатные тарифы облаков
27.09 посредник упёрся в бесплатный дневной лимит Cloudflare — «Перемещения» и крон стояли до полуночи. Для платящих клиентов такое недопустимо.
Нужно: платные тарифы (Cloudflare $5, Supabase Pro, Vercel Pro), мониторинг лимитов, страница статуса.
7. Безопасность учётной части
Finance, KPI и кабинет сотрудника работают на общем ключе браузера и ПИН-кодах — нормально для «своих восьми человек», но не для чужих компаний.
Поэтому продавать первым стоит только сайт-магазин (у него вход и права сделаны правильно), а Finance — позже, после переделки входа.
8. Один разработчик
Все знания о системе — в истории работы с Claude и в документах. Если что-то сломается у пяти клиентов сразу, чинить некому, кроме владельца.
Нужно: человек на поддержку, инструкции, дежурство, дублирование доступов.
Как хранить данные клиентов: три варианта
Это самое важное техническое решение. От него зависят цена, скорость запуска и безопасность.
А. Копия сайта на клиента
Под каждого клиента копируем код и правим.
- + быстро для первого
- − пять клиентов = пять разных программ, обновлять каждую руками
- − через год это невозможно поддерживать
Не делать.
Б. Один код — своя база у каждого ✓
Программа одна, обновляется у всех сразу. У каждого клиента своя база Supabase и своя выкладка на Vercel. Настройки клиента — в его базе.
- + данные клиентов физически разделены — чужие заказы не увидеть даже по ошибке
- + быстро получить из текущего кода (≈ 4–6 недель)
- + можно поставить базу клиента в Казахстане, если он потребует
- − на каждого клиента своя база ≈ 5–7 тыс. ₸ в месяц
- − нужна автоматика, чтобы создавать клиента одной кнопкой
Рекомендация на первые 10–30 клиентов.
В. Одна общая база с меткой клиента
Все клиенты в одной базе, у каждой строки — метка «чей это». Правила базы (RLS) не дают увидеть чужое.
- + дешевле всего на 100+ клиентов
- + одна база — одна миграция
- − ошибка в одном правиле = утечка данных всех клиентов
- − переделка почти всех таблиц и запросов (≈ 3 месяца)
Переход позже, когда клиентов станет много.
Код с первого дня пишем так, будто клиентов много (везде «текущий клиент», никаких «Posudamart» в коде) — тогда переход с Б на В потом — это перенос данных, а не переписывание программы.
Что делать по шагам
Каждая фаза заканчивается проверяемым результатом. Сроки — при одном разработчике с Claude и владельце, который отвечает на вопросы в тот же день.
Навести порядок в своём доме
2 неделиПрежде чем пускать чужих, у нас самих не должно быть «пожаров».
- Платные тарифы: Cloudflare Workers Paid ($5/мес — снимает дневной лимит, из-за которого 27.09 встали «Перемещения»), Supabase Pro для базы сайта, Vercel Pro.
- Закрыть найденные дыры в базе Finance/KPI: открытая функция смены пароля и старая таблица профилей с телефонами (SQL готов, ждёт «применяй»).
- Обновить зависимости сайта (Next.js и др. — 2 критичные и 10 серьёзных уязвимостей, у всех есть исправление).
- Включить в Supabase проверку утёкших паролей — одна галочка.
- Резервные копии: ежедневные копии базы сайта с проверкой восстановления раз в месяц.
- Тестовая копия (staging): отдельный адрес, куда выкладка идёт перед «боевой».
Сделать из сайта «коробку»
4–6 недельОдин и тот же код должен запускаться для Posudamart и для любой другой сети — отличаются только настройки.
- Настройки клиента (таблица tenant_settings): название, логотип, цвета (уже есть конструктор), контакты, соцсети, города, способы доставки, часы работы, языки (рус/каз), тексты оферты и политики.
- Убрать «Posudamart» из кода: все 58 мест → из настроек. Проверка в автотестах: слово «Posudamart» в коде запрещено.
- Адаптер кассы: единый интерфейс «товары / цены / остатки / чеки». Paloma становится одним из вариантов. Второй — загрузка из Excel/CSV (самый частый случай у маленьких сетей).
- Разделить роли: владелец платформы (мы) ≠ владелец магазина (клиент). Клиент управляет только своим.
- Свой домен клиента: shop.klient.kz → его витрина (через Vercel Domains API), SSL автоматически.
- SMS и Telegram-бот клиента: свой отправитель SMS, свой бот — ключи в настройках клиента, не в коде.
Подключение клиента одной кнопкой
3–4 неделиНовый клиент получает рабочий магазин за 15 минут, без программиста.
- Панель платформы (для нас): список клиентов, тариф, оплачен ли, сколько заказов, ошибки, кнопки «создать», «заморозить», «войти как клиент (с журналом)».
- Автоматическое создание: база клиента из шаблона (все миграции), выкладка, домен, ключи, первый администратор — скриптом, а не руками.
- Мастер для клиента: 1) название и логотип 2) магазины и адреса 3) касса: Paloma / Excel 4) доставка и оплата 5) домен 6) пригласить сотрудников.
- Обновления для всех: одна выкладка → миграции баз всех клиентов по очереди, с остановкой при первой ошибке.
- Демо-магазин с примерными товарами — показывать на встречах.
Оплата подписки
2–3 неделиДеньги приходят сами, должники мягко ограничиваются.
- Тарифы и лимиты: число магазинов, товаров, сотрудников, SMS в месяц.
- Приём оплаты: регулярное списание с карты через казахстанский эквайринг (например CloudPayments, Freedom Pay, Halyk ePay — выбрать по комиссии и поддержке подписок) + счёт на оплату для ТОО.
- Пробный период 14 дней, напоминания за 3 дня и в день списания.
- Долг: 7 дней — предупреждение в админке; потом витрина работает, а админка «только чтение»; через 30 дней — витрина закрыта (данные не удаляются 90 дней).
- Закрывающие документы: счёт, акт, счёт-фактура (для ТОО).
Первые 3 клиента (пилот)
6–8 недельПроверить, что за это платят, и найти, что мешает клиентам.
- Найти 3 знакомые сети (посуда, хозтовары, текстиль — похожие процессы), желательно уже на Paloma.
- Условия пилота: 2 месяца бесплатно или со скидкой 50%, взамен — отзыв, разрешение показать как пример, созвон раз в неделю.
- Подключение «за руку»: мы рядом, записываем каждый вопрос — это будущая инструкция и FAQ.
- Меряем: сколько заказов, сколько времени заняло подключение, что ломалось, что просили.
Продажи и рост
постоянно, с 5-го месяца- Сайт продукта: что умеет, цены, примеры магазинов, кнопка «Попробовать 14 дней».
- Партнёрство с Paloma: они продают кассы тем же магазинам — наш сайт как дополнение к их кассе, процент партнёру.
- Инструкции и видео по каждому разделу, база ответов, чат поддержки.
- Новые переходники касс по спросу клиентов: 1С, МойСклад, Umag, Poster.
- Kaspi: выгрузка товаров и заказов Kaspi-магазина — сильная причина купить в Казахстане.
«Идеальная» SaaS
9–12 месяцев- Общая база с меткой клиента (вариант В), когда клиентов больше 30 — дешевле и проще обновлять.
- Второй продукт: Finance (учёт, зарплаты, KPI, кабинет сотрудника) — после переделки входа на настоящие учётные записи и правил доступа по клиенту.
- Маркетплейс модулей: доставка, программа лояльности (наша клубная карта), сертификаты, книга жалоб — платные дополнения.
- Мобильное приложение для покупателей на базе текущей PWA.
- Гарантия работы 99,5% в месяц, страница статуса, дежурство.
Тарифы, расходы и когда выйдем в плюс
Все цифры — стартовые гипотезы для проверки на пилотах, не окончательные цены.
- 1 магазин
- до 3 000 товаров
- загрузка из Excel
- адрес на нашем домене
- до 5 магазинов
- до 20 000 товаров
- связь с Paloma
- свой домен, Telegram-бот, push
- без ограничений
- Kaspi, доставка, лояльность
- приоритетная поддержка
- доработки по договору
Плюс подключение 100–150 тыс. ₸ разово (настройка, перенос товаров, обучение). SMS — по себестоимости или пакетом.
| Расход в месяц (оценка) | Сумма |
|---|---|
| Облака, общие: Vercel Pro, Supabase Pro, Cloudflare, Sentry, почта | ≈ 40–60 тыс. ₸ |
| На каждого клиента (вариант Б): база Supabase + выкладка + домен | ≈ 5–10 тыс. ₸ |
| SMS покупателям (вход по коду) | по факту, ≈ 10–15 ₸ за SMS |
| Человек на поддержку и подключение (полставки → ставка) | ≈ 300–600 тыс. ₸ |
| Claude / инструменты разработки | ≈ 50–100 тыс. ₸ |
Что оформить до первого платящего клиента
Компания и договор
- ТОО или ИП для приёма платежей за подписку
- Публичная оферта SaaS: что даём, гарантия работы, ответственность, порядок оплаты и отключения
- Договор для ТОО-клиентов с актами
Персональные данные
- Телефоны и адреса покупателей — персональные данные. Закон РК «О персональных данных и их защите» требует хранить такие базы на территории Казахстана — сейчас база сайта в Европе. Уточнить с юристом до продаж: при варианте Б базу клиента можно разместить у казахстанского облачного провайдера.
- Мы — «обработчик» данных клиента: договор поручения на обработку ПДн
- Политика конфиденциальности и согласие покупателя (шаблон под каждого клиента)
Товарный знак и домен
- Название продукта (может быть не «Posudamarket») и домен .kz
- Проверить, что имя свободно, и подать заявку на знак
Чеки и налоги
- Фискальный чек покупателю пробивает касса клиента (Paloma и др.) — это на стороне клиента, не наше
- Наш доход — за подписку: налоги и счёт-фактуры по нашей форме налогообложения
Кто будет всё это держать
Роли
- Владелец продукта (AIZ): решения, продажи, партнёры
- Разработчик (Claude + человек, который понимает код и может проверить)
- Поддержка и подключение: отвечает клиентам, переносит товары, обучает
Поддержка
- Чат в Telegram/WhatsApp, ответ в рабочее время до 1 часа
- Срочное (витрина не открывается) — дежурство 24/7 для тарифов «Сеть» и «Про»
- База ответов, растущая из вопросов пилотов
Как выпускаем обновления
- Сначала тестовая копия, потом наша сеть (мы — первый клиент), потом все
- Автотесты обязательны, журнал изменений виден клиентам
- Раз в месяц — проверка восстановления из резервной копии
Что может пойти не так и как страхуемся
Утечка данных одного клиента другому.
Вариант Б (своя база на клиента) на старте; автотесты «клиент А не видит данных клиента Б»; внешний аудит безопасности перед переходом на вариант В.
Сбой облака = стоят все клиенты сразу.
Платные тарифы без жёстких лимитов, повтор запросов при коротких сбоях (уже добавлен на сайте 27.09), мониторинг и оповещение, страница статуса.
Клиентам нужна другая касса, не Paloma.
Excel-загрузка с первого дня; переходники по реальному спросу; партнёрство с Paloma, чтобы получать их клиентов.
Поддержка съедает всё время разработки.
Отдельный человек на поддержку с 3-го клиента; инструкции; мастер подключения вместо ручной настройки.
Требование хранить данные в Казахстане.
Решить с юристом до продаж; вариант Б позволяет вынести базу клиента к местному провайдеру.
Крупные конкуренты (Tilda, InSales, Shopify, Kaspi-магазин).
Наше отличие — связь с кассой и остатками по магазинам, сканер в зале, работа для офлайн-сети, а не «ещё один конструктор сайтов».
Как понять, что SaaS получилась
Деньги
- Ежемесячная выручка от подписок (MRR)
- Цель на 12 месяцев: 20+ клиентов, ≈ 1 млн ₸ в месяц
Клиенты
- Отток: не больше 3% клиентов в месяц
- Подключение: до 1 дня от оплаты до работающей витрины
- Первый заказ у клиента — в первую неделю
Качество
- Витрина доступна 99,5% времени
- Ноль случаев доступа к чужим данным
- Ответ поддержки до 1 часа
Что сделать в ближайшие 2 недели
Finance и KPI — позже, отдельным продуктом.
Снимает дневной лимит, из-за которого 27.09 встали «Перемещения». Это нужно и без SaaS.
SQL подготовлен, описан в отчёте от 27.09.
Вопросы: есть ли сайт, на какой кассе, сколько готовы платить в месяц, что главное. Это дешевле любой разработки и покажет, делать ли дальше.
План составлен 27.09.2026 по состоянию кода и базы Posudamarket. Цены и сроки — оценки для проверки на пилотах. ← Вернуться в «Цикл»