Добавьте метаданные 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", учитывается буквально.
Приоритет
Выигрывает наивысший приоритет:
- Метаданные
cash-flow-roleв директивеopenсчета. - Встроенная стандартная эвристика ниже.
Стандартная классификация
Счет без объявленной роли классифицируется по его корню, а проверка названия определяет принадлежность к денежным средствам:
| Корень счета | Стандартная деятельность |
|---|---|
Income, Expenses | Operating |
Assets (не денежные) | Investing |
Liabilities, Equity | Financing |
Активы, названия которых содержат Cash, Checking, Savings или Bank, по умолчанию считаются денежными средствами и их эквивалентами. Объявленная роль переопределяет проверку названия в обоих направлениях.
Недопустимые значения
Нераспознанное значение считается отсутствующим. Опечатка, такая как "invsting", нестроковое значение или неправильный регистр, приводит к возврату к стандартной эвристике, и отчет помечает счет на панели статуса примечанием о неизвестном значении. Ничто не перестает отображаться, и ничто не принимается молча.
Изменение классификации
Классификации не зависят от даты. Отчет за любой период использует объявления в том виде, в котором они существуют на сегодняшний день. Чтобы изменить классификацию, отредактируйте директиву open; система контроля версий реестра фиксирует, что и когда было изменено.
Где применяются объявления
Один общий резолвер определяет итоговую роль для каждого счета, и все потребители читают из него:
- Отчет о движении денежных средств: разделы деятельности, набор денежных средств и их эквивалентов и итоговая сверка.
- Экспорт в CSV, Markdown и печатные форматы: те же числа. Раскрытие информации о предполагаемой классификации появляется только для строк, все еще разрешенных эвристикой.
- Схема денежных потоков на обзорной странице:
"cash"исключает счет из узлов потоков, а объявленные роли деятельности учитываются для счетов, не относящихся к Income. Income остается источником, а Equity остается исключенным из схемы; объявления никогда не переназначают эти две категории. - Панель статуса счета: объявленный счет больше не отображается как неклассифицированный актив.
Переносимость
Метаданные в директивах open — это стандартный синтаксис Beancount. bean-check, Fava и все инструменты v2/v3 разбирают их и игнорируют неизвестный ключ, поэтому реестр остается полностью пригодным для использования вне Beancount.io. См. Синтаксис Beancount для общего формата метаданных.
