Месторасположение отчёта: Отчёты → Сделки → Контроль сделок
Отчёт показывает поэтапную картину движения броней и сделок: от оформления до передачи документов клиенту. Помогает отследить «зависшие» процессы и скорректировать работу разных служб компании.

#Работа с отчётом
Фильтры
Тип недвижимости — фильтрует по типу объекта: жилая или коммерческая недвижимость.
Категория — категория объекта в рамках выбранного типа: квартира, кладовая, паркинг и т.п.
Дом — фильтрует по конкретному дому или строению.
Менеджер — менеджер сделки (не заявки). Чекбокс в т.ч. уволенные позволяет включить в список уволенных сотрудников.
Сотрудник сопровождения сделки — сотрудник, прикреплённый к сделке для совместного ведения. Имеет те же права по сделке, что и основной менеджер.
Дата начала сделки — переключаемый тип даты с диапазоном «от/до». По умолчанию — «Дата начала сделки», период — последние 2 месяца. Доступные типы:
- Дата начала брони
- Дата окончания брони
- Дата начала сделки
- Плановая дата подписания
- Дата подписания договора
- Плановая дата отправки на регистрацию
- Дата отправки на регистрацию
- Дата регистрации
- Дата передачи договора клиенту
- Дата снятия залога
- Плановая дата получения документов из регистрации
- Дата получения документов из регистрации
- Плановая дата сделки
- Дата подписания акта

Банк — фильтрует по банку, привязанному к сделке.
Статус — статус сделки: Бронь, Сделка в работе, Сделка проведена. По умолчанию — «Сделка в работе». Можно выбрать несколько значений одновременно.
Ответственный за проверку — сотрудник, ответственный за проверку договора в договорном отделе.
Программа покупки — программа, по которой оформляется сделка.
Контакт — основной покупатель сделки.
Агентство недвижимости — агентство, связанное со сделкой напрямую или через посредника.
Фильтры (быстрые фильтры) — позволяют отобрать сделки, зависшие на конкретном этапе:
- Необходимо согласование — сделка отправлена на согласование, но ещё не согласована.
- Договор согласован, но не проверен — сделка согласована, но договор ещё не сформирован и не подтверждён в договорном отделе.
- Требуется подпись клиента — договор подтверждён, но отметка о подписании покупателем не проставлена.
- Запланировано подписание — проставлена плановая дата подписания, но договор ещё не подписан.
- Договор подписан покупателем — договор подписан, зафиксирована дата подписания.
- В договорном отделе — сделка передана в договорной отдел, но договор ещё не подтверждён.
- Необходимо сдать на регистрацию — договор подписан покупателем, но дата сдачи документов на регистрацию не указана.
- Ожидание регистрации — документы сданы на регистрацию, но дата самой регистрации отсутствует.
- Договор зарегистрирован, но не передан — документы получены из регистрации, но дата передачи договора клиенту не указана.
- Просрочена дата получения документов — прошла плановая дата получения документов из регистрации, а фактическая дата ещё не заполнена.

Опции
С посредником / Без посредника — ограничивает выборку сделками с агентом или без него.
Уникальные первичные обращения — показывает только сделки, где заявка является первичным обращением клиента.
Показать ОП и город менеджера сделки — добавляет в таблицу колонки «Отдел продаж» и «Город отдела продаж».
Показывать платные брони — не меняет состав выборки, но для броней с признаком платной брони отображает статус как «Платная бронь».
Цветовая индикация строк
Каждая строка — одна сделка. Ячейки имеют цветовую индикацию:
Красные ячейки — этап не пройден: дата или признак не заполнены.
Зелёные ячейки — этап выполнен успешно.

Отчёт отображает не более 1000 строк. Если нужна более широкая выборка — уточните период или используйте дополнительные фильтры.
#Технический паспорт отчёта
Структура отчёта


