Преминете към основното съдържание

Бюджетиране в 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, автоматично открива и показва вашите бюджети в няколко ключови отчета, което ви позволява да сравните действителните си разходи с вашите цели:

  • Отчет за приходите и разходите (Income Statement): Графиките Нетна печалба (Net Profit) и Разходи (Expenses) ще показват бюджетирани спрямо действителни стойности.
  • Промени (месечно) (Changes (monthly)): Показва бюджетираната сума за всеки месец.
  • Баланси (месечно) (Balances (monthly)): Показва кумулативната бюджетирана сума във времето.

3. Разширени техники за бюджетиране

Прехвърляне на бюджет (Budget Rollover) Системата по подразбиране за бюджетиране се нулира всеки период. За да приложите "прехвърляне", където неизразходваните средства се прехвърлят, използвайте специализирана сметка на активи, за да задържите бюджетирани средства.

  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 е вашата сума за прехвърляне.

Проследяване на цели за приходи (Tracking Income Goals) Можете също така да зададете цели за вашите сметки за приходи, като използвате отрицателна сума на бюджета. Това позволява на 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, проверете следното:

  1. Формат на датата (Date Format): Уверете се, че датите са във формат YYYY-MM-DD.
  2. Имена на сметки (Account Names): Името на сметката в директивата трябва да съвпада точно с името на сметката във вашите транзакции.
  3. Правопис на периода (Interval Spelling): Периодът трябва да бъде една от петте валидни опции и с малки букви (напр., "monthly").
  4. Рестартирайте Fava (Restart Fava): Ако наскоро сте добавили директивите, може да се наложи рестартиране на Fava сървъра, за да бъдат приложени промените.