Это главный workflow Amanah CRM. Лид становится клиентом, клиент → сделка, сделка проходит стадии и закрывается. Всё остальное (объекты, проекты, юр. кейсы) — обвязка вокруг этого потока.
Сущности и связи
Клиент (Client)
↓ может иметь несколько
Сделка (Deal) — главная единица учёта
↓ привязаны
Задачи / Сообщения / Объекты / Документы
- Один клиент → много сделок (повторные продажи, аренда после покупки и т.п.)
- Сделка — основной объект учёта. Имеет стадию воронки, бюджет, ответственного, объект.
- Задачи и сообщения привязаны к сделке.
Создание клиента
Стандартный путь
Sidebar → Клиенты → «Создать» → заполни форму. Минимум — ФИО или телефон. Email опционально, но рекомендуется (для AI и поиска).
Через AI «Заполнить из текста»
Вставь свободный текст в форму создания → AI разобьёт в 10+ полей. Подробнее — в AI-возможностях.
Через импорт CSV
- Sidebar → Клиенты → «Импорт».
- Загрузи .csv (макс 5 MB).
- AI предлагает маппинг столбцов на поля (или выбери вручную).
- Импортировать.
Поддерживается:
- Дедупликация по телефону (нормализованному)
- Недостающие поля можно завести прямо во время импорта
- Batch-обработка по 50 строк
Юр. лицо или физ. лицо
Поле client_type определяет тип. Для юр. лица — отдельные поля (название, ИНН, директор), для физ. лица — паспорт, ИНН, адрес регистрации.
Эти данные подтягиваются при генерации PDF-договоров (если интеграция настроена).
Воронка сделок
Стадии свои у каждой компании. По умолчанию для агентства недвижимости:
- Новая → Квалификация → Выбор объекта → Переговоры → Договор → Won / Lost
Настройка стадий
Настройки → Воронки. Можно:
- Создать новую стадию
- Изменить порядок (drag-and-drop)
- Изменить цвет (показывается в канбане)
- Пометить стадию как «терминальную» (won / lost) — после неё переходы запрещены
Перенос сделки между стадиями
- Канбан: Sidebar → Сделки → drag-and-drop карточки между колонками
- DealSheet: открой сделку → StageStepper → клик на стадию
При переходе на won/lost открывается диалог — нужно ввести фактическую сумму или причину проигрыша.
AI Health Score
Каждая активная сделка получает AI-оценку 0–100, обновляемую раз в сутки (Vercel Cron 03:00 UTC) или вручную через ✨ кнопку.
Что учитывает:
- Бюджет сделки и её воронка
- Активность за последние 14 дней (сообщения, задачи, изменения)
- Возраст сделки по сравнению со средним по этой воронке
- Назначение ответственного
Оценка показывается:
- Бейдж в DealsKanban — цветовой индикатор (зелёный 80+, жёлтый 50–79, красный <50)
- Блок ✨ в DealSheet — детализация: главные факторы + рекомендации
Если AI отключён или ключ не настроен — Health Score не отображается, всё остальное работает как обычно.
Свои поля у сделок
Настройки → Доп. поля → «Сделки». У каждого поля задаётся:
- Тип: text, textarea, number, money, date, checkbox, select, multiselect, email, url, phone
- Обязательное / опциональное
- Default value
- Подсказка
Свои поля:
- Показываются в форме создания/редактирования
- По ним фильтруется список сделок
- Хранятся вместе со сделкой и попадают в выгрузку
- Учитываются AI-функциями (extract, search через Cmd+K)
Связь с клиентом
В сделке поле «Клиент» — single-select с поиском. Можно:
- Выбрать существующего
- Создать на лету (быстрый диалог)
- Оставить пустым (анонимная сделка)
Если клиент удалён — сделка остаётся, но
client_idстановится null. История сохраняется.
Связь с объектом (для риелторов)
Сделка может иметь:
- Главный объект (
property_id) — single FK на одну property. Используется в AddDealDialog как основной. - M:M связи через property_links — для случаев «один объект показан нескольким клиентам». См. Объекты.
В DealSheet → таб «Объекты» — список привязанных property с link_status (предложен / на показе / интерес / отказ). Риелторам это критично для отслеживания воронки показов.
Бюджет, валюта, комиссия
- Бюджет:
budget_min+budget_max(диапазон) — для сделки на стадии «Поиск». - Фактическая сумма: устанавливается при переводе на won-стадию.
- Валюта: KGS / USD / EUR / RUB. Per-deal (не per-company), потому что компания может работать с разными валютами.
- Комиссия:
commission_amountилиcommission_percent(зависит от типа). Заполняется при won.
Lead source
Источник лида: manual / whatsapp / instagram / phone / website / other. Используется в:
- Аналитике (откуда больше won)
- AI Sales Coach (рекомендации по эффективным каналам)
Просмотр и фильтры
Sidebar → Сделки. Доступны:
- View toggle: канбан / таблица
- Поиск по названию + имени клиента
- Фильтры: воронка, стадия, температура (горячая / тёплая / холодная), ответственный, бюджет, оценка сделки, ваши поля
- Bulk-actions: смена стадии, удаление архивации
История изменений (Timeline)
В DealSheet → таб «История» — все события:
- Смена стадии
- Изменение полей
- Назначения (assignee)
- Комментарии (отдельно — таб «Обсуждение»)
- Сообщения (Inbox)
История иммутабельна — её нельзя редактировать. Используется для аудита и AI Insights.
Архивирование и восстановление
- Soft-delete: иконка корзины в DealSheet → сделка переезжает в
/archiveсdeleted_at - Восстановление: Sidebar →
/archive→ найди сделку → «Восстановить» - Hard-delete: только из
/archive, только admin, только с подтверждением (вводишь точное название сделки)
Частые вопросы
Можно ли создать сделку без клиента? — Да, поле опциональное. Но AI Health Score и многие фильтры работают лучше с привязанным клиентом.
Сделка на won, но передумали — как откатить? — Drag сделку обратно на нужную стадию. Won-диалог не запускается при обратном переходе, фактическая сумма сохраняется.
AI Health Score не обновляется. — Cron 03:00 UTC раз в сутки. Хочешь раньше — кнопка ✨ «Обновить» в DealSheet.
Как массово сменить ответственного у 50 сделок? — Bulk-actions в табличном виде канбана: выдели чекбоксами, в нижнем bar выбери «Назначить».