MACRO

Подробный график поступления денежных средств

Месторасположение: Отчёты → Финансы → Подробный график поступления денежных средств

Отчёт показывает плановые поступления по объектам, находящимся в Сделке или завершённой сделке. В таблицу попадают только платежи в статусе К оплате — запланированные, но ещё не проведённые. Суммы сгруппированы по ЖК, домам и типам недвижимости и разбиты на периоды: месяцы текущего года, просроченные периоды и последующие годы.

#Работа с отчётом

#Фильтры

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

Фильтр Даты не влияет на разбивку платежей по периодам в таблице — периодизация всегда строится по дате самого платежа.

Категория — отображает объекты только выбранной категории (квартиры, кладовые, машино-места и т. д.).

Источник денег — фильтрует платежи по источнику финансирования (собственные средства, ипотека и т. д.).

ЖК/Дом — ограничивает отчёт конкретным жилым комплексом или домом.

Детализация — управляет уровнем группировки строк внутри дома:

  • «По категории» — строки разбиваются по типу объекта (квартиры, кладовые, нежилые и т. д.);
  • «По счёту» — строки разбиваются по счёту поступления.

Статус — фильтрует объекты по статусу сделки: Сделка в работе или Сделка завершена.

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

По умолчанию оба фильтра применяются одновременно: например, «Зарегистрированные договоры» + «Есть поступления» — отобразятся только объекты, у которых договор зарегистрирован и по нему уже есть поступления.

Переключатель «Или» меняет логику на обратную: достаточно выполнения любого из двух условий. Те же настройки с включённым «Или» отобразят объекты, у которых договор зарегистрирован или по нему есть поступления — то есть попадут и те, и другие, даже если второе условие не выполняется.

Продавец — фильтрует объекты по продавцу, поиск по имени или номеру телефона.

Город — ограничивает выборку по городу.

#Структура отчёта

#Данные в системе

Таблица выстроена в иерархию: Район → ЖК → Дом → тип объекта. Строки можно разворачивать: внутри типа объекта отображаются отдельные договоры — каждый из них является кликабельной ссылкой, которая открывает карточку сделки. Для каждого комплекса выводится строка «Итого по комплексу», для каждого района — «Итого по району». В конце отчёта выводится "Итого по компании" для всего отчёта.

Колонки таблицы:

  • (1) Район/объект/тип — иерархический список: район, ЖК, дом, тип объекта, договор.
  • (2) Просрочено на текущий момент — суммарный объём платежей, дата которых уже прошла, но платёж ещё не проведён. Колонка не суммируется в итогах по периодам во избежание задвоения данных.
  • (3) Просрочено в [прошлый год] и ранее — сумма просроченных платежей с датой до конца прошлого года.
  • (4) График поступлений на [текущий год] — итоговая плановая сумма поступлений за весь текущий год.
  • (5) Январь — Декабрь [текущий год] — плановые суммы в разбивке по месяцам текущего года.
  • (6) [Следующий год] — итоговая плановая сумма поступлений на следующий год.
  • (7) [Следующий год]+ — суммы платежей, запланированных на более поздние периоды.
  • (8) Итого — совокупная сумма по всем периодам, кроме колонки «Просрочено на текущий момент».

#Технический паспорт отчёта

В отчёт попадают финансовые операции, которые одновременно соответствуют следующим условиям:

  • статус платежа — К оплате (finances.status = 3);
  • тип операции является доходным (finances_types.is_income = 1);
  • объект находится в статусе Сделка в работе или Сделка завершена;
  • объект привязан к активному дому компании.

Район, ЖК, Дом (1):

Данные о местоположении берутся из таблицы estate_houses.

Принцип выбора данных в MacroData без учёта дополнительных фильтров:

SELECT
  finances.id,
  estate_houses.geo_region_name,
  estate_houses.geo_quarter,
  estate_houses.geo_house
FROM
  finances
LEFT JOIN estate_sells ON finances.estate_sell_id = estate_sells.estate_sell_id
LEFT JOIN estate_houses ON estate_sells.estate_sell_id = estate_houses.house_id
WHERE finances.status = 3
ORDER BY finances.id;

Тип объекта (1):

Принцип выбора данных в MacroData без учёта дополнительных фильтров:

SELECT
  finances.id,
  estate_sells.estate_sell_category
FROM
  finances
LEFT JOIN estate_sells ON finances.estate_sell_id = estate_sells.estate_sell_id
WHERE finances.status = 3
ORDER BY finances.id;

Просрочено на текущий момент (2), Просрочено в [прошлый год] и ранее (3), График поступлений на [год] (4), помесячные колонки (5), [следующий год] (6), [следующий год]+ (7) и Итого (8):

Все суммы берутся из finances.summa, периодизация строится по finances.date_to. Разбивка по периодам:

  • «Просрочено на текущий момент» — finances.date_to меньше текущей даты и времени;
  • «Просрочено в [прошлый год] и ранее» — finances.date_to не позже 31 декабря прошлого года;
  • «График поступлений на [год]» — finances.date_to в пределах текущего года;
  • помесячные колонки — finances.date_to в пределах конкретного месяца;
  • «[Следующий год]» — finances.date_to в пределах следующего года;
  • «[Следующий год]+» — finances.date_to начиная с первого января года через два и далее.

Принцип выбора данных в MacroData без учёта дополнительных фильтров:

SELECT
  finances.id,
  finances.summa,
  finances.date_to
FROM
  finances
WHERE finances.status = 3
ORDER BY finances.id;

Договор (1):

При разворачивании строки типа объекта отображаются отдельные договоры. Данные берутся из estate_deals: номер договора (estate_deals.agreement_number), дата договора (estate_deals.agreement_date), контрагент — из finances.contacts_id.

Принцип выбора данных в MacroData без учёта дополнительных фильтров:

SELECT
  finances.id,
  finances.contacts_id,
  estate_deals.agreement_number,
  estate_deals.agreement_date
FROM
  finances
LEFT JOIN estate_deals ON finances.deal_id = estate_deals.deal_id
WHERE finances.status = 3
ORDER BY finances.id;