Перейти к основному содержимому

Роли денежных потоков

Справочник по метаданным cash-flow-role для директивы open: один ключ, четыре значения (cash, operating, investing, financing), которые определяют, как отчет о движении денежных средств Beancount.io классифицирует счет.

Добавьте метаданные cash-flow-role к директиве open счета, чтобы указать, как отчет о движении денежных средств классифицирует этот счет. Один ключ, четыре значения. Счета без этих метаданных сохраняют стандартную эвристику.

2000-01-01 open Assets:US:Brokerage
  cash-flow-role: "investing"
 
2000-01-01 open Assets:US:Marcus:Savings
  cash-flow-role: "cash"

Ключ и значения

КлючГдеТип значенияДопустимые значения
cash-flow-roleметаданные директивы openстрока"cash", "operating", "investing", "financing"

Сопоставление чувствительно к регистру и является точным. Значение должно быть строкой в кавычках. Другие ключи метаданных в той же директиве игнорируются отчетом, а этот ключ игнорируется всеми другими инструментами.

Что делает каждое значение

Объявленная роль отвечает сразу на два вопроса: является ли счет частью денежной массы и к какому разделу деятельности он относится в противном случае.

  • "cash" — счет присоединяется к набору денежных средств и их эквивалентов. Денежные счета никогда не появляются как статьи деятельности. Итоговая строка отчета, чистое изменение денежных средств и их эквивалентов, равна сумме их изменений за период. Перемещения между двумя денежными счетами взаимозачитываются. Используйте это для счетов, которые не распознает эвристика по названию, например, для фонда денежного рынка или кошелька со стейблкоинами.
  • "operating", "investing", "financing" — счет не является денежным, и его изменение за период отображается как статья в соответствующем разделе деятельности. Объявление одной из этих ролей для счета, который эвристика по названию посчитала бы денежным, например Assets:US:Bank:CD, одновременно удаляет его из набора денежных средств и относит к указанному разделу.

Объявлениям доверяют больше, чем бухгалтерским условностям. Счет Equity, объявленный как "operating", учитывается буквально.

Приоритет

Выигрывает наивысший приоритет:

  1. Метаданные cash-flow-role в директиве open счета.
  2. Встроенная стандартная эвристика ниже.

Стандартная классификация

Счет без объявленной роли классифицируется по его корню, а проверка названия определяет принадлежность к денежным средствам:

Корень счетаСтандартная деятельность
Income, ExpensesOperating
Assets (не денежные)Investing
Liabilities, EquityFinancing

Активы, названия которых содержат Cash, Checking, Savings или Bank, по умолчанию считаются денежными средствами и их эквивалентами. Объявленная роль переопределяет проверку названия в обоих направлениях.

Недопустимые значения

Нераспознанное значение считается отсутствующим. Опечатка, такая как "invsting", нестроковое значение или неправильный регистр, приводит к возврату к стандартной эвристике, и отчет помечает счет на панели статуса примечанием о неизвестном значении. Ничто не перестает отображаться, и ничто не принимается молча.

Изменение классификации

Классификации не зависят от даты. Отчет за любой период использует объявления в том виде, в котором они существуют на сегодняшний день. Чтобы изменить классификацию, отредактируйте директиву open; система контроля версий реестра фиксирует, что и когда было изменено.

Где применяются объявления

Один общий резолвер определяет итоговую роль для каждого счета, и все потребители читают из него:

  • Отчет о движении денежных средств: разделы деятельности, набор денежных средств и их эквивалентов и итоговая сверка.
  • Экспорт в CSV, Markdown и печатные форматы: те же числа. Раскрытие информации о предполагаемой классификации появляется только для строк, все еще разрешенных эвристикой.
  • Схема денежных потоков на обзорной странице: "cash" исключает счет из узлов потоков, а объявленные роли деятельности учитываются для счетов, не относящихся к Income. Income остается источником, а Equity остается исключенным из схемы; объявления никогда не переназначают эти две категории.
  • Панель статуса счета: объявленный счет больше не отображается как неклассифицированный актив.

Переносимость

Метаданные в директивах open — это стандартный синтаксис Beancount. bea check, Fava и все инструменты v2/v3 разбирают их и игнорируют неизвестный ключ, поэтому реестр остается полностью пригодным для использования вне Beancount.io. См. Синтаксис Beancount для общего формата метаданных.

Источник: https://beancount.io/ru/docs/cash-flow-roles