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

Конфигурация параметров в Beancount

Поведение Beancount можно настроить с помощью директив option, размещенных в верхней части вашего основного файла книги учета. Эти пары "ключ-значение" контролируют все, от названий ваших корневых счетов до способов обработки конвертации валют. Правильная настройка этих параметров необходима для адаптации Beancount к вашим конкретным потребностям. ⚙️

Основные параметры конфигурации

options-configuration

Эти параметры контролируют фундаментальную настройку вашей книги учета.

Базовые настройки

Это некоторые из наиболее часто используемых параметров, которые вы будете устанавливать.

option "title" "Личная книга учета"
option "render_commas" "TRUE"
option "plugin_processing_mode" "raw"
  • title: Задает заголовок для отчетов и веб-интерфейсов.
  • render_commas: Если TRUE, числа в отчетах будут отформатированы с разделителями тысяч (например, 1 000 000.00).
  • plugin_processing_mode: Контролирует способ загрузки плагинов. raw загружает только те плагины, которые вы явно указываете, а default включает стандартный набор полезных плагинов.

Настройка наименований счетов

Вы можете переименовать пять основных типов счетов Beancount. Это чисто косметическое изменение, которое меняет только то, как они отображаются в отчетах.

option "name_assets" "Активы"
option "name_liabilities" "Обязательства"
option "name_equity" "Капитал"
option "name_income" "Доходы"
option "name_expenses" "Расходы"

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

Beancount автоматически создает несколько специальных счетов капитала для обработки входящих остатков и расчетов доходов. Вы можете указать пользовательские имена для этих счетов.

option "account_previous_balances" "Входящие-Остатки"
option "account_previous_earnings" "Прибыль:Предыдущая"
option "account_current_earnings" "Прибыль:Текущая"
option "account_previous_conversions" "Конвертации:Предыдущие"
option "account_current_conversions" "Конвертации:Текущие"
option "account_rounding" "Округление"
  • account_previous_balances: Счет, используемый для ввода входящих остатков в вашу книгу учета.
  • account_current_earnings: Счет, на котором накапливаются все итоговые суммы доходов и расходов за текущий период, фактически рассчитывая ваш чистый доход.
  • account_rounding: Счет, на который разносятся небольшие расхождения, возникающие при автоматическом округлении.

Настройки точности и допустимости

Эти параметры контролируют, как Beancount обрабатывает округление и небольшие расхождения в транзакциях.

Конфигурация допустимого отклонения по умолчанию

Beancount может автоматически определять допустимое отклонение для транзакций с несколькими валютами или стоимостями, допуская небольшие различия в округлении без возникновения ошибок.

option "inferred_tolerance_default" "USD:0.01"
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"
  • inferred_tolerance_default: Устанавливает допустимое отклонение по умолчанию для данной валюты. Вы можете использовать *:0.5, чтобы установить значение по умолчанию для всех валют.
  • inferred_tolerance_multiplier: Коэффициент, применяемый к допустимому отклонению для обеспечения немного большей погрешности.
  • infer_tolerance_from_cost: Если True, допустимое отклонение будет выводиться из количества цифр в стоимости.

Метод учета

Этот параметр определяет, как Beancount обрабатывает транзакции, в которых одна сторона является предполагаемой.

option "booking_method" "SIMPLE"
  • SIMPLE: Позволяет автоматически балансировать только один товар на транзакцию. Это рекомендуемый и наиболее распространенный метод.
  • FULL: Позволяет балансировать несколько товаров, что является более сложным и редко необходимым методом.

Управление валютой

Правильная конфигурация валюты жизненно важна для точной отчетности.

Операционная валюта

Вы можете объявить одну или несколько "операционных валют". Это основные валюты, в которых вы совершаете транзакции и хотите видеть их в отчетах.

option "operating_currency" "USD"
option "operating_currency" "EUR"
option "conversion_currency" "NOTHING"

Объявление операционных валют сообщает Beancount о необходимости создания выделенных столбцов для них в отчетах, что упрощает просмотр вашего финансового положения в наиболее используемых вами валютах. Установка для conversion_currency значения NOTHING отключает столбец автоматической конвертации, что часто предпочтительнее для более чистых отчетов.

Управление документами

Beancount может связывать транзакции с внешними файлами, такими как квитанции или счета. Параметр documents указывает корневую папку(и), в которой хранятся эти файлы.

option "documents" "/путь/к/архиву/документов"

Требования:

  • Файлы должны быть названы в формате ГГГГ-ММ-ДД.описание.ext (например, 2025-07-28.amazon-order.pdf).
  • Вы можете указать несколько параметров documents для разных папок.
  • Пути могут быть абсолютными или относительными к основному файлу книги учета.

Система плагинов

Функциональность Beancount можно расширить с помощью плагинов.

Конфигурация плагинов

Вы включаете плагин, указав его путь к модулю.

option "plugin" "beancount.plugins.module_name"

Как упоминалось ранее, параметр plugin_processing_mode определяет, загружает ли Beancount только указанные вами плагины (raw) или также набор по умолчанию (default).

Технические ограничения

Эти параметры контролируют технические аспекты парсера Beancount.

Обработка строк

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

option "long_string_maxlines" "64"

Экспериментальные функции

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

option "experiment_explicit_tolerances" "True"

Это позволяет вам указать допустимое отклонение непосредственно в проводке транзакции, например так: 532.23 ~ 0.001 USD.

Управление поведением системы

Эти параметры предназначены для поддержания совместимости или определенного поведения системы.

Поддержка устаревших версий

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

option "use_legacy_fixed_tolerances" "True"

Фиксированные значения допустимого отклонения в устаревших версиях были:

  • Директивы Balance/Pad: 0.015 единиц
  • Транзакции: 0.005 единиц

Рекомендуемая конфигурация ✅

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

Базовая настройка

option "title" "Личная книга учета"
option "operating_currency" "USD" // Измените на вашу основную валюту
option "documents" "/home/user/Documents/beancount" // Измените на путь к вашим документам
option "render_commas" "TRUE"

Контроль точности

option "inferred_tolerance_default" "USD:0.01" // Измените на вашу основную валюту
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"

Структура счетов

option "account_previous_balances" "Капитал:Входящие-Остатки"
option "account_current_earnings" "Капитал:Текущая-Прибыль"
option "account_rounding" "Расходы:Округление"

Эта настройка обеспечивает прочную основу для новой книги учета Beancount, обеспечивая четкую отчетность, разумный контроль точности и логичную структуру счетов капитала.