В этом руководстве объясняется, как настроить, управлять и визуализировать бюджеты для каждого счета, используя директивы custom Beancount и веб-интерфейс Fava.
Рабочие примеры бухгалтерских книг: Моделируйте каждый конверт как субсчет капитала, наложенный на реальный банковский счет. Распределение зарплаты перемещает стоимость внутри капитала, а покупка фиксирует как движение наличных, так и бюджетное решение.
Как установить бюджет
Бюджеты определяются с помощью директивы custom "budget" в вашем файле Beancount. Синтаксис прост:
YYYY-MM-DD custom "budget" AccountName "interval" Amount CURRENCYAccountName: Конкретный счет расходов или доходов, для которого вы хотите установить бюджет.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, автоматически определяет и отображает ваши бюджеты в нескольких ключевых отчетах, позволяя вам сравнивать ваши фактические расходы с вашими целями:
- Отчет о прибылях и убытках: Диаграммы Чистая прибыль и Расходы будут показывать запланированные и фактические значения.
- Изменения (ежемесячно): Показывает запланированную сумму за каждый месяц.
- Остатки (ежемесячно): Показывает совокупную запланированную сумму с течением времени.
Расширенные методы бюджетирования
Перенос бюджета
Система бюджета по умолчанию сбрасывается каждый период. Чтобы реализовать "перенос", когда неизрасходованные средства переносятся, используйте специальный счет активов для хранения бюджетных средств.
-
Пополните бюджетный счет в начале периода:
2024-02-01 * "Пополнение месячного бюджета на развлечения" Assets:Checking -200.00 USD Assets:Budget:Entertainment 200.00 USD -
Тратьте непосредственно с этого бюджетного счета:
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, проверьте следующее:
- Формат даты: Убедитесь, что даты указаны в формате
YYYY-MM-DD. - Названия счетов: Название счета в директиве должно точно соответствовать названию счета в ваших транзакциях.
- Правописание интервала: Интервал должен быть одним из пяти допустимых вариантов и в нижнем регистре (например,
"monthly"). - Перезапустите Fava: Если вы недавно добавили директивы, может потребоваться перезапуск сервера Fava, чтобы он обнаружил изменения.

