У цьому посібнику пояснюється, як налаштовувати, керувати та візуалізувати бюджети за рахунками за допомогою користувацьких директив custom у Beancount та веб-інтерфейсу Fava.
Робочі приклади Ledger: Моделюйте кожен конверт як субрахунок власного капіталу, накладений на реальний банківський рахунок. Розподіл зарплати переміщує вартість у межах власного капіталу, тоді як покупка фіксує як рух готівки, так і бюджетне рішення.
Як встановити бюджет
Бюджети визначаються за допомогою директиви custom "budget" у вашому файлі Beancount. Синтаксис простий:
РРРР-ММ-ДД custom "budget" НазваРахунку "інтервал" Сума ВАЛЮТАНазваРахунку: Конкретний рахунок витрат або доходу, для якого ви хочете встановити бюджет.інтервал: Період бюджету. Має бути одним ізdaily,weekly,monthly,quarterlyабоyearly.Сума: Цільова сума для інтервалу.
Як це працює:
- Директива бюджету діє з дати її встановлення до тих пір, поки інша директива бюджету для того самого рахунку не замінить її.
- 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, перевірте наступне:
- Формат дати: Переконайтеся, що дати мають формат
РРРР-ММ-ДД. - Назви рахунків: Назва рахунку в директиві має точно збігатися з назвою рахунку у ваших транзакціях.
- Написання інтервалу: Інтервал має бути одним із п'яти допустимих варіантів і написаний малими літерами (наприклад,
"monthly"). - Перезапустіть Fava: Якщо ви щойно додали директиви, може знадобитися перезапуск сервера Fava, щоб він підхопив зміни.