Данные в системе
Каждая строка отчёта — запись в estate_deals, связанная с объектом (estate_sells) и заявкой (estate_buys). Основная выборка фильтруется по estate_deals.deal_status — статусу сделки согласно справочнику estate_deals_statuses: 105 — Бронь, 110 — Сделка в работе, 150 — Сделка проведена. По умолчанию выбирается статус 110, период — последние 2 месяца по полю estate_deals.deal_date_start.
Дом (1), Объект (2), № (3)
Данные о доме берутся из estate_houses через estate_deals.house_id. Тип и категория объекта — из estate_sells через estate_deals.estate_sell_id. Номер объекта хранится в поле geo_flatnum.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_houses.name,
estate_sells.estate_sell_type,
estate_sells.estate_sell_category,
estate_sells.geo_flatnum
FROM estate_deals
LEFT JOIN estate_houses ON estate_deals.house_id = estate_houses.house_id
LEFT JOIN estate_sells ON estate_deals.estate_sell_id = estate_sells.estate_sell_id
ORDER BY estate_deals.id;
Покупатель (4)
Основной покупатель сделки. Хранится в contacts через estate_deals.contacts_buy_id.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
contacts.contacts_buy_name
FROM estate_deals
LEFT JOIN contacts ON estate_deals.contacts_buy_id = contacts.contacts_id
ORDER BY estate_deals.id;
Менеджер (5), Сотрудник сопровождения (18)
Менеджер сделки — users через estate_deals.deal_manager_id. Сотрудник сопровождения — через estate_deals.deal_co_manager_id.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
u1.users_name AS manager,
u2.users_name AS co_manager
FROM estate_deals
LEFT JOIN users u1 ON estate_deals.deal_manager_id = u1.id
LEFT JOIN users u2 ON estate_deals.deal_co_manager_id = u2.id
ORDER BY estate_deals.id;
Посредник (6), Агентство (7)
Посредник берётся из contacts через estate_deals.contacts_mediator_id. Агентство — из поля estate_deals.agency_name; если оно не заполнено, выводится агентство, связанное с посредником.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
contacts.contacts_buy_name AS mediator,
estate_deals.agency_name
FROM estate_deals
LEFT JOIN contacts ON estate_deals.contacts_mediator_id = contacts.contacts_id
ORDER BY estate_deals.id;
Банк (9), Программа покупки (10)
Оба поля хранятся в estate_deals в денормализованном виде.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.ipoteka_bank_name,
estate_deals.deal_program_name
FROM estate_deals
ORDER BY estate_deals.id;
Площадь по договору (11), Цена за м² (12), Сумма (13)
Площадь и сумма хранятся в estate_deals. Цена за м² — расчётное значение: deal_sum / deal_area.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.deal_area,
estate_deals.deal_sum,
CASE WHEN estate_deals.deal_area > 0
THEN ROUND(estate_deals.deal_sum / estate_deals.deal_area, 2)
ELSE NULL
END AS price_per_m2
FROM estate_deals
ORDER BY estate_deals.id;
Поступившая сумма (14)
Денормализованное поле в estate_deals. Отражает фактически поступившие платежи по графику.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.finances_income
FROM estate_deals
ORDER BY estate_deals.id;
Дата начала (15)
Для броней — дата постановки брони (reserve_date_start). Для сделок — дата начала оформления (deal_date_start).
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.deal_status,
CASE WHEN estate_deals.deal_status = 105
THEN estate_deals.reserve_date_start
ELSE estate_deals.deal_date_start
END AS date_start
FROM estate_deals
ORDER BY estate_deals.id;
Паспорт (16)
Проверяются данные основного покупателя (estate_deals.contacts_buy_id → contacts). Ячейка зелёная, если заполнены все обязательные поля: дата рождения, фамилия, имя, отчество, номер паспорта, дата выдачи, кем выдан, прописка. Из паспортного блока в MacroData доступны только два поля: место рождения и адрес прописки. Номер паспорта, дата выдачи и орган выдачи в MacroData не выгружаются.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
contacts.contacts_buy_dob,
contacts.name_last,
contacts.name_first,
contacts.name_middle,
contacts.passport_bithplace,
contacts.passport_address
FROM estate_deals
LEFT JOIN contacts ON estate_deals.contacts_buy_id = contacts.contacts_id
ORDER BY estate_deals.id;
График (17)
Ячейка зелёная, если сумма поступлений по графику и зарезервированных поступлений больше нуля.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.finances_income,
estate_deals.finances_income_reserved,
(estate_deals.finances_income + estate_deals.finances_income_reserved) AS total_income
FROM estate_deals
ORDER BY estate_deals.id;
Этапы согласования и договорного отдела (19–27)
Столбцы отражают прохождение сделки через этапы согласования и договорного отдела. Данные хранятся в estate_deals.
| № | Колонка | Поле |
|---|---|---|
| 19 | Плановая дата сделки | date_finished_plan |
| 20 | Отправлено на согласование | terms_approved_send |
| 21 | Согласовано | terms_approved_date |
| 22 | Отправлено в договорной отдел | agreement_verified_send |
| 24 | Договор проверен | agreement_verified_date |
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.date_finished_plan,
estate_deals.terms_approved_send,
estate_deals.terms_approved_date,
estate_deals.agreement_verified_send,
estate_deals.agreement_verified_date
FROM estate_deals
ORDER BY estate_deals.id;
Этапы подписания (28–31)
| № | Колонка | Поле |
|---|---|---|
| 29 | Подписано покупателем | signed_date |
| 30 | Номер договора | agreement_number |
| 31 | Дата договора | agreement_date |
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.signed_date,
estate_deals.agreement_number,
estate_deals.agreement_date
FROM estate_deals
ORDER BY estate_deals.id;
Этапы регистрации (32–39)
| № | Колонка | Поле |
|---|---|---|
| 32 | Планируемая дата сдачи на регистрацию | justice_date_send_plan |
| 33 | Сдано на регистрацию | justice_date_send |
| 34 | Плановая дата получения документов | justice_date_received_plan |
| 35 | Дата регистрации | justice_date |
| 36 | Факт. дата получения документов | justice_date_received |
| 39 | Дата подписания акта | agreement_owner_date |
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.justice_date_send_plan,
estate_deals.justice_date_send,
estate_deals.justice_date_received_plan,
estate_deals.justice_date,
estate_deals.justice_date_received,
estate_deals.agreement_owner_date
FROM estate_deals
ORDER BY estate_deals.id;
Ответственный за 6 шаг (40)
Ответственный за регистрацию — users через estate_deals.registration_users_id.
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
users.users_name AS registration_responsible
FROM estate_deals
LEFT JOIN users ON estate_deals.registration_users_id = users.id
ORDER BY estate_deals.id;
Статус (42)
Статус сделки из справочника estate_deals_statuses через estate_deals.deal_status. Ячейка зелёная только при статусе 150 — «Сделка проведена».
Принцип выбора данных в MacroData:
SELECT
estate_deals.id,
estate_deals.deal_status,
estate_deals_statuses.status_name
FROM estate_deals
LEFT JOIN estate_deals_statuses ON estate_deals.deal_status = estate_deals_statuses.status_id
ORDER BY estate_deals.id;