Budgettering in Beancount
Deze handleiding legt uit hoe je per-rekening budgetten kunt instellen, beheren en visualiseren met behulp van Beancount's custom directives en de Fava webinterface.
1. Hoe een Budget In te Stellen
Budgetten worden gedefinieerd met behulp van een custom "budget" directive in je Beancount-bestand. De syntax is eenvoudig:
YYYY-MM-DD custom "budget" AccountName "interval" Amount CURRENCY
AccountName: De specifieke uitgaven- of inkomstenrekening waarvoor je wilt budgetteren.interval: De budgetperiode. Moet een van de volgende zijn:daily,weekly,monthly,quarterlyofyearly.Amount: Het streefbedrag voor het interval.
Hoe het Werkt:
- Een budgetdirective blijft van kracht vanaf de datum ervan tot een andere budgetdirective voor dezelfde rekening deze overschrijft.
- Beancount en Fava breken alle budgetten af tot een dagelijks equivalent, waardoor ze het totale gebudgetteerde bedrag voor een bepaald datumbereik kunnen berekenen.
Voorbeeld:
; Stel een dagelijks budget in voor koffie
2024-01-01 custom "budget" Expenses:Food:Coffee "daily" 5.00 USD
; Stel een maandelijks budget in voor boodschappen
2024-01-01 custom "budget" Expenses:Food:Groceries "monthly" 600.00 USD
; Stel een jaarlijks budget in voor vakanties
2024-01-01 custom "budget" Expenses:Travel:Vacation "yearly" 3000.00 USD
Om een budget aan te passen, voeg je eenvoudig een nieuwe directive toe met een latere datum. Bijvoorbeeld, om het boodschappenbudget te verhogen vanaf maart:
2024-03-01 custom "budget" Expenses:Food:Groceries "monthly" 650.00 USD
2. Budgetten Visualiseren in Fava
Fava, de webinterface voor Beancount, detecteert en toont automatisch je budgetten in verschillende belangrijke rapporten, waardoor je je werkelijke uitgaven kunt vergelijken met je doelen:
- Resultatenrekening: De Netto Winst en Uitgaven grafieken tonen gebudgetteerde vs. werkelijke waarden.
- Veranderingen (maandelijks): Toont het gebudgetteerde bedrag voor elke maand.
- Balansen (maandelijks): Toont het cumulatieve gebudgetteerde bedrag in de loop van de tijd.
3. Geavanceerde Budgetteringstechnieken
Budget Rollover Het standaard budgetsysteem reset elke periode. Om een "rollover" te implementeren waarbij ongebruikte middelen worden overgedragen, gebruik je een speciale activa-rekening om gebudgetteerde middelen te bewaren.
-
Financier de budgetrekening aan het begin van de periode:
2024-02-01 * "Financier maandelijks entertainment budget"
Assets:Checking -200.00 USD
Assets:Budget:Entertainment 200.00 USD -
Besteed direct vanaf deze budgetrekening:
2024-02-15 * "Filmavond"
Expenses:Entertainment:Movies 30.00 USD
Assets:Budget:Entertainment -30.00 USDHet resterende saldo in
Assets:Budget:Entertainmentis je rollover-bedrag.
Inkomstendoelen Bijhouden Je kunt ook doelen stellen voor je inkomstenrekeningen door een negatief budgetbedrag te gebruiken. Hierdoor kan Fava je inkomsten volgen ten opzichte van je doelen.
; Stel maandelijkse inkomstendoelen in
2024-01-01 custom "budget" Income:Salary "monthly" -5000.00 USD
2024-01-01 custom "budget" Income:Freelance "monthly" -1000.00 USD
4. Probleemoplossing
Als je budgetten niet in Fava verschijnen, controleer dan het volgende:
- Datumformaat: Zorg ervoor dat datums in
YYYY-MM-DDformaat staan. - Rekeningnamen: De rekeningnaam in de directive moet exact overeenkomen met de rekeningnaam in je transacties.
- Interval Spelling: Het interval moet een van de vijf geldige opties zijn en in kleine letters (bijv.
"monthly"). - Fava Herstarten: Als je de directives recentelijk hebt toegevoegd, kan een herstart van de Fava server nodig zijn om de wijzigingen op te pikken.