Перейти до основного вмісту

Конфігурація параметрів у 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" "/шлях/до/документів/архів"

Вимоги:

  • Файли повинні бути названі у форматі YYYY-MM-DD.опис.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, забезпечуючи чітку звітність, розумний контроль точності та логічну структуру рахунків власного капіталу.