Бюджетування в Beancount
Цей посібник пояснює, як налаштувати, керувати та візуалізувати бюджети для кожного рахунку за допомогою директив custom у Beancount та веб-інтерфейсу Fava.
1. Як встановити бюджет
Бюджети визначаються за допомогою директиви 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
2. Візуалізація бюджетів у Fava
Fava, веб-інтерфейс для Beancount, автоматично виявляє та відображає ваші бюджети в декількох ключових звітах, що дозволяє порівнювати ваші фактичні витрати з вашими цілями:
- Звіт про прибутки та збитки: Діаграми Чистий прибуток і Витрати відображатимуть бюджетні та фактичні значення.
- Зміни (щомісяця): Показує бюджетну суму за кожен місяць.
- Баланси (щомісяця): Показує сукупну бюджетну суму з плином часу.
3. Розширені техніки бюджетування
Перенесення бюджету Система бюджетування за замовчуванням скидається кожен період. Щоб реалізувати "перенесення", коли невитрачені кошти переносяться, використовуйте спеціальний рахунок активів для зберігання бюджетних коштів.
-
Профінансуйте бюджетний рахунок на початку періоду:
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
4. Пошук та усунення несправностей
Якщо ваші бюджети не відображаються у Fava, перевірте наступне:
- Формат дати: Переконайтеся, що дати вказані у форматі
YYYY-MM-DD. - Назви рахунків: Назва рахунку в директиві має точно збігатися з назвою рахунку у ваших транзакціях.
- Написання інтервалу: Інтервал має бути одним із п’яти дійсних варіантів і у нижньому регістрі (наприклад,
"monthly"). - Перезапустіть Fava: Якщо ви нещодавно додали директиви, може знадобитися перезапуск сервера Fava, щоб він підхопив зміни.