ФИНАНСОВАЯ ОБЛАСТЬP1L3

Накопительный план-факт незавершённого периода

Как согласовать финансовый год, промежуточный cutoff и часть месячного бюджета, не складывая перекрывающиеся итоги.

Справочный материал. Контракты данных, архитектурные решения и ограничения применения. Источники приведены в материалах, где используются внешние основания.

Задача и границы#

Читателю нужно сравнить расходы с бюджетом с начала финансового года до промежуточной даты, когда текущий месяц ещё не завершён. Полный месячный план и накопленный факт покрывают разные интервалы. Здесь задан проектный контракт управленческой витрины для денежных потоков расходов, без прогнозирования и реализации бюджетного движка. Месячный план-факт определяет версии, знаки и сопоставимость измерений; эта страница добавляет временную границу сравнения. Остатки требуют отдельных правил агрегации.

IAS 34 регулирует промежуточную финансовую отчётность, заявляющую соответствие IFRS, а не распределение управленческого бюджета по дням. Предложенные ниже критерии не являются требованиями этого стандарта и не подтверждают соответствие отчётности IFRS.

Зерно, календарь и два cutoff#

Одна строка результата относится к юридическому лицу, регистру, центру затрат, статье расходов и валюте в фиксированном периметре. Ключ также включает финансовый год, calendar_version, начало интервала, его исключённую правую границу business_end, scenario_id, budget_version, profile_version при наличии, actual_release_id и версию определения сравнения. Входной факт - выбранная версия строки проводки; месячный план - одна утверждённая сумма на тот же бизнес-ключ и финансовый месяц.

Календарь явно задаёт начало финансового года и границы месяцев: 1 января и календарные месяцы не подразумеваются. Интервал факта полуоткрытый: year_start <= business_date < business_end. Для включения всего 10 октября правая граница - 11 октября по согласованному бизнес-календарю. При внутридневном срезе нужны время события, часовой пояс и правило включения границы; одна дата проводки этого не обеспечивает.

Cutoff известности observed_at закрепляется отдельно в манифесте выпуска. Это ограничение на доступную информацию, а не конец бизнес-интервала. Поздняя проводка внутри интервала может войти в новый выпуск, но не переписывает старое сравнение. Версии плана и профиля выбирают с учётом их утверждения и доступности на согласованный момент; исправленный задним числом профиль не должен незаметно менять прежний результат. Закрытие периода определяет состояние выпуска: законченный по календарю месяц может оставаться неполным по доставке.

В примере суммы - целые копейки RUB, масштаб 2, расходы положительные, возвраты отрицательные. План и факт имеют одинаковый валютный basis и классификацию; валюты не складываются между собой. В накопительном сравнении сохраняются исходные суммы A и P, их состояния и денежное отклонение A - P.

Завершённые месяцы и неполный месяц#

Разбейте выбранный интервал на неперекрывающиеся финансовые месяцы и текущую часть месяца. Для завершённых месяцев берётся полный план выбранной версии и факт того же интервала при общей версии выпуска. Текущий месяц обрабатывается по явно выбранному режиму:

Режим План текущего месяца Смысл результата
Только завершённые месяцы Не включается, как и текущий факт Отклонение на конец последнего полного месяца
Сопоставимый промежуточный план Часть плана по утверждённому профилю до business_end Отклонение на одинаковом временном интервале
Полный месячный ориентир Включается весь месячный план Использование бюджета к дате; не отклонение от плана к дате

Для последнего режима храните разные интервалы A и P и явную метку ориентирного сравнения. Его нельзя объединять с сопоставимыми отклонениями или выдавать за отставание от календарного графика. Если профиль отсутствует, допустим полный ориентир либо сравнение только завершённых месяцев; сопоставимое отклонение для текущего месяца остаётся недоступным.

Контракт внутримесячного профиля#

Профиль задаёт долю месячного плана для каждого неперекрывающегося дня или другого утверждённого интервала. Его ключ включает бизнес-ключ плана, месяц, версию бюджета и версию профиля. Доли неотрицательны и в сумме равны 1 для всего месяца; частичный план равен сумме назначенных сумм только внутри выбранной части. Отдельно проверяется сохранение месячной денежной суммы после округления по согласованному правилу остатка. Само умножение на долю не меняет знак отрицательного плана.

Равномерное распределение по календарным или рабочим дням - возможная утверждённая гипотеза, а не доказательство реального графика затрат. Сезонные расходы, платежи в определённые даты и неодинаковые рабочие календари могут требовать другого профиля. Не выводите плановый профиль из наблюдённого факта: такое правило делает контроль зависимым от проверяемой величины. Метод распределения затрат между получателями здесь не рассматривается.

Синтетический пример: завершённый месяц имеет P = 100000 и A = 90000 копеек; текущий месячный P = 200000, факт к cutoff = 60000. Утверждённый профиль относит к прошедшей части 25% текущего плана, то есть 50000. Сопоставимый накопительный P = 150000, A = 150000, отклонение равно 0. Полный ориентир P = 300000 даёт разность -150000, которая не доказывает экономию или отставание. Без утверждённого профиля значение 25% использовать нельзя. Числа иллюстративные, не данные автора.

Неперекрывающиеся итоги и критерии допуска#

Накопленные значения за январь и январь-февраль перекрываются: складывать их нельзя. Для дальнейшего накопления используют исходные движения или неперекрывающиеся месячные приращения. Разность двух накопительных итогов даёт приращение только при одинаковых версиях, периметре, basis и общей истории: при пересмотре ранних месяцев она включает также исправления. Каждый новый cutoff создаёт отдельный срез, а не дополнительное слагаемое.

Критерии приёмки задаются для каждой ожидаемой группы:

  1. Календарь покрывает интервал без пропусков и пересечений; обе меры имеют согласованные бизнес-границы либо явно обозначенный режим полного ориентира.
  2. Закреплены версии входа, бюджета, профиля и cutoff известности. Все требуемые месяцы плана присутствуют; явный ноль отличается от отсутствующей строки.
  3. Доставка факта полна до выбранной границы, обязательные суммы известны. Дата последней полученной проводки сама по себе полноту не доказывает.
  4. Для сопоставимого промежуточного плана профиль утверждён, однозначен и покрывает месяц; сумма его денежных частей совпадает с месячным планом.
  5. Итоги построены из неперекрывающихся частей; A и P сверены с входами по периметру и валюте. Неполная группа не исчезает из общего покрытия.

При нарушении сохраняют причину и исходные меры, но не допускают окончательное сопоставимое отклонение. Положительное A - P означает превышение расходов относительно выбранного плана, а не автоматическую оценку эффективности. Проценты требуют отдельного определения знаменателя, описанного в статье о SQL.

Алгоритм и границы инструмента#

Ниже только псевдокод; исполняемые SQL/Python/DAX не представлены и не запускались.

Закрепить календарь, год, business_end, cutoff известности и версии.
Выбрать режим сравнения и ожидаемые бизнес-группы.
Разбить бизнес-интервал на неперекрывающиеся части.
Собрать факт выбранного выпуска на этом интервале.
Собрать полные планы завершённых месяцев.
Для текущего месяца применить утверждённый профиль или режим ориентира.
Проверить покрытие, полноту, сохранение сумм и совместимость basis.
При допуске сохранить A, P, A - P, интервалы, режим и версии.
При отказе сохранить состояние без окончательного отклонения.

Microsoft TOTALYTD вычисляет накопление в текущем контексте DAX и позволяет указать конец финансового года. Это поведение инструмента, не проверка профиля бюджета, полноты доставки или согласованности выпусков. Здесь не заявлена проверка DAX, PostgreSQL либо другой СУБД. Для нестандартного календаря сначала определяют явное соответствие дат финансовым периодам.

Для сравнения двух фактических лет используйте межгодовое сравнение расходов: оно задаёт календарные пары и сопоставимый периметр.

Связанные материалы и вопросы#

Для базовой сопоставимости используйте месячный план-факт, для границы известности и версий - закрытие периода, для отличия потока от остатка - остатки и обороты.

  1. Почему полный месячный бюджет не доказывает отставание расходов на десятый день месяца?
  2. Какие версии должны совпадать, чтобы разность двух YTD-срезов представляла только движение нового месяца?
  3. Чем конец бизнес-интервала отличается от cutoff известности и подтверждённой полноты доставки?

Источники и документация

  1. IFRS Foundation - IAS 34 Interim Financial Reporting ↗
  2. Microsoft Learn - TOTALYTD (DAX) ↗

Источники нужны для самостоятельной проверки. Примеры и интерпретации на сайте могут быть учебными упрощениями.