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

Настройка бюджетов Beancount и их отслеживание в Fava

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

В этом руководстве объясняется, как настроить, управлять и визуализировать бюджеты для каждого счета, используя директивы custom Beancount и веб-интерфейс Fava.

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

Как установить бюджет​

Бюджеты определяются с помощью директивы custom "budget" в вашем файле Beancount. Синтаксис прост:

YYYY-MM-DD custom "budget" AccountName "interval" Amount CURRENCY
  • AccountName: Конкретный счет расходов или доходов, для которого вы хотите установить бюджет.
  • interval: Бюджетный период. Должен быть одним из: daily, weekly, monthly, quarterly или yearly.
  • Amount: Целевая сумма для интервала.

Как это работает:

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

Пример:

; Установить дневной бюджет на кофе
2024-01-01 custom "budget" Expenses:Food:Coffee       "daily"      5.00 USD
 
; Установить месячный бюджет на продукты
2024-01-01 custom "budget" Expenses:Food:Groceries    "monthly"  600.00 USD
 
; Установить годовой бюджет на отпуск
2024-01-01 custom "budget" Expenses:Travel:Vacation   "yearly"  3000.00 USD

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

2024-03-01 custom "budget" Expenses:Food:Groceries    "monthly"  650.00 USD

Визуализация бюджетов в Fava​

Fava, веб-интерфейс для Beancount, автоматически определяет и отображает ваши бюджеты в нескольких ключевых отчетах, позволяя вам сравнивать ваши фактические расходы с вашими целями:

  • Отчет о прибылях и убытках: Диаграммы Чистая прибыль и Расходы будут показывать запланированные и фактические значения.
  • Изменения (ежемесячно): Показывает запланированную сумму за каждый месяц.
  • Остатки (ежемесячно): Показывает совокупную запланированную сумму с течением времени.

Расширенные методы бюджетирования​

Перенос бюджета​

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

  1. Пополните бюджетный счет в начале периода:

    2024-02-01 * "Пополнение месячного бюджета на развлечения"
      Assets:Checking                  -200.00 USD
      Assets:Budget:Entertainment       200.00 USD
  2. Тратьте непосредственно с этого бюджетного счета:

    2024-02-15 * "Вечер кино"
      Expenses:Entertainment:Movies      30.00 USD
      Assets:Budget:Entertainment       -30.00 USD

    Оставшийся баланс в Assets:Budget:Entertainment - это ваша сумма переноса.

Отслеживание целей по доходам​

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

; Установить ежемесячные цели по доходам
2024-01-01 custom "budget" Income:Salary      "monthly" -5000.00 USD
2024-01-01 custom "budget" Income:Freelance   "monthly" -1000.00 USD

Устранение неполадок​

Если ваши бюджеты не отображаются в Fava, проверьте следующее:

  1. Формат даты: Убедитесь, что даты указаны в формате YYYY-MM-DD.
  2. Названия счетов: Название счета в директиве должно точно соответствовать названию счета в ваших транзакциях.
  3. Правописание интервала: Интервал должен быть одним из пяти допустимых вариантов и в нижнем регистре (например, "monthly").
  4. Перезапустите Fava: Если вы недавно добавили директивы, может потребоваться перезапуск сервера Fava, чтобы он обнаружил изменения.

Источник: https://beancount.io/ru/docs/Tips/budgets