Супер-приложение Posudamarket: одно приложение для покупателей, сотрудников, бухгалтера и главного — поверх одной Paloma
Открываешь — сразу магазин. Нажимаешь «Вход», вводишь телефон — приложение само понимает, кто ты: покупатель, продавец, бухгалтер или главный, и открывает твои вкладки. Вся работа — товары, склад, касса, банк, расходы, сотрудники, посещаемость, зарплаты — живёт в Paloma. Приложение делает её красивой и понятной в стиле POSUDAMARKET GAME. Кто что может — решает отдельная админка: любую функцию любому человеку, с вопросом «точно даёте?», если доступ шире его магазина. Потом — то же самое в App Store и Google Play.
Что уже есть и что из этого берём
Пройдены все рабочие проекты сети и сама Paloma (панель, справочники, документы, отчёты — только чтение). ERP и проекты, не связанные с сетью, не берём.
| Проект | Что делает сейчас | В супер-приложении |
|---|---|---|
| Posudamarket витрина + админка | Витрина, корзина, заказы, кабинет продавца и менеджера, админка на 48 страниц, игра. 4 разных входа (Firebase, продавец, менеджер, админ) | Витрина, заказы, игра, работа с товарами. Входы — один, по телефону |
| Finance | Главный (28 разделов), бухгалтер, кабинет сотрудника (смена, график, бонусы, цены сканером, задания, обучение), жалобы, возвраты. Вход по ПИН | Кабинеты сотрудника, бухгалтера и главного. Деньги — в Paloma, а не в своей таблице (в Finance за всё время 7 расходов и 0 переводов) |
| KPI | Вечерний отчёт магазина (1 338 отчётов), сверка с Paloma, проверяющий, инкассатор. ПИН = пароль | «Закрыть смену»: продажи подтягиваются из Paloma, расходы смены пишутся в кассу магазина в Paloma |
| Перемещения | Приёмка накладных, распределение поступлений, автонаценка, ценники, мостик в Almas010 | Всё, кроме мостика — после слияния баз он не нужен |
| Ревизор | Инвентаризация сканом прямо в документ Paloma | Вкладка «Ревизия» у продавца, склада и контролёра |
| Посредник | Единственный вход в Paloma для всех приложений (7 700 строк, 80 ручек), ПИН-пропуска | Становится «Paloma-шлюзом»: один вход по роли, очередь записей без дублей |
| Сертификаты, Клубная карта | Выпуск сертификатов в Askar010; карта на Neon со скидкой 10 % | Сертификаты и карта — прямо в Paloma (там уже есть скидка «Клубная карта 10%» и штрихкод карты у клиента) |
| Absolute, кабинет инвестора | Копия Finance и KPI для Бухар Жырау и Улы Дала; кабинет с цифрами, внесёнными вручную | Роль «Инвестор»: живые цифры своих магазинов из общей Paloma |
| Аналитика Kaspi | Прибыль по товарам Kaspi, что выставить, остатки и риски | Раздел «Kaspi» у главного |
| Лендинг, Опт B2B | posudamarket.kz; оптовый сайт на Vue+Laravel | Лендинг → главная витрины. Опт — позже, через «тип цен» Paloma |
Что умеет Paloma и что из этого настроено
Проверено вживую в базе Saken010 09.10.2026. «Есть, не настроено» — функция в Paloma есть, но работает плохо или не включена. Это и есть главная работа: настроить и показать красиво.
Товары и склад
13 852 карточки, штрихкоды, фото, типы цен. Поступления, перемещения, инвентаризация, списание, возвраты, пересортица, заявки на склад, критические остатки, наценка, печать ценников.
Продажи и чеки
262 258 чеков с продавцом, клиентом и видом оплаты. Продажи сами падают в кассу или на счёт по таблице «Виды оплаты по рабочим местам».
Касса и банк
Поступление, расход и перемещение по кассам; то же по счетам; касса ↔ счёт; импорт банковской выписки. Сейчас 5 касс на 10 магазинов, наличные всех магазинов падают в одну «Касса1», за всё время 2 расхода из кассы.
Статьи и прибыль
Статьи доходов и расходов уже разложены по группам «1 ДОХОДЫ … 7 EBITDA». Отчёты «Доходы и расходы», «Прибыльность», «Финансовый суммарный», «Движение денег». Остатки искажены «выравниванием» на 215 млн.
Сотрудники и время
33 сотрудника с телефонами и должностями. Учёт рабочего времени: отметки «приход/уход» (2 121 шт., велись до 17.02.2025 на 5 точках), «кто на работе», графики (0), табель.
Зарплата
Отчёт «Зарплата (УРВ)»: ставка × отработанное (ставки не заведены). «Отчёт по сотрудникам»: процент с продаж. Выплата — расход из кассы со статьёй «Зарплата/Аванс/Бонусы» и сотрудником.
Клиенты и лояльность
26 491 клиент: телефон, штрихкод карты, день рождения. Скидка «Клубная карта 10%», накопительные скидки, депозиты, подарки и уровни подарков, сертификаты (13 видов).
Заказы и доставка
«Заявки на доставку»: точка, адрес, клиент, сумма, статус, сотрудник и поле «номер внешнего заказа» — для нашего сайта. Статусы — как у заказов Kaspi: Paloma умеет принимать Kaspi-заказы.
Поставщики
Контрагенты-поставщики, акт сверки, сальдо (кто кому должен), возврат поставщику, анализ закупок.
Отчёты и контроль
Больше 35 отчётов: ABC, продажи по часам и сотрудникам, сводка по точкам, остатки, движение товаров, итоги ревизий. Журнал действий и «подозрительные действия».
Только у нас
Вход по телефону и роли приложения, план магазина и KPI-бонус по плану, штрафы, задания, обучение и тесты, проверка накладных с фото, фото чеков расходов и согласование, жалобы, игра, пуши, избранное.
Что уточнить у Paloma
Как заказ с сайта появляется на кассе; можно ли писать отметки «приход/уход» из приложения; лимиты запросов; уведомление о новом чеке; слияние трёх баз.
Как человек входит, и кто решает, что ему можно
Супер-приложение (posudamarket.kz, iPhone, Android)
Админка — отдельный вход (admin.posudamarket.kz)
Ни одной ссылки из супер-приложения. Вход: телефон + SMS + код из приложения-аутентификатора. Пускает только номера админов.
- Люди: телефон → кто это (ФИО), к чему привязан (магазин, склад, вся сеть), роль как набор по умолчанию и любые функции галочками — хоть главному «Создать магазин», хоть продавцу «Распределение»
- Функции: каталог из 8 групп (ниже), у каждой — понятное название, что она делает в Paloma и охват
- Магазины: точка, склад, касса и счета Paloma, план, часы, зона для отметки смены
- Paloma: подключение, очередь записей, ошибки, повтор
- Витрина, игра, уведомления, журнал входов и действий
Область доступа — как админка решает, где функция действует
Функции: понятные названия, 8 групп, у каждой свой охват
Это то, что админ видит галочками у человека. Охват: я — только про себя, магазин — свой магазин, склад — центральный склад, сеть — все магазины. ⚠ — важная функция: при выдаче всегда окно «Точно даёте?» и запись в журнал.
| Функция | Что делает | Охват |
|---|---|---|
| Магазин: смена | ||
| Открыть / закрыть смену | «Пришёл» с геометкой у магазина → отметка в учёт времени Paloma; вечером отчёт дня: продажи по видам оплаты из Paloma, наличные в кассе, расходы смены | магазин |
| Расход из кассы магазина | Вода, обед, хозтовары… → расход из кассы магазина в Paloma со статьёй и фото чека; выше лимита — на согласование | магазин |
| Заказы магазина | Заказы сайта, Kaspi и из зала: собрать → готов → выдать по коду | магазин |
| Сканер | Штрихкод → цена, остатки по магазинам, фото (добавить в Paloma), ценник | магазин |
| Приёмка накладных | Принять «в доставке»: принял всё / N / брак с фото / лишнее; документ проводится в Paloma на принятое | магазин |
| Ревизия в магазине | Инвентаризация сканом в документ Paloma, с двух телефонов | магазин |
| Возврат от покупателя | Возврат в Paloma, причина, фото | магазин |
| Подарки и сертификаты | Выдать подарок игры по коду, выпустить и погасить сертификат | магазин |
| Мои задания · обучение · график | Задания с фото-отчётом; курсы и тесты; мой график, отпросы, замены; мой KPI и зарплата | я |
| Магазин: управление | ||
| Управлять магазином | Кто на смене, план и факт, подтвердить отчёты смен, что заканчивается | магазин |
| График сотрудников | Составлять график магазина, согласовывать отпросы и замены | магазин |
| Заявка на склад | Из «что заканчивается» → заявка на склад в Paloma | магазин |
| Выдавать задания | Сотруднику, магазину или всем, с дедлайном | магазин |
| Склад | ||
| Поступления | Видеть поступления Paloma, проверять по накладной поставщика | склад |
| Распределение поступлений ⚠ | Разложить по магазинам (расчёт по продажам), наценка, «Создать перемещения» → документы «в доставке» в Paloma | склад |
| В доставке | Что едет, что принято, «ждёт решения»: брак → списать / вернуть поставщику, другой магазин, осталось, не нашли | склад |
| Наценка | Правила наценки по группам, применить к поступлению | склад |
| Списание и возврат поставщику ⚠ | Списание или возврат поставщику в Paloma с причиной и фото | склад |
| Ревизия склада | Инвентаризация склада | склад |
| Заявки магазинов | Принять в работу, включить в распределение, отклонить с причиной | склад |
| Деньги | ||
| Касса ⚠ | Приход, расход, перемещение между кассами — документы Paloma | сеть |
| Банк ⚠ | Приход, расход, перевод между счетами, загрузка выписки | сеть |
| Касса ↔ счёт ⚠ | Внесение в банк и снятие | сеть |
| Согласовать расходы ⚠ | Расходы выше лимита, списания «не нашли» | сеть |
| Поставщики ⚠ | Долги, оплаты, акт сверки из Paloma | сеть |
| Постоянные расходы | Аренда, коммунальные, связь — напоминания и готовый черновик расхода | сеть |
| Инкассация ⚠ | Маршрут по магазинам, «Забрал N ₸» → перемещение между кассами, «Сдал в банк» | сеть |
| Отчёты по деньгам | Остатки касс и счетов, движение денег, доходы и расходы, прибыль — просмотр | сеть |
| Люди | ||
| Сотрудники и посещаемость | Список, кто на работе, табель из Paloma — просмотр | сеть |
| Зарплата ⚠ | Расчёт (ставка, дни, % с продаж, KPI, штрафы) и «Выплатить» → расход из кассы на сотрудника | сеть |
| KPI, бонусы и штрафы ⚠ | Планы магазинов, ступени бонусов, штрафы | сеть |
| Обучение: создавать | Курсы, блоки, тесты, кому назначены | сеть |
| Графики всех магазинов | Графики и замены по всей сети | сеть |
| Клиенты и заказы | ||
| Все заказы | Заказы сайта и Kaspi по всей сети, переназначить магазин | сеть |
| Клиенты и клубная карта | Клиенты Paloma, карты, история покупок, скидки | сеть |
| Игра | Раунды, товары, призы, розыгрыши, проверка чеков | сеть |
| Жалобы и возвраты | Обращения покупателей, ответы, статусы | сеть |
| Витрина | Баннеры, акции, подборки, зоны и цены доставки | сеть |
| Товары и цены | ||
| Карточки товаров | Фото, названия, штрихкоды — в Paloma | сеть |
| Цены ⚠ | Типы цен, изменение цен в Paloma, анализ закуп/продажа | сеть |
| Аналитика товаров | ABC, что заканчивается, что не продаётся, Kaspi | сеть |
| Контроль | ||
| Проверка отчётов смен | Отчёт рядом с цифрами Paloma: утвердить или вернуть | сеть |
| Расхождения и ревизии | Расхождения с Paloma, все ревизии, итоги | сеть |
| Все накладные | Всё «в доставке» по сети, просрочки, расхождения | сеть |
| Журнал действий | Кто что сделал, в том числе кому расширили доступ | сеть |
| Сеть | ||
| Создать магазин ⚠ | Одной формой в Paloma: точка продаж, склад, касса, рабочее место с видами оплаты, точка учёта времени; у нас: план, часы, геозона | сеть |
| Настройки магазина ⚠ | План, часы, геозона, кассы и счета, закрыть магазин | сеть |
| Пульс сети | Главный экран: выручка вживую, план, деньги, тревоги | сеть |
| Кабинет инвестора | Только просмотр по выбранным магазинам | сеть |
| Настройки сети ⚠ | Лимиты согласования, зоны доставки, SMS, уведомления | сеть |
Роли по умолчанию: Покупатель (ничего), Продавец (магазин: смена), Заведующий (+ управление), Склад, Курьер, Инкассатор, Контролёр, Бухгалтер (деньги + зарплата), Главный (всё, кроме админки), Инвестор. Админка — отдельно: люди и функции, Paloma, журнал.
Что видит каждая роль
Внизу экрана — до 5 вкладок (первая — главная для роли), остальное — в «Ещё». Роль — набор функций по умолчанию; вкладки собираются из тех функций, что включены человеку. Главному включили «Распределение» — у него появится эта вкладка.
КПокупательбез входа и после входа по SMS
- Главная: поиск и скан штрихкода, акции, категории, хиты, магазины рядом
- Каталог и товар: фото, цена, наличие в каждом магазине (из Paloma), похожие, «сообщить, когда появится»
- Корзина → оформление (после входа): самовывоз (магазин, где всё есть, отложим на 24 ч) или доставка (адрес на карте, время; оплата при получении или счётом Kaspi на телефон — его оплачивают в Kaspi.kz за 24 часа)
- Мои заказы: принят → собирается → готов / в пути → выдан, пуш на каждый шаг
- Клубная карта: штрихкод для кассы, скидка, история покупок, сертификаты
- Игра: POSUDAMARKET GAME целиком
- Профиль: адреса, язык RU/KZ, уведомления, жалоба или возврат, выход
ППродавецсотрудник магазина
- Смена: «Пришёл» с геометкой у магазина, без селфи (отметка уходит в учёт времени Paloma) → в течение дня план и факт магазина из Paloma, мой бонус → «Закрыть смену»: продажи по видам оплаты подтягиваются сами, вписать наличные в кассе, расходы смены со статьёй и фото чека
- Заказы: заказы сайта и Kaspi для этого магазина: собрать → готов → выдать по коду клиента; заказы из зала по QR
- Сканер: штрихкод → цена, остатки во всех магазинах, фото (добавить в Paloma), ценник, «нет на витрине»
- Задания: от главного и заведующего, с фото-отчётом
- Ещё: приёмка накладных «в доставке» (принял / брак с фото / лишнее), ревизия, мой KPI и зарплата, график и отпросы, обучение и тесты, подарок игры по коду, сертификат, возврат от покупателя
ЗЗаведующий магазиномпродавец + управление магазином
- Магазин: кто на работе (учёт времени Paloma), план и факт дня, отчёты смен на подтверждение, что заканчивается → заявка на склад одной кнопкой, задания магазину, график сотрудников
ССкладзаведующий складом и кладовщики
- Поступления из Paloma → распределение по магазинам с автонаценкой → перемещения «в доставке» одной кнопкой; «В доставке»: едет · ждёт решения (брак → списать или вернуть поставщику, другой магазин, осталось, не нашли) · закрытые; заявки магазинов; ревизия склада; ценники. Вкладки «Входящие» больше нет
ДКурьер
- Заявки на доставку на сегодня, маршрут, звонок клиенту, «Доставлено», приём оплаты. Статус уходит в заявку Paloma и пушем клиенту
ИИнкассатор
- Сколько забрать в каждом магазине (касса магазина в Paloma), «Забрал N ₸» → перемещение «касса магазина → касса инкассатора»; правка суммы только с причиной; «Сдал в банк» → «касса → счёт»
ККонтролёрпроверка отчётов и ревизии
- Отчёты смен на проверке рядом с цифрами Paloma, «вернуть» или «утвердить»; расхождения; ревизии по магазинам; всё «в доставке» по сети и просрочки
ББухгалтер
- Сегодня: кому платить (просрочено и ближайшие 3 дня), остатки касс и счетов, операции на согласовании
- Платежи: «Расход», «Приход», «Перевод между кассами», «Между счетами», «Касса ↔ счёт» — каждый создаёт свой документ Paloma; статья, поставщик, фото
- Кассы и счета: остатки и движение по каждой кассе и каждому счёту; загрузка банковской выписки
- Зарплата: ставка и дни из учёта времени + % с продаж + KPI-бонус − штрафы → «Выплатить» = расход из кассы на сотрудника
- Ещё: поставщики (долги, акт сверки), постоянные расходы с напоминаниями, отчёты (доходы и расходы, прибыль)
ГГлавныйвладелец
- Пульс: выручка сегодня по магазинам вживую, план, средний чек, заказы сайта и Kaspi, деньги в кассах и на счетах, тревоги (расхождения, просрочки, жалобы, нет товара), «Одобрить» крупные расходы
- Деньги: всё, что у бухгалтера + прибыль по группам статей до EBITDA
- Магазины: карточка магазина (выручка, план, кто на смене, отчёты, остатки, накладные, ревизии), сравнение магазинов
- Люди: сотрудники, посещаемость, KPI, бонусы и штрафы, зарплаты, обучение, задания
- Ещё: товары (ABC, что заканчивается, поступления, наценка), клиенты (заказы, карта, игра, розыгрыши, жалобы, возвраты), Kaspi, контроль и журнал, инвестор, отчёты
₸Инвестор
- Только свои магазины (Бухар Жырау 27, Улы Дала 58/1): выручка, прибыль, остатки, выплаты. Только просмотр
Каждая функция ↔ Paloma
Правило: если в Paloma есть место для этих данных — пишем туда. У себя храним только то, чего в Paloma нет, и ссылку на документ Paloma.
| Функция в приложении | Что в Paloma | Что у нас |
|---|---|---|
| Каталог, поиск, карточка | Товары, штрихкоды, фото, типы цен s_items · s_shtrih · s_pictures | Копия для быстрого поиска, обновляется каждые 10 мин |
| Наличие по магазинам | Остатки на складах remainscompact | Копия на 5 мин |
| Заказ с сайта | Заявка на доставку с номером нашего заказа, клиентом, адресом, статусом df_request; на кассе пробивается обычный чек | Статусы для покупателя, пуши |
| Заказы Kaspi | Уже приходят в «Заявки на доставку» со статусами Kaspi | Показываем в общем списке заказов магазина |
| Покупатель, клубная карта | Клиент: телефон, штрихкод карты, день рождения; скидка «Клубная карта 10%» s_clients · s_discount | Связь «вход по телефону ↔ клиент Paloma», адреса, избранное |
| История покупок, бонусы | Чеки клиента, депозиты, подарки и уровни d_order · d_balance · s_gifts | — |
| Сертификаты | Сертификаты и номиналы s_certificates | — |
| Кто сотрудник | Сотрудники: телефон, должность s_employee | Роль в приложении, функции галочками |
| «Пришёл» / «Ушёл» | Отметки учёта времени, «кто на работе», табель d_urv_transactions | Геометка и время — доказательство, что отметка из магазина |
| График работы | Графики и дни urv_graphic · urv_timetable | Замены и отпросы (согласование) |
| Зарплата | «Зарплата (УРВ)», «Отчёт по сотрудникам» (% с продаж), выплата — расход из кассы на сотрудника | План магазина, KPI-бонус, штрафы → одна сумма к выплате |
| Закрыть смену | Продажи по видам оплаты, касса магазина, расходы смены d_cash_outcome | Проверка контролёром, фото чеков, расхождения |
| Расход магазина (вода, обед…) | Расход из кассы магазина, статья из справочника d_cash_outcome · s_type_inout | Фото чека, кто внёс, согласование выше лимита |
| Инкассация | Перемещение между кассами, касса → счёт d_cash_movement · d_cash_bank_outcome | Маршрут, причина правки суммы |
| Банк | Поступление, расход, перевод по счетам; импорт выписки d_bank_* | — |
| Платёж поставщику | Расход со счёта или из кассы на поставщика; акт сверки и сальдо — отчёты Paloma | Календарь «кому платить» |
| Постоянные расходы | Расход со статьёй «Аренда», «Коммунальные»… | Напоминание в срок и готовый черновик |
| Деньги и прибыль | Кассовая ведомость, движение денег, «Доходы и расходы», «Прибыльность» cash_remains · financial_summary | Красивые графики |
| Поступление и распределение | Поступление, наценка, перемещения непроведённые — товар на складе d_receipt · d_extra_charge · d_movement | Правила наценки, расчёт по продажам, статус «В доставке», свободный остаток |
| Приёмка накладной | Документ проводится на принятое; брак → списание или возврат поставщику; «другой магазин» → новое перемещение conduct · d_cancellation · d_return_to_covenantee | Принято / брак с фото / лишнее, причины по строкам, решение склада, просрочки |
| Ревизия | Инвентаризация и её итоги d_inventory | — |
| Списание, возвраты | d_cancellation · d_return_to_covenantee · d_return_from_covenantee | Фото, причина |
| Заявка на склад | Заявка, критические остатки d_request · d_critminmax | Кнопка из «что заканчивается» |
| Аналитика | ABC, продажи по часам и сотрудникам, сводка по точкам, анализ закупок | — |
| Задания, обучение, жалобы, игра, пуши | — | Всё у нас |
Склад → магазин: товар числится на складе, пока магазин не принял
Склад нажал «Создать перемещения» — в Paloma документ сохраняется, но не проводится: товар остаётся на САКЕН СКЛАД. В приложении документ получает статус «В доставке». Проводит документ приёмка магазина: ровно на то, что магазин принял. Всё непринятое остаётся на складе и ждёт решения завсклада. Paloma так умеет — ревизия уже работает именно так: документ создаётся непроведённым и проводится потом.
Путь документа
Непринятое — что выбирает завсклад
- Брак. Товар едет обратно на САКЕН СКЛАД. По фото из магазина завсклад решает: «Списать» → списание в Paloma со склада, или «Вернуть поставщику» → возврат поставщику в Paloma. До решения в приложении «брак, едет на склад», в Paloma товар на складе.
- Уехало в другой магазин. Выбрать магазин → новое перемещение «в доставке» в тот магазин, и уже он принимает.
- Осталось на складе. Ничего не меняем, строка закрыта.
- Не нашли. Списание «недостача» после подтверждения главного (ему приходит запрос).
- Лишний товар у магазина — склад подтверждает, строка добавляется в документ до проведения.
Не принято 2 дня — тревога магазину, складу и главному. Отменить «в доставке» до приёмки может только склад: документ удаляется из Paloma, запись в журнале.
Вкладки склада: Поступления · Распределение · В доставке (едет · ждёт решения · закрытые) · Сканер · Ещё. Вкладки «Входящие» у склада больше нет — возвраты из магазинов на склад не нужны. До слияния баз: для Бухар Жырау и Улы Дала документ копируется мостиком в момент приёмки, а не создания — лучше сначала слить базы.
Как это работает на трёх примерах
Вода в магазине
Заказ с доставкой
Зарплата за месяц
Что храним у себя и почему
Всё новое и отдельное от текущих проектов: репозиторий pm-app (GitHub), база pm-app (Supabase, Франкфурт), шлюз pm-gateway (Cloudflare Worker), проект pm-app (Vercel). Текущие базы и посредник остаются старым приложениям, пока их не выключим. Деньги и товары в своей базе не хранятся.
Люди и доступ
- Телефон → человек → привязка, роль, функции с областью, кто и когда выдал, подтверждения «точно даёте?»
- Связь с сотрудником и клиентом Paloma
- Устройства, пуши, журнал входов
Работа магазина
- Отчёты смен и их проверка (цифры — ссылки на Paloma)
- Геометки смен, отпросы, замены
- Планы магазинов, KPI-бонусы, штрафы
- Документы «в доставке»: статусы, принято по строкам, брак с фото, решения склада
Слой над деньгами
- Кто создал операцию, фото чека, согласование
- Номер документа Paloma и ключ от двойной записи
- Ошибка и повтор, если Paloma не ответила
Покупатели и прочее
- Заказы сайта: статусы, адреса
- Избранное, «сообщить о поступлении»
- Задания, обучение и тесты, жалобы, игра
- Быстрые копии каталога, остатков и продаж
Как всё связано
Приложения никогда не ходят в Paloma напрямую: только через шлюз, который знает роль человека. Пароль Paloma хранится только в секретах шлюза.
Общий дизайн — как в POSUDAMARKET GAME
Красный, чёрный и белый. Бронза, серебро и золото — только для уровней и наград. Шрифт Manrope. Крупные цифры, кнопки-«таблетки» с красным градиентом, тёмная шапка с бордовым свечением, мягкие анимации. Покупателю — светлая витрина, персоналу — тёмная шапка и светлые карточки, админке — плотные светлые таблицы. Один набор цветов для сайта, iPhone и Android.
#e5232b#a8101a#0d0d10#f6f6f8градиентсвечение#138a43бронза·серебро·золотоПокупатель — витрина
Продавец — смена
Главный — пульс
Макеты, цифры для примера. Перед вёрсткой нарисую экраны каждой роли и покажу вам.
На чём строим — лучшие варианты на сегодня
| Часть | Выбор | Почему |
|---|---|---|
| Сайт и кабинеты | Next.js 16, React 19.2, TypeScript | Витрина видна в Google и быстро открывается; опыт и код текущей витрины переносятся |
| iPhone и Android | Expo SDK 57 (React Native 0.86), Expo Router, EAS | Один код на обе платформы; обновления без пересборки в магазинах; родной сканер, пуши, геолокация |
| Общий код | pnpm + Turborepo: общие расчёты, проверки данных (zod 4), дизайн-токены | Правила KPI, бонусов, распределения одинаковые на сайте и в телефоне |
| Внешний вид | Tailwind CSS 4, Radix UI, Motion; в приложении — NativeWind | Дизайн игры переносится один в один; удобно для слабовидящих |
| Данные на экране | TanStack Query 5, react-hook-form | Быстрые списки, повтор при плохой связи, проверка форм |
| Вход и своя база | Supabase: Postgres, вход по телефону, права на уровне базы, файлы, живые обновления, расписания | Знакомо, надёжно; роль проверяется самой базой, а не только экраном |
| SMS-код | Firebase владельца (тот же проект, что у нынешней витрины) → обмен на вход Supabase | Уже работает у витрины; около 0,23 $ за SMS, 10 в день бесплатно |
| Paloma-шлюз | Cloudflare Workers + Hono, D1/KV, Queues, Cron | Посредник уже там; очередь записей с повтором; кэш снимает нагрузку с Paloma |
| Уведомления | Expo Notifications (iPhone/Android) + Web Push (уже работает в кабинете сотрудника) | Без Telegram и без Firebase |
| Оплата и карта | Kaspi Pay поэтапно: сначала при получении и счёт на телефон из Kaspi Pay, потом API по договору с Kaspi; 2ГИС MapGL | Открытого API Kaspi для сайтов нет — только по договору; точные адреса Алматы |
| Сканер, печать | Камера телефона (на сайте BarcodeDetector/ZXing, в приложении expo-camera); @react-pdf/renderer; этикетки 58 мм | Уже проверено в «Ценах» и «Перемещениях» |
| Языки, PWA | next-intl (RU/KZ), Serwist | Казахский с первого дня; сайт ставится на телефон до выхода в магазины |
| Качество | Sentry, Vercel Analytics, Vitest, Playwright, GitHub Actions | Ошибки видны сразу; каждая выкладка проверяется тестами |
Три аккаунта Paloma сливаются в один
Сейчас
- Saken010 — 7 магазинов и склад
- Almas010 — Бухар Жырау 27 и Улы Дала 58/1
- Askar010 — сертификаты и тесты
- Мостик копирует перемещения и карточки; на нём теряются коды коробок (те 8 товаров)
После
- Одна база: все магазины, склад, сертификаты
- Магазины инвестора — своя организация (в Paloma уже 2 организации), отчёты по организации
- Перемещение на Бухар Жырау — обычное перемещение, мостик выключается
- Разные цены, если нужно, — через типы цен на точках
Приложение строим сразу под одну базу. Старые базы шлюз читает только для истории, пока она нужна. Askar010 советую оставить тестовым полигоном: на нём проверяем запись денег, заказов и отметок, прежде чем писать в рабочую базу.
Что спросить у Paloma про слияние: как переносят карточки (по штрихкоду, включая коды коробок), остатки на дату, клиентов и их карты, сертификаты, кто и когда это делает, что будет с историей чеков.
Что добавить и что убрать
В Paloma (всё это я могу завести сам по вашему «да»)
- Кассы — по одной на каждый магазин + «Инкассатор» + «Главный». Сейчас 5 касс, и наличные всех магазинов падают в одну «Касса1»
- Счета с настоящими названиями (Kaspi, Народный, Forte, Freedom) и привязка к видам оплаты — сейчас карты идут в «[Все]»
- Статьи расходов: вода, обед персоналу, хозтовары, ремонт, реклама, доставка, комиссия банка, возврат клиенту — по группам 1–7
- Начальные остатки касс и счетов на дату старта вместо «выравнивания»
- Телефоны и должности всех сотрудников; уволенных закрыть
- Ставки зарплаты и % с продаж, если так считаете
- Точки учёта времени на все магазины (сейчас 5 из 9)
- Отдельный пользователь Paloma для приложения. Пароль вносите сами в секреты, в чат не присылать
- Поставщики: вернуть настоящих поставщиков 6 285 карточкам с «Поставщик №1» (жду ваш ответ, какие поступления случайные)
Аккаунты и документы
- Firebase: два адреса pm-app в списке разрешённых (Authorized domains)
- Репозиторий pm-app на GitHub (создать: github.com/new, приватный) и Supabase Pro ($25/мес) — на бесплатном плане уже 2 проекта, третий не создаётся
- Cloudflare Workers Paid ($5/мес) — нужно и сейчас, из-за лимита 27.09 вставали «Перемещения»
- Apple Developer ($99/год, на ТОО нужен номер D-U-N-S — оформлять заранее, до 2 недель) и Google Play ($25 один раз)
- Kaspi Pay: заявка на kaspi.kz/webpay/partnership («Интернет-магазины») — когда дойдём до автоматической оплаты
- Ключ 2ГИС для карты адресов
- Домены: posudamarket.kz — витрина, admin.posudamarket.kz — админка
- Политика конфиденциальности и согласие на обработку персональных данных — требование App Store, Google Play и закона РК
- Список людей: телефон → ФИО → роль → магазин (заполню из Paloma, вы проверите); лимит расходов без согласования; зоны и цены доставки
Убрать — после того как раздел заработает в супер-приложении
- Telegram-боты и PDF в Telegram → пуши и «Пульс»
- ПИН-входы восьми приложений → один вход по телефону
- Firebase (вход и пуши витрины), Neon (клубная карта)
- Мостик Saken → Almas — после слияния баз
- Старые приложения по одному: KPI, Finance, Перемещения, Ревизор, Сертификаты, Доставка, Absolute, кабинет инвестора, Kaspi-аналитика, лендинг. Пока раздел не готов — старое работает как раньше
- Не трогаем: ERP и проекты, не связанные с сетью
Что ещё сделать, раз всё в одном месте
Покупателям
- «Сообщить, когда появится» — пуш, когда товар пришёл в магазин
- Отложить товар в магазине на 24 часа
- Подарок в день рождения (дата есть в Paloma)
- Оценка после выдачи заказа: одна кнопка
- QR на ценнике → карточка товара на сайте
Магазинам
- «Что заканчивается» → заявка на склад одной кнопкой
- Смена как в игре: уровни продавца, рейтинг магазинов
- Поиск всего в шапке: товар, накладная, клиент по телефону
- Сканер и ревизия без интернета — дошлются потом
Главному
- «Пульс» пушем в 22:00 вместо PDF в Telegram
- Крупный расход → «Одобрить» прямо из пуша
- Импорт выписки банка — сверка сама
- Kaspi-заказы и сайт в одном списке заказов
- Задел на SaaS: продавать приложение другим сетям на Paloma
Что делать по шагам
Каждый этап — рабочий результат. Новое работает рядом со старым; переключаемся, когда вы проверили.
Подготовка
1 неделяВы: настройка Paloma, SMS, аккаунты. Я: новый проект, своя база, шлюз, дизайн-система, админка «люди и роли», вход по SMS.
Готово, когда: вы входите по телефону и попадаете на свою вкладку; админ меняет роль — меняется вход.
Витрина и покупатель
2–3 неделиКаталог из Paloma, поиск и скан, наличие по магазинам, корзина, самовывоз и доставка, заказы → заявки Paloma, клубная карта, профиль. У продавца — вкладка «Заказы».
Готово, когда: настоящий заказ прошёл от сайта до выдачи и чека.
Магазин
2–3 неделиСмена с геометкой и учётом времени Paloma, закрытие смены с расходами в кассу Paloma, сканер, накладные, ревизия, задания, KPI, обучение, график. Заведующий, контролёр, инкассатор.
Готово, когда: магазин неделю работает без KPI и кабинета сотрудника Finance.
Деньги
2 неделиБухгалтер и главный: расходы, приходы, переводы, касса ↔ банк, выписка, поставщики, зарплата, отчёты до EBITDA.
Готово, когда: остатки касс в приложении совпадают с пересчётом денег.
Главный и склад
1–2 неделиПульс, магазины, люди, товары и ABC, Kaspi, контроль, инвестор; склад: поступления, распределение, наценка, ценники.
Готово, когда: Finance, Перемещения и Absolute больше не открываются.
Игра и лояльность
1–2 неделиPOSUDAMARKET GAME, сертификаты, розыгрыши, подарки — внутри супер-приложения.
Готово, когда: игроки перешли без потери очков.
iPhone и Android
3–4 неделиПриложения на Expo: родной сканер, пуши, геолокация, публикация. Проверка Apple — от 1 до 7 дней.
Готово, когда: приложение скачивается в App Store и Google Play.
Что может пойти не так и как страхуемся
Paloma меняет свою панель — запись идёт через неё, а не через официальный API.
Вся работа с Paloma в одном шлюзе, проверки на полигоне Askar010, тревога при первой ошибке, очередь с повтором.
Двойной расход при плохой связи.
У каждой операции свой ключ в примечании документа Paloma — повтор не создаёт второй документ. Отмена — только сторно с причиной в журнале.
Слияние баз затянется.
Шлюз умеет работать с несколькими базами, поэтому этапы 0–2 можно делать параллельно со слиянием.
Apple откажет в публикации.
Родные функции (сканер, пуши, гео), политика данных, тестовый номер для проверяющего.
Нагрузка на Paloma от 13 852 товаров и многих пользователей.
Каталог, остатки и продажи — из кэша; в Paloma только запись и свежие цифры.
SMS не доходят.
SMS шлёт Firebase (Google) — тот же, что у витрины; повтор кода через 60 секунд; лимит 3000 SMS в день.
Ближайшие шаги
План составлен 09.10.2026, уточнён в тот же день (функции и область доступа, «В доставке», всё новое): изучены все рабочие проекты сети и база Paloma Saken010 (только чтение). Сроки — оценки. ← Вернуться в «Цикл»