Перейти к содержанию

Сделки и воронки (Deal-centric продажи)

Раздел описывает сделки как универсальную сущность продажи, воронки, встроенные контактные данные, проверку дублей и тайминги стадий.


Сделка — универсальная сущность продажи

Лиды, заявки, продажи — НЕ отдельные сущности. Это сделка на разных стадиях воронки.

На кого создаётся сделка

Сделка может быть создана: - На компанию — основной сценарий B2B. Контактное лицо подтягивается. - На контакт (физлицо) — если клиент = физическое лицо без компании.

Связь Контакт ↔ Компания = many-to-many: один контакт может работать в нескольких компаниях, одна компания может иметь несколько контактов.

Встроенные контактные данные (лёгкие поля)

Сделка содержит встроенные поля для быстрого ввода: - Имя контакта, телефон, email, название компании (текстом). - Это НЕ запись в базе контактов. Просто поля сделки.

Полноценный контакт/компания в базе создаётся явно: - Вручную: менеджер нажимает «Создать контакт/компанию из сделки». - Автоматически: при переходе на стадию воронки (настраивается).

Проверка дублей при квалификации

При создании контакта/компании из сделки система проверяет: - Контакт: email, телефон (нормализованный). - Компания: ИНН, домен email, название. - Лиды (сделки): проверка на дубли по контактным данным.

Результат проверки:
  ├── Совпадений нет → создаётся новая запись
  ├── Найдено совпадение → «Похожий контакт/компания уже существует. Привязать?»
  │   ├── Да → сделка привязывается к существующему
  │   └── Нет, это другой → создаётся новая запись
  └── При повторном обращении: система авто-привязывает сделку к существующему контакту

В истории контакта добавляется запись о привязке новой сделки (событие + время + кто + данные).

Воронка (Pipeline)

Воронка — это настраиваемая последовательность стадий для сделок.

Настройки воронки:
  ├── Стадии (название, порядок, цвет)
  ├── Ответственные по стадиям (отдел / роль)
  ├── Источники сделок (настраиваемый справочник)
  │   ├── Яндекс.Директ, Google Ads, Сайт, Телефония
  │   ├── Email-рассылка, Рекомендация, Холодный обзвон
  │   └── + Добавить свой
  └── Авто-создание контакта (на какой стадии, или «не создавать»)

Воронка vs этапы — разные механики

Воронка сделки = ПРОДАЖА (дожим)
  Канбан-доска: drag & drop по стадиям
  Результат: клиент согласен → создаётся продажа(ы)

Этапы продажи = ИСПОЛНЕНИЕ (оформление)
  Настраиваются внутри Order Type (шаблона продажи)
  Канбан-доска тоже доступна (включается в настройках модуля Продажи)
  Результат: продукт оформлен/выдан/подключён

Снимок контактных данных (Drift Detection)

При привязке контакта или компании к сделке система создаёт снимок ключевых полей (имя, телефон, email / название, ИНН). Если данные контакта/компании позже изменятся — в карточке сделки отображается предупреждение с указанием что изменилось, кем и когда. Менеджер может «Принять изменения» (обновить снимок) или открыть контакт для проверки.

Подробное описание механизма — в разделе Контакты и компании → Drift Detection.


Тайминги стадий и лог переходов

Система ведёт полный лог входов на каждую стадию. Каждый переход (включая возврат назад) — новая запись.

Хранение:
  deal_stage_entered_at — когда сделка перешла на ТЕКУЩУЮ стадию (последний вход)
  stage_log — полный лог всех переходов:
    [
      { stage: "КП",           entered_at: Jan 10, exited_at: Jan 15 },
      { stage: "Согласование", entered_at: Jan 15, exited_at: Jan 20 },
      { stage: "КП",           entered_at: Jan 20, exited_at: null   }  ← возврат
    ]

Для продаж — аналогично: order_stage_entered_at + stage_log.

Поведение при возврате на предыдущую стадию:
  ├── Создаётся НОВАЯ запись в stage_log (не стирает историю)
  ├── deal_stage_entered_at обновляется на текущий момент
  └── Таймер стадии считается с последнего входа

Использование в v1

  • «Текущий срок на стадии» = с последнего входа (deal_stage_entered_at)
  • «Суммарное время на стадии КП» = сумма всех периодов на КП
  • «Количество возвратов» = сколько раз сделка возвращалась назад
  • Отчёт «Зависшие сделки» (> N дней без движения)
  • Фильтр «На стадии более X дней» в списках и канбане

Использование в v2+

  • SLA per-стадия (настраиваемые лимиты времени)
  • Автоматические предупреждения при приближении к лимиту
  • Эскалация при превышении SLA
  • SLA-индикаторы в канбане (светофор: зелёный/жёлтый/красный)