Маржа есть, денег нет: 21,8 % рентабельности и минус в кассе 18 ноября

БДР по четырём этапам, реестр оплат с авансом и удержанием, касса по неделям. Маржа 3 220 000 ₽ и минус 365 000 ₽ в кассе на неделе 23 — в одном файле.

Предмет

Прибыль и деньги — два разных ответа

В отчёте «маржа 21,8 %» проект выглядит здоровым, а на 18 ноября ему нечем платить подрядчику. Разница не в ошибке расчёта, а в датах: аванс, акты и удержание приходят в разные недели. Пока они в одной строке «поступления», разрыв не видно.

Сценарий: вход, работа, выход

Что беру в системах, что делаю и что остаётся файлом

  1. Вход — договор и акты

    Контракт с авансом 30 % и удержанием 5 %, четыре акта, счета подрядчиков. Вход сконструирован: документы вымышленные, доступ к 1С заказчика не выдавался.

  2. Вход — себестоимость по этапам

    Смета и договоры подряда: 11 580 000 ₽ по четырём этапам. Без разбивки по этапам маржа проекта ничего не говорит о переговорах.

  3. Работа — БДР и касса

    Считается маржа по этапам, реестр оплат с датами, остаток по неделям. Удержание и аванс ставятся на свои даты — иначе разрыв не находится.

  4. Выход — файл на Диске и книга

    Файл выгружен на Диск и опубликован по ссылке: сделано. Чтение актов из 1С и сверка оплат онлайн — подключим, нужен OData на чтение.

Что получилось: БДР и касса

Две страницы: маржа по этапам с реестром оплат и касса по неделям с тремя способами закрыть разрыв. Данные вымышленные.

  1. 1

    БДР и реестр оплат

    Четыре этапа, маржа 21,8 %; аванс 4 440 000 ₽, три акта, удержание 740 000 ₽ отдельной строкой.

  2. 2

    Касса по неделям

    На неделе 23 остаток −365 000 ₽: платёж за оборудование 1 480 000 ₽ приходит раньше оплаты акта 1 240 000 ₽.

Что показывает контроль оплат

Маржа по этапам, а не по проектуОборудование даёт 11,6 %, ПНР — 41,0 %. Скидка «на проект» съедает маржу неравномерно, и это видно.
Удержание отдельной датой5 % (740 000 ₽) — деньги после приёмки. В кассе они стоят на неделе 26, а не «в среднем».
Касса по неделямОстаток считается по неделям: разрыв виден за две недели до платежа, пока есть время договориться.
Цена разрыва365 000 ₽ на 4 дня. Это не убыток проекта, но это проценты или переговоры — у варианта есть цена.
Кредиторка с просрочкой320 000 ₽ просрочено подрядчикам: это риск остановки работ, а не только штраф.
Решение — за финансистомИсточник денег выбирает финансовый директор или орган. Агент считает варианты и цену каждого.

Где контроль оплат чаще всего ломается

Акт подписан, счёт не выставленОплата не начинается: срок считается от счёта, а не от акта. Это видно в реестре как «нет счёта».
Удержание забыто в прогнозеТогда прогноз кассы optimistic на 5 % контракта — и решение по разрыву принимается по неполной картинке.
Аванс не закрыт актамиАванс без закрытия — это долг по поставке. В реестре он помечается отдельно.
Одна строка «прочие выплаты»Разрыв прячется в «прочем». Каждая выплата должна иметь документ и дату.

Проверка

Что проверяю в каждом расчёте оплат

  • Сумма актов не больше контракта

    Складываю акты, аванс и удержание: итог должен равняться цене контракта, иначе в реестре дырка.

  • Дата оплаты, а не только сумма

    Срок считается от счёта и условий договора. Без даты касса не считается.

  • Удержание на своей дате

    5 % уходят после приёмки: в прогнозе это отдельная неделя.

  • Маржа по этапам

    На уровне проекта маржа скрывает, где именно теряем: 11,6 % на оборудовании — это факт для переговоров.

  • Просроченная кредиторка

    Отдельная строка: она влияет на риск остановки работ, а не только на штраф.

  • Данные помечены

    Вымышленный кейс подписан в файле и на странице; формулы рабочие.

Где данные

Откуда берутся числа

  • 1С и банк

    Акты, счета, платежи: суммы, даты, назначения. Основа реестра оплат.

  • Договор и смета

    Аванс, удержание, условия оплаты, себестоимость по этапам.

  • Счета подрядчиков

    Кредиторка: что выставлено, что оплачено, что просрочено.

  • План-график

    Даты шлюзов: от них зависит, когда можно выставить акт.

Лог выхода

Файл ушёл в систему — вот ссылка

Расчёт выгружен в папку проекта на Яндекс Диске и опубликован: https://yadi.sk/i/Axxqz9ecHDbmGw — сделано сейчас, а не «подключим». Вход (договор, акты, смета) сконструирован вручную: доступа к 1С заказчика не выдавалось, поэтому чтение актов напрямую — обещание с условием и сроком.

Что остановит

Возражения и ответы

  • У нас это делает финдиректор

    И правильно: решение об источнике денег — его. Агент собирает реестр актов, считает кассу по неделям и цену каждого варианта.

  • Данные в 1С не сходятся с банком

    Тогда это и будет первой строкой расчёта: расхождение по дате и сумме. Реестр оплат строится по документам, а не по остаткам.

  • Удержание — это наши деньги, зачем разделять

    Затем, что они приходят позже. В кассе удержание стоит на неделе 26, иначе разрыв на 18 ноября выглядит меньше, чем он есть.

  • Мы работаем без аванса

    Тогда разрыв будет больше и раньше. Модель та же: акты, даты, касса по неделям.

  • Кто решает, сдвигать платёж или брать кредит

    Финансовый директор или коллегиальный орган. Агент показывает цену обоих вариантов.

Вопросы

Что нужно на входе?

Договор с условиями оплаты, акты и счета, смета по этапам, выписка или реестр платежей.

Считается ли налог?

В расчёте — маржа до налога; налог считается по вашей системе и в кассовом разрыве не участвует.

Как часто обновлять?

По факту оплаты и по закрытию шлюза: реестр оплат живёт событиями, а не календарём.

Можно ли смотреть по нескольким проектам?

Да: БДР и касса считаются по проекту, свод по портфелю — отдельный разрез.

Файл можно править?

Да, книга с формулами. Пока сумма актов не превышает контракт, расчёт сходится.

  • БДР по этапам
  • Удержание на дате
  • Касса по неделям
  • Цена разрыва
  • Данные вымышленные

Роли

Сверьте оплаты по своему проекту

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