← Все кейсы
MY PORTALS

Окна без Excel: объект от замера до денег

Замер, спецификация, договор, монтаж, деньги, гарантия — в оконном бизнесе это обычно Excel, WhatsApp и папка с PDF. Мы собрали приложение, где объект живёт в одной карточке, документы создаются из неё, а заказчик видит только то, что ему можно.

Роль
Продукт, архитектура, интерфейс, бэкенд, документы, внедрение
Стек
FastAPI · PostgreSQL · PWA · LibreOffice · OCR

Задача

В оконном бизнесе порядок держится на трёх вещах: Excel, WhatsApp и памяти владельца. Замерщик привозит размеры, кто-то вбивает их в таблицу, менеджер собирает договор в Word, спецификация живёт отдельным файлом, монтажник звонит и уточняет профиль.

Пока объектов немного, это работает. Потом — ломается: суммы расходятся, документы не совпадают, заказчик не понимает статус, владелец не видит деньги по объекту.

Нужно было одно место, где объект живёт от заявки до сдачи — без Excel и пересылки файлов.

Принцип: данные вводятся один раз

Всё, что попадает в документы, берётся из карточки объекта, контакта или компании: сумма договора, предоплата, реквизиты, адрес, позиции спецификации.

В договоре ничего не набирается заново. Правка в карточке меняет все будущие документы. Поле, которого нет в карточке, нельзя «дописать руками» — его надо завести в карточке.

Один объект — один контурОбъектДеньгиДокументыКомандаЧатыФайлыданные вводятся один раз — документы собираются из карточки
Один объект — одна карточка. Из неё растут деньги, документы, команда, чаты и файлы.

Деньги по объекту

Сумма договора и предоплата. Оплачено по договору. Остаток клиента. Выплаты монтажникам. Расходы. И «заработано на объекте» = оплачено − выплаты − расходы.

Условие договора и факт оплаты не подменяют друг друга: договор подписывают раньше, чем приходят деньги. Поэтому «аванс по договору» и «оплачено» — разные строки.

Документы из карточки

Один тап — и документ готов: договор, спецификация, акт выполненных работ, акт приёма-передачи, гарантийное письмо, доверенность, счёт.

Договор — три схемы оплаты (100%, 80/20, 70/30) и «свой вариант» с процентом. В открытом договоре сумма и процент считают друг друга, но общая цена не меняется: строки обязаны складываться именно в неё.

Документы из карточкиКарточка объектасуммапредоплатареквизитыпозицииДоговорСпецификацияАктГарантияСчёт
Карточка хранит сумму, предоплату, реквизиты и позиции. Документы не набираются заново — они собираются из неё.

Спецификация с чертежами

Позиции: размеры, количество, цена за м² или за единицу, профиль, заполнение, фурнитура, примечание, чертёж.

Поля предлагают ранее введённое: профили, стеклопакеты, фурнитуру — по частоте. Итоги по категориям и общий. Перенос итога в сумму договора.

Роли и права

Роли — из реальной работы: замерщик, монтажник, прораб, архитектор/дизайнер, клиент, партнёр.

Владелец видит всё. Клиент — только свои объекты и документы. Монтажник — объекты, куда назначен, и свою сдельную. Никто, кроме владельца, не видит экономику объекта: суммы, спецификацию, предоплату. Этих полей просто нет в ответе API для остальных.

Кабинет заказчика

Ссылка заказчика — его постоянный ключ. Открыл — и он в кабинете, без пароля и регистрации. Работает многоразово 180 дней: вернулся после переустановки приложения или смены телефона — снова открыл.

Заказчик видит свои объекты, свои документы, свои данные. Может править контактные данные. Не видит внутренние цены, закупку, наценку и зарплаты.

Чаты, файлы, распознавание

Чаты объекта: с заказчиком и бригадой, личные и групповые, папки «Клиенты · Команда · Партнёры». Голосовые расшифровываются сами. Вложения: фото, файлы, видео.

Файлы компании — папки до 8 уровней. Word и Excel открываются как PDF. Распознавание паспорта и реквизитов — на своём сервере, без отправки наружу.

Приложение

Ставится на телефон как обычное приложение: открывается одним касанием, без ссылок и паролей каждый раз.

Обновление приходит само: сервер отдаёт метку сборки, приложение сверяет версию при действии, при возврате из фона и раз в 10 минут. Если человек ничего не набирал — обновление применяется молча.

Безопасность

Правило доступа живёт в одном месте, и его зовут все роутеры. Документы, файлы, спецификация и деньги закрыты от посторонних; вложение открывает участник переписки.

Отдельный слой — проверка документов на внутренние цены: закупка, себестоимость, наценка, маржа. Документ с такой пометкой не выдаётся никому, кроме владельца, даже если стоит галочка «виден клиенту».

Что внутри

Фичи, которые делают работу

Объекты и канбан

Заявка → расчёт → производство → монтаж → сдача.

Карточка на месте

Правка без «чёрных окошек»: коснулся, изменил, сохранил.

Деньги по объекту

Оплачено, остаток, выплаты, расходы, заработано.

Документы из карточки

Договор, спецификация, акты, гарантия, доверенность, счёт.

Спецификация с чертежами

Позиции, профили, стеклопакеты, фурнитура, итоги.

Роли и права

Каждый видит только своё; экономика — у владельца.

Кабинет заказчика

Ссылка-ключ на 180 дней, без пароля.

Чаты и файлы

Объектные чаты, голосовые, папки, PDF из Word/Excel.

Распознавание

Паспорт и реквизиты — на своём сервере.

PWA

Ставится на телефон, обновляется само.

Конфиденциальность

Почему в кейсе нет документов и имён

В этом кейсе нет реальных договоров, сумм, адресов и переписок. Только компания и то, что можно показать без риска.

Конфиденциальность — часть работы. Мы показываем только те кейсы, где есть разрешение. Остальное — под NDA.

Защита многоуровневая. Три уровня показываем, остальные не публикуем.

Следующий шаг

Хотите такой же порядок в своих объектах?

Разберём ваш процесс и покажем, что можно собрать в одном приложении.

Мы используем файлы cookie и Яндекс.Метрику, чтобы сайт работал и становился лучше. Оставаясь здесь, вы соглашаетесь — подробнее в Политике конфиденциальности.