Бюджетиране в 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) Системата по подразбиране за бюджетиране се нулира всеки период. За да приложите "прехвърляне", където неизразходваните средства се прехвърлят, използвайте специализирана сметка на активи, за да задържите бюджетирани средства.
-
Финансирайте бюджетната сметка в началото на периода:
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е вашата сума за прехвърляне.
Проследяване на цели за приходи (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, проверете следното:
- Формат на датата (Date Format): Уверете се, че датите са във формат
YYYY-MM-DD. - Имена на сметки (Account Names): Името на сметката в директивата трябва да съвпада точно с името на сметката във вашите транзакции.
- Правопис на периода (Interval Spelling): Периодът трябва да бъде една от петте валидни опции и с малки букви (напр.,
"monthly"). - Рестартирайте Fava (Restart Fava): Ако наскоро сте добавили директивите, може да се наложи рестартиране на Fava сървъра, за да бъдат приложени промените.