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

Бюджетування в Beancount

Як налаштувати та візуалізувати бюджети за рахунками за допомогою користувацьких директив у Beancount з інтеграцією Fava.

У цьому посібнику пояснюється, як налаштовувати, керувати та візуалізувати бюджети за рахунками за допомогою користувацьких директив 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, автоматично виявляє та відображає ваші бюджети в кількох ключових звітах, що дозволяє порівнювати фактичні витрати з вашими цілями:

  • Звіт про прибутки та збитки: Діаграми Чистий прибуток та Витрати покажуть бюджетні та фактичні значення.
  • Зміни (щомісячно): Показує заплановану суму для кожного місяця.
  • Залишки (щомісячно): Показує кумулятивну бюджетну суму з часом.

Просунуті методи бюджетування

Перенесення залишку бюджету

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

  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. Формат дати: Переконайтеся, що дати мають формат РРРР-ММ-ДД.
  2. Назви рахунків: Назва рахунку в директиві має точно збігатися з назвою рахунку у ваших транзакціях.
  3. Написання інтервалу: Інтервал має бути одним із п'яти допустимих варіантів і написаний малими літерами (наприклад, "monthly").
  4. Перезапустіть Fava: Якщо ви щойно додали директиви, може знадобитися перезапуск сервера Fava, щоб він підхопив зміни.

Джерело: https://beancount.io/uk/docs/Tips/budgets