Preskočiť na hlavný obsah

Predpovedanie budúcich transakcií v Beancounte

Beancount dokáže predpovedať budúce opakujúce sa transakcie pomocou pluginu fava.plugins.forecast. To vám umožní vizualizovať budúci dopad pravidelných príjmov a výdavkov, ako sú platy, nájomné a predplatné, na vaše finančné výkazy.

Snímka obrazovky pluginu Forecast

Krok 1: Povolenie pluginu Forecast

Najprv musíte povoliť plugin pridaním nasledujúceho riadku na začiatok vášho účtovného súboru Beancount:

plugin "fava.plugins.forecast"

Krok 2: Vytvorenie transakcie Forecast

Ak chcete predpovedať opakujúcu sa transakciu, vytvorte jednu transakčnú položku pomocou príznaku # (namiesto * alebo !) a do popisu pridajte špeciálny tag forecast.

Základná štruktúra vyzerá takto:

YYYY-MM-DD # "Popis [FREKVENCIA PODMIENKY]"
Account:One 100.00 USD
Account:Two -100.00 USD

Plugin forecast použije túto položku ako šablónu na generovanie budúcich transakcií vo vašich výkazoch.

Pochopenie syntaxe Forecast

Tag forecast v popise má špecifický formát: [FREKVENCIA PODMIENKY].

Frekvencia

Časť FREKVENCIA je povinná a definuje, ako často sa transakcia opakuje. Musí byť napísaná VEĽKÝMI PÍSMENAMI.

  • DAILY
  • WEEKLY
  • MONTHLY
  • QUARTERLY
  • YEARLY

Príklad: Mesačná platba nájomného Táto transakcia sa bude predpokladať, že nastane 1. deň každého mesiaca, počnúc januárom 2024.

2024-01-01 # "Platba nájomného [MONTHLY]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD

Podmienky (voliteľné)

Môžete pridať voliteľné PODMIENKY na kontrolu trvania a vzoru forecastu.

1. Nastavenie dátumu ukončenia pomocou UNTIL Použite UNTIL RRRR-MM-DD na zastavenie forecastu k určitému dátumu.

  • Príklad: Členstvo v posilňovni, ktoré končí tento rok.

    2024-01-15 # "Členstvo v posilňovni [MONTHLY UNTIL 2024-12-31]"
    Expenses:Health:Gym 80.00 USD
    Assets:Checking -80.00 USD

2. Obmedzenie výskytov pomocou REPEAT Použite REPEAT n TIMES na vygenerovanie transakcie špecifický počet krát.

  • Príklad: Pôžička na auto s 36 zostávajúcimi splátkami.

    2024-01-25 # "Splátka auta [MONTHLY REPEAT 36 TIMES]"
    Expenses:Transportation:CarPayment 450.00 USD
    Liabilities:Auto-Loan -450.00 USD

3. Vytváranie nepravidelných vzorov pomocou SKIP Použite SKIP n TIME/TIMES na preskočenie intervalov. To je užitočné pre veci ako dvojtýždenné výplaty.

  • Príklad: Dvojtýždenný plat (vyskytuje sa každé dva týždne).

    2024-01-05 # "Dvojtýždenný plat [WEEKLY SKIP 1 TIME]"
    Assets:Checking 3000.00 USD
    Income:Salary -3000.00 USD

Praktický príklad: Mesačný rozpočet

Môžete kombinovať viacero forecastov na predpovedanie celého rozpočtu vrátane rôznych tokov príjmov a výdavkov.

plugin "fava.plugins.forecast"

; === PRÍJMY ===
2024-01-05 # "Dvojtýždenný plat [WEEKLY SKIP 1 TIME]"
Assets:Checking 3000.00 USD
Income:Salary -3000.00 USD

; === VÝDAVKY ===
2024-01-01 # "Nájom [MONTHLY]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD

2024-01-01 # "Potraviny [WEEKLY]"
Expenses:Food:Groceries 150.00 USD
Assets:Checking -150.00 USD

2024-01-15 # "Poistenie auta [QUARTERLY REPEAT 4 TIMES]"
Expenses:Insurance:Auto 450.00 USD
Assets:Checking -450.00 USD

Po pridaní týchto položiek budú vaše výkazy, ako napríklad Výkaz ziskov a strát a graf Čistý zisk, automaticky obsahovať predpokladané údaje, čo vám poskytne jasný prehľad o vašej finančnej budúcnosti.

Riešenie problémov a osvedčené postupy

  • Nezobrazujú sa forecasty?

    • Uistite sa, že plugin "fava.plugins.forecast" je vo vašom účtovnom súbore.
    • Použite príznak # pre transakciu, nie *.
    • Skontrolujte preklepy v tagu frekvencie (napr. [MONTHLY] nie [Monthly] alebo [MONTLY]).
  • Osvedčené postupy

    • Buďte popisní: Používajte jasné popisy, aby ste vedeli, na čo je každý forecast určený.
    • Pravidelne kontrolujte: Aktualizujte svoje forecasty (napr. pri zvýšení platu alebo zmene nájomného), aby boli presné.
    • Používajte koncové podmienky: Pre transakcie, ktoré nie sú trvalé (ako sú pôžičky alebo predplatné), použite UNTIL alebo REPEAT, aby ste zabránili ich predpovedaniu na neurčito.
References: