В большинстве строительных компаний деньги живут в трёх-четырёх местах сразу: платёжки в одном файле, закупки во втором, зарплата в третьем, а выписка из банка вообще приходит отдельно. Сложить их в одну прибыль можно только руками — и каждый раз получается немного другая цифра.
В Brickly доход и расход не собираются заново для каждого отчёта. Есть один реестр: два списка строк, у каждой строки — источник, дата, сумма, проект и статья. Обзор финансов, P&L, движение денег, портфель проектов и выгрузки читают один и тот же список. Поэтому они не могут разойтись между собой.
Расход складывается из четырёх источников
Ни один из них не «вводится в отчёт» — все четыре появляются как побочный результат обычной работы в своих модулях:
- Оплаченные платёжные заявки. Заявка попадает в расход только со статусом «оплачена», с датой фактической оплаты. Статья расхода берётся из явного выбора в заявке, а для старых заявок без него — из статьи бюджета привязанной позиции.
- Оплаты по закупочным сделкам. Каждый платёж по сделке с поставщиком — отдельная строка расхода с датой платежа.
- Фонд оплаты труда. Начисленная зарплата попадает в расход из модуля «Команда/HR» — без ручного переноса в финансы.
- Списания казначейства без заявки. Прямое списание со счёта, у которого нет платёжной заявки: банковская комиссия, налог, разовый платёж.
Доход — три контура, и два из них исторические
- График платежей по договорам продаж — действующий контур. Продали квартиру, подписали договор, покупатель платит по графику: каждый факт оплаты становится строкой дохода.
- Поступления казначейства — деньги, пришедшие на счёт вне договоров продаж: возвраты, прочие поступления.
- Старые брони — совместимость с данными, заведёнными до перехода на договоры. Новые записи сюда не попадают, но исторические цифры не теряются.
Остаток на счетах — единственный владелец
Остаток не пересчитывается в обзоре по своей формуле. Его отдаёт казначейство — тот модуль, который ведёт сами счета и операции. Обзор финансов просто показывает результат. Это скучно и именно поэтому правильно: у числа один хозяин, а не два независимых расчёта, которые однажды разойдутся на комиссию банка и будут расходиться дальше.
Законтрактовано, оплачено, к доплате
Обязательства компании считаются одинаково по двум типам договорённостей — по договорам подряда и по закупочным сделкам. Сделка считается обязательством с момента подтверждения поставщиком и остаётся им весь цикл: подтверждена, в производстве, в доставке, поставлена частично, поставлена, закрыта.
До этого правила «Обзор» и «Портфель проектов» видели только договоры подряда: оплаченная закупка не увеличивала «законтрактовано», не уменьшала остаток бюджета проекта — и при этом уже сидела в расходах и в P&L. Проект выглядел недоосвоенным ровно на сумму всех закупок.
Почему прибыль сходится
Прибыль в Brickly — не отдельно введённая цифра и не отчёт, который «сводят». Это разность двух списков, которые вы уже наполнили обычной работой. Провалиться из любой суммы можно до конкретной строки: до платёжной заявки с её файлом, до сделки с её поставщиком, до платежа покупателя по графику. Если цифра не нравится — вопрос не к отчёту, а к строке, и она всегда одна и та же.
