Все статьи

Клиенты и сделки

Путь от заявки до закрытой сделки: клиенты, стадии, оценка сделки, свои поля, перенос базы из файла.

Это главный workflow Amanah CRM. Лид становится клиентом, клиент → сделка, сделка проходит стадии и закрывается. Всё остальное (объекты, проекты, юр. кейсы) — обвязка вокруг этого потока.

Сущности и связи

Клиент (Client)
  ↓ может иметь несколько
Сделка (Deal) — главная единица учёта
  ↓ привязаны
Задачи / Сообщения / Объекты / Документы
  • Один клиент → много сделок (повторные продажи, аренда после покупки и т.п.)
  • Сделка — основной объект учёта. Имеет стадию воронки, бюджет, ответственного, объект.
  • Задачи и сообщения привязаны к сделке.

Создание клиента

Стандартный путь

Sidebar → Клиенты → «Создать» → заполни форму. Минимум — ФИО или телефон. Email опционально, но рекомендуется (для AI и поиска).

Через AI «Заполнить из текста»

Вставь свободный текст в форму создания → AI разобьёт в 10+ полей. Подробнее — в AI-возможностях.

Через импорт CSV

  1. Sidebar → Клиенты → «Импорт».
  2. Загрузи .csv (макс 5 MB).
  3. AI предлагает маппинг столбцов на поля (или выбери вручную).
  4. Импортировать.

Поддерживается:

  • Дедупликация по телефону (нормализованному)
  • Недостающие поля можно завести прямо во время импорта
  • 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 выбери «Назначить».