7cars
Из хрупкой книги Excel — в ERP с единым журналом: каждая машина, доля инвестора и дивиденд на своём месте.
- Капитал и P&L онлайн
- Себестоимость и доли инвесторов
- Журнал инвесторов и дивиденды
- Доска «Контроль» и многошаговая отмена
- Клиент
- Seven Lux Auto, Москва
- Год
- 2026
- Авторство
- Собственная разработка
- Статус
- Роль
- Единственный продуктовый инженер: коммерческое предложение, модель данных, UI/UX, разработка, деплой и поддержка.
- Платформы
- Веб-приложение и устанавливаемое PWA · десктоп и телефон
- Языки
- RU · EN · UZ
- Стек
- Next.js 16 · React 19 · TypeScript · Tailwind CSS 4 · Supabase · PostgreSQL · Row-level security · Vercel · Render cron · Backblaze B2 · Python · openpyxl
Изыскания — контекст и задача.
Задача
Растущий дилер вёл машины, инвесторов и распределение прибыли в одной книге Excel с ручными расчётами — без ролей, аудита и бэкапов.
Seven Lux Auto — мультибрендовый дилер люксовых автомобилей в Москве. Каждую машину покупают за рубежом, везут, растаможивают, регистрируют и продают, а каждую покупку финансируют сразу несколько частных инвесторов. До 7cars весь бизнес жил в одной книге Excel: лист автомобилей с восемью категориями затрат, журнал всех движений денег с подписью инвестора, балансы, распределение прибыли и сводка.
Книга работала — до поры. Все итоги считались вручную, и одна опечатка могла незаметно сдвинуть баланс инвестора. Не было ни ролей, ни истории изменений, ни способа проверить реальную себестоимость машины с телефона прямо в порту, ни надёжных резервных копий. С ростом автопарка и круга инвесторов владельцам понадобились ответы, которые таблица не давала с уверенностью: сколько денег действительно свободно, во что на самом деле обошлась каждая машина, какая прибыль ещё не распределена и кому сколько причитается.
Ограничения были жёсткими: реальные деньги инвесторов, ежедневная работа с телефона и данные, которые нельзя потерять.
План — сначала — чертёж системы.
Решение
Mobile-first ERP на Supabase: себестоимость по каждой машине и финансирование несколькими инвесторами, P&L и дивиденды из единого журнала, казначейство в трёх валютах, аудит, отмена действий и ночные внешние бэкапы.
7cars заменяет книгу Excel единым журналом. Любое движение денег — вложение, покупка, расход, продажа, распределение прибыли или убытка, дивиденд — это типизированная запись, а себестоимость машин выводится из неё самой базой данных, а не вводится повторно. Вокруг этого ядра — шесть рабочих экранов: дашборд капитала, склад с себестоимостью и долями финансирования по каждой машине, доска «Контроль» с тем, что требует внимания, инвесторы с отчётами, полная история с отменой действий и казначейство компании в USD, USDT и RUB. Плавающий док и меню «+» дают доступ к любой ежедневной операции в одно касание на телефоне. Система работает на Supabase Postgres с row-level security и разворачивается на Vercel; ночная задача отправляет независимую копию в Backblaze B2 с многоуровневым хранением.
Ключ модулей
- Дашборд капитала: свободные деньги, активы, нераспределённая прибыль, ROI, оборачиваемость капитала и помесячная сводка с экспортом в CSV / PDF
- Склад с поиском по VIN, 11 режимами сортировки, списком и карточками с фото и долями финансирования по каждой машине
- Карточка машины: восемь статей затрат, доли инвесторов, фотогалерея и PDF-отчёт по машине
- Доска «Контроль»: нераспределённая прибыль, сток старше 60 дней, долгий транзит, инвесторы в минусе, расходы без чеков
- Карточки инвесторов: вклад, прибыль, дивиденды, фильтр по периоду и PDF-выписки
- Казначейство компании в USD, USDT и RUB: ДДС, P&L, долги и обмен валют
- История действий по дням с правкой на месте и многошаговой отменой
Ключевые решения
-
Почему журнал — единственный источник правды
Себестоимость машины пересчитывается триггером базы данных при любом изменении записи журнала, а доля прибыли компании читается из того же журнала. Второй копии числа, которая могла бы разойтись с первой, просто нет.
-
Почему правила балансов живут в Postgres
Триггеры отклоняют любую операцию, которая увела бы баланс инвестора или кошелька казначейства в минус, — неважно, с какого экрана или из какого скрипта она пришла. Интерфейс тоже проверяет, но последнее слово за базой.
-
Почему доступ защищён через row-level security
Роли администратора, оператора и инвестора обеспечиваются 28 политиками RLS прямо в базе данных. В сентябре 2026 года политики ужесточены, а прямой вызов чувствительных функций запрещён.
-
Почему отмена построена на обратных патчах
Каждое действие сохраняет обратный патч, поэтому ошибку можно откатить — последнее действие, последний час, сегодня или три дня — без восстановления целого бэкапа.
-
Почему бэкапы хранятся вне платформы
Основное хранилище — Supabase, но ночная cron-задача пишет независимую копию в Backblaze B2 с ежедневным, еженедельным и ежемесячным хранением, а скрипт восстановления может вернуть её обратно.
Фасады — экраны для компьютера.
Все фасады 05
-
Рис. 4.1 Карточка автомобиля: VIN, статус, цена покупки и полная себестоимость, восемь статей затрат, доли инвесторов и фотогалерея. -
Рис. 4.2 Казначейство компании: кошельки USD, USDT и RUB, итог в долларовом эквиваленте, вкладки «Операции», «ДДС», P&L и «Долги» и журнал в нескольких валютах. -
Рис. 4.3 Доска «Контроль» — всё, что требует внимания: нераспределённая прибыль, сток старше 60 дней, долгий транзит, инвесторы в минусе, расходы без чеков и операции без инвестора. -
Рис. 4.4 Полная история действий по дням: фильтры по периоду, правка и удаление операций журнала прямо в списке. -
Рис. 4.5 Дашборд целиком: статистика капитала, помесячная оборачиваемость и финансовая сводка за шесть месяцев с экспортом в CSV и PDF.
Детали — мобильные экраны.
Все мобильные экраны 03
Ведомость материалов — стек и почему он.
| Слой | Материал | Почему |
|---|---|---|
| 01Данные | Supabase Postgres · 10 tables · 28 RLS policies | Деньгам инвесторов нужны ограничения и правила доступа в самом источнике, а не только в интерфейсе. |
| 02Логика | PL/pgSQL triggers & RPCs · TypeScript ledger engine | Себестоимость и балансы выводятся из одного журнала, поэтому любой итог можно пересчитать и проверить. |
| 03Аналитика | Capital analytics: ROI, turnover, aging (rule-based) | Владельцы видят замороженный капитал и кандидатов на скидку, не собирая очередную таблицу. |
| 04Интерфейс | Next.js 16 · React 19 · Tailwind 4 · PWA | Одна кодовая база для экрана в офисе и телефона в порту — устанавливаемая, на трёх языках. |
| 05Инфраструктура | Vercel · Render cron · Backblaze B2 | Ночные внешние бэкапы с многоуровневым хранением, независимые от основной базы. |
Стек
Сдача — итог и ссылки.
Проверенные факты
- политик row-level security
- 28
- Источник: по данным репозитория, сентябрь 2026
- валюты казначейства
- USD · USDT · RUB
- Источник: по данным репозитория, сентябрь 2026
- языки интерфейса
- RU · EN · UZ
- Источник: по данным репозитория, сентябрь 2026
- ежедневный внешний бэкап, многоуровневое хранение
- 22:00 UTC
- Источник: cron в render.yaml, сентябрь 2026
Хотите увидеть систему в работе?
Покажу систему вживую на демо-данных и расскажу о решениях, которые за ней стоят.
Запросить демонстрацию




