Prehľad komunity: Beancount nastavenia z reálneho sveta
Beancount nastavenia z reálneho sveta
Úvod
Beancount je všestranný účtovný systém v obyčajnom texte a jeho používatelia ho prispôsobili širokému spektru potrieb reálneho sveta. V tomto prehľade komunity predstavujeme anonymizované príklady toho, ako rôzni ľudia štruktúrujú a používajú svoje účtovné pracovné postupy Beancount – od nezávislých pracovníkov a majiteľov malých podnikov až po nadšencov osobných financií. Tieto príklady zdôrazňujú kreatívne postupy, ako je označovanie transakcií metadátami, automatizácia aktualizácií účtovnej knihy pomocou vlastných skriptov, manipulácia s viacerými menami, rozpočtovanie a prognózovanie a rozširovanie Beancount pomocou zásuvných modulov alebo integrácií (ako je webové rozhranie Fava). Cieľom je inšpirovať a informovať účtovníkov, vývojárov a používateľov so znalosťami v oblasti financií o tom, čo je možné s flexibilným systémom Beancount.
Príklad rozhrania Fava: Mnohí používatelia Beancount sa spoliehajú na Fava – webový dashboard s otvoreným zdrojovým kódom – na vizualizáciu svojich financií. Fava dokáže premeniť účtovnú knihu Beancount na interaktívne prehľady a grafy. Napríklad snímka obrazovky vyššie zobrazuje stromovú mapu Výkazu ziskov a strát, ktorá rozdeľuje príjmy a výdavky podľa kategórie, a poskytuje tak rýchly prehľad o tom, odkiaľ peniaze pochádzajú a kam smerujú. Používatelia môžu toto zobrazenie filtrovať podľa času, účtu alebo značiek, aby sa dostali k konkrétnym projektom alebo obdobiam. Takéto vizualizácie pomáhajú sprístupniť údaje v obyčajnom texte, čo používateľom umožňuje rýchlo identifikovať trendy a anomálie.
Každé nastavenie Beancount je jedinečné, ale objavujú sa spoločné témy. Nižšie sa ponoríme do troch scenárov – nezávislý pracovník, majiteľ malej firmy a používateľ s rozsiahlymi znalosťami osobných financií – aby sme videli, ako organizujú svoje účty a využívajú funkcie Beancount. Všetky osobné údaje boli odstránené alebo zovšeobecnené, pričom sa zameriavame len na techniky a konfigurácie.
Nezávislý pracovník: Označovanie projektov a sledovanie faktúr
Náš prvý príklad je nezávislý konzultant, ktorý používa Beancount ako chrbtovú kosť svojich podnikových financií. Účtovná kniha tohto nezávislého pracovníka je usporiadaná tak, aby sledovala príjmy a výdavky na projekt a spravovala faktúry pre viacerých klientov. Zriadili si vyhradené účty pre pohľadávky (A/R) v rámci aktív pre každého klienta, čo pomáha oddeliť, kto komu čo dlhuje. Keď dokončia projekt a fakturujú klientovi, zaúčtujú transakciu zaťažujúcu účet A/R klienta a pripisujúcu príjmový účet. Napríklad nová faktúra môže byť zaúčtovaná takto:
2025-08-01 * "Projekt X dokončený" ^INV-0001
Assets:AccountsReceivable:ClientA 5 000 USD
Income:Consulting -5 000 USD
Tu je zápis ^INV-0001 odkaz (vstavaná funkcia metadát Beancount), ktorý sa používa na označenie tejto transakcie číslom faktúry. Keď klient zaplatí časť alebo celú faktúru, platobná transakcia obsahuje rovnaký odkaz ^INV-0001, ktorý spája tieto dve položky. Toto prepojenie uľahčuje alokáciu platieb na konkrétne faktúry a zobrazenie neuhradených zostatkov. Ako vysvetlil jeden člen komunity, tieto značky alebo odkazy môžete použiť na označenie čiastočných platieb – napr. platba 20 dolárov oproti faktúre 30 dolárov – na položke faktúry aj na položke platby. Dotazovaním sa v účtovnej knihe na tento odkaz faktúry môže nezávislý pracovník okamžite zistiť, koľko z faktúry bolo zaplatené a čo zostáva otvorené.
Okrem odkazov nezávislý pracovník intenzívne používa značky na kategorizáciu. Značky v Beancount sú štítky s predponou #, ktoré môžu označiť transakcie na neskoršie filtrovanie. Tento používateľ označuje každý výdavok, ktorý je fakturovateľný klientovi, kódom projektu, napríklad #ProjectX, a preplácané výdavky označuje #Reimbursable. Napríklad, ak si kúpia letenky pre klientsky projekt, položka výdavkov môže obsahovať #ProjectX #Reimbursable. Táto prax umožňuje generovanie prehľadov na projekt alebo klienta filtrovaním značiek. Po projekte môže nezávislý pracovník spustiť dotaz na zoznam všetkých výdavkov #Reimbursable pre daný projekt a zabezpečiť, aby fakturoval klientovi za každý z nich. Jeden používateľ Beancount poznamenal, že označovanie výdavkov na pracovnú cestu pomohlo zachytiť všetky, ktoré neboli preplatené – ideálne, výdavky na pracovnú cestu sa vyrovnajú na 0 USD, keď sú prijaté všetky refundácie od klienta. To zdôrazňuje, ako označovanie v kombinácii s možnosťami dotazovania Beancount poskytuje nezávislým pracovníkom ďalšiu vrstvu dohľadu nad správou fakturovateľných výdavkov.
Na správu stavu neuhradených platieb používa náš nezávislý pracovník špeciálnu konvenciu pre čakajúce pohľadávky. Na každú fakturačnú transakciu, ktorá ešte nebola úplne zaplatená, použije značku #UNRESOLVED. Beancount (a Fava) túto značku nevynucuje, ale ide o komunitou zavedený vzor na označovanie transakcií, ktoré čakajú na vyrovnanie. Napríklad, kým klient A nezaplatí celú sumu 5 000 dolárov, fakturačná transakcia vyššie by obsahovala #UNRESOLVED. Filtrovaním podľa tejto značky môže nezávislý pracovník kedykoľvek zobraziť zoznam všetkých otvorených faktúr. Po prijatí a zaúčtovaní platby (zadá sa zodpovedajúca transakcia A/R) odstráni alebo ignoruje značku #UNRESOLVED a účet pohľadávok pre daného klienta sa vyrovná na nulu. Tento systém zabezpečuje, že žiadna faktúra „nezapadne“. Je to v podstate správa o starnutí pohľadávok v obyčajnom texte – ak A/R zostáva nenulová a označená ako nevyriešená, potrebuje pozornosť.
Pretože nezávislí pracovníci často pracujú s viacerými spôsobmi platby a niekedy aj s viacerými menami, nastavenie Beancount to bez problémov umožňuje. V našom príklade môže konzultant fakturovať niektorým klientom v USD a iným v EUR. Manipulácia s viacerými menami je v Beancount priamočiara: každý účet môže obsahovať viacero komodít (meny sa považujú za komodity). Nezávislý pracovník si môže viesť samostatné podúčty pre každú menu (napr. Assets:AccountsReceivable:ClientA:EUR vs ...:USD) alebo jednoducho zaúčtovať transakcie v príslušnej mene pod rovnakým účtom. Beancount bude automaticky sledovať zostatky podľa meny. Jeden používateľ zdôraznil, aké je to pekné, že „Beancount dokáže sledovať množstvá v akejkoľvek mene, či už USD alebo symbol burzy“, a to všetko v jednej účtovnej knihe. Náš nezávislý pracovník to využíva zaznamenávaním výmenných kurzov pomocou smerníc price, kedykoľvek potrebuje previesť meny na účely vykazovania. Po zadaní pravidelných výmenných kurzov alebo trhových cien môže vygenerovať prehľad príjmov prepočítaný na svoju domácu menu.
Nakoniec tento nezávislý pracovník integruje svoju účtovnú knihu Beancount s praktickými nástrojmi na zefektívnenie svojho pracovného postupu. Napríklad pripájajú kópie PDF každej faktúry k účtovnej knihe pomocou metadát dokumentov. Typická položka platby faktúry môže vyzerať takto:
2025-08-30 * "ClientA" "Platba za INV-0001" ^INV-0001
Assets:Bank:Checking 5 000 USD
Assets:AccountsReceivable:ClientA -5 000 USD
document: "Invoices/ClientA/INV-0001.pdf"
Smernica document alebo metadáta Beancount umožňuje priradiť súbory k položkám a Fava zobrazí pre tieto prílohy hypertextový odkaz. To znamená, že nezávislý pracovník (alebo jeho účtovník) môže kliknúť priamo z prehľadu účtovnej knihy a zobraziť pôvodnú faktúru vo formáte PDF, čo zabezpečuje jednoduchý prístup k záložnej dokumentácii. Nezávislý pracovník tiež používa prehľady Fava na monitorovanie svojho podnikania: filtrovaním výkazu ziskov a strát alebo súvahy podľa klienta môže vidieť ziskovosť na klienta a skontrolovať, či sú všetky projekty zaplatené. Stručne povedané, systém Beancount tohto nezávislého pracovníka demonštruje rozsiahle používanie označovania a prepojenia na správu účtovníctva založeného na projektoch. Premieňa účtovnú knihu v obyčajnom texte na robustný nástroj na účtovníctvo pre nezávislých pracovníkov s jasnou viditeľnosťou výdavkov na projekt, príjmov vo viacerých menách a stavov faktúr.
Kľúčové postupy v nastavení pre nezávislého pracovníka: Používanie značiek na zoskupovanie transakcií podľa projektu alebo účelu, prepojenie faktúr a platieb s jedinečnými ID, označovanie neuhradených pohľadávok značkou #UNRESOLVED, pripájanie fakturačných dokumentov k položkám účtovnej knihy pre referenciu a využívanie podpory viacerých mien Beancount na fakturáciu medzinárodným klientom bez problémov. Všetky tieto ciele sa dosahujú pomocou položiek v obyčajnom texte a niekoľkých pomocných nástrojov, čo dokazuje silu metadát v Beancount.
Malý podnik: Automatizácia a účtovníctvo vo viacerých menách
Ďalej sa pozrieme na majiteľa malej firmy – konkrétne zakladateľa startupu – ktorý prijal Beancount na vedenie podnikových kníh. Malé podniky majú podobné potreby ako nezávislí pracovníci (faktúry, výdavky, viaceré meny), ale často vo väčšom rozsahu a s väčším dôrazom na automatizáciu, konzistentnosť a spoluprácu. V tomto prípade bol zakladateľ technicky zdatný a vytvoril vysoko automatizovaný pracovný postup Beancount, aby minimalizoval manuálne vedenie účtovníctva. Po vyhodnotení tradičného účtovného softvéru, ako je QuickBooks, sa rozhodli pre prístup Beancount v obyčajnom texte, aby si zachovali plnú kontrolu nad údajmi. Počas niekoľkých rokov iteratívne vyvíjali vlastné nástroje na dosiahnutie 95 % automatizovaného procesu vedenia účtovníctva.
Automatizované importy a odsúhlasovanie: Jednou z prvých výziev bolo importovať transakcie z rôznych zdrojov (bankové účty, kreditné karty, spracovatelia platieb) do účtovnej knihy. Namiesto zadávania každej transakcie si tento používateľ nastavil importné skripty na získavanie a preklad údajov do formátu Beancount. Napísali vlastné Python importéry pre formát CSV alebo API každej finančnej inštitúcie, aby jedným príkazom mohli stiahnuť nové transakcie a pripojiť ich k účtovnej knihe. Napríklad pomocou rámca bean-extract Beancount môže zakladateľ spustiť skript, ktorý prehľadá priečinok na sťahovanie nových výpisov a vygeneruje ich ako položky Beancount. Ďalší používateľ, Rhyd Lewis, opísal podobné nastavenie, kde má samostatné skripty importéra pre každú banku a môže ich vyvolať pomocou jednoduchého príkazu (pomocou Justfile) na aktualizáciu svojej účtovnej knihy. Náš majiteľ malej firmy robí to isté – všetky bankové transakcie, platby kreditnou kartou a dokonca aj transakcie PayPal alebo Stripe sa automaticky získavajú a pridávajú do kníh, kategorizované s príslušnými účtami.
Aby sa zabezpečila integrita údajov, aj keď sa tieto položky pridávajú automaticky, používajú aj validačné nástroje a doplnky Beancount. Napríklad doplnok beancount.plugins.noduplicates je povolený, aby sa zabránilo náhodnému opakovanému importu rovnakej transakcie dvakrát, a beancount.plugins.nounused označuje všetky účty, ktoré nemajú žiadne položky (užitočné na vyčistenie zastaraných účtov). Zakladateľ tiež používa formátovač (ako bean-format alebo komunitný nástroj beancount-black), aby udržal štýl súboru účtovnej knihy konzistentný. Na tom záleží, pretože pri mnohých automatizovaných úpravách uľahčuje jednotný štýl rozdielnosti a audity. Zakladateľ v skutočnosti uchováva účtovnú knihu v úložisku Git, pričom s aktualizáciami účtovnej knihy zaobchádza ako so zmenami kódu. Každá nová dávka importovaných transakcií sa stáva commitom Git a môžu si prezerať rozdielnosti, aby videli, čo sa zmenilo. Na jednej snímke obrazovky zobrazujú históriu Git, kde sa transakcia kreditnou kartou pre „Costco“ mení z čakajúceho stavu na vymazanú v účtovnej knihe, a to všetko bez manuálneho zásahu. Správa verzií poskytuje auditnú stopu: môžu presne vidieť, kedy bola transakcia pridaná alebo upravená, a dokonca vrátiť zmeny, ak sa niečo importovalo nesprávne. Toto je skvelý príklad prenesenia osvedčených postupov vývoja softvéru (ako je správa zdrojového kódu) do účtovných záznamov.
Viaceré meny a medzinárodné transakcie: Malé podniky často transakujú vo viacerých menách – napríklad startup môže mať výdavky v USD, ale tiež prijímať platby v EUR alebo držať bankový účet v GBP. Naša predvádzacia spoločnosť používa funkcie viacerých mien Beancount na konsolidáciu všetkých týchto údajov v jednej účtovnej knihe. Otvorili si samostatné účty pre každú menu (napr. Assets:Bank:Checking:USD a Assets:Bank:Checking:EUR), čo je jeden bežný prístup. Avšak aj keď rôzne meny zdieľajú účet, Beancount bude sledovať zostatok každej meny samostatne a bude vyžadovať, aby transakcie boli vyvážené na menu. Zakladateľ často spúšťa oceňovacie prehľady, aby videl celkové zostatky spoločnosti prepočítané na základnú menu. Keďže Beancount podporuje vyhľadávanie cien, nastavil si denné informačné kanály cien pre devízové kurzy (a ceny akcií pre všetky investície) pomocou nástroja bean-price alebo doplnku. Výsledkom je, že kedykoľvek môže vygenerovať súvahu napríklad v USD, ktorá zahŕňa účet EUR preložený podľa najnovšieho kurzu. Členovia komunity zdôrazňujú, že správa viacerých mien v účtovníctve v štýle účtovnej knihy je jednoduchá – stačí pridať transakcie v danej mene a podľa potreby zaznamenať výmenné kurzy. Napríklad jeden používateľ zdieľal príklad prevodu USD na EUR na CAD prostredníctvom sprostredkovateľských účtov ako spôsob správy prevodov mien v Beancount. V našom prípade malý podnik nemusí nutne prevádzať meny v transakciách (ponecháva ich v natívnej mene), ale používa prehľady na konsolidáciu. Táto flexibilita bola rozhodujúca pri globálnej expanzii startupu.
Vlastné skripty a rozšírenia: Nie všetko, čo zakladateľ potreboval, bolo k dispozícii ihneď po vybalení z krabice, preto rozšírili Beancount pomocou vlastných doplnkov. Postupom času napísali knižnicu parsera, nástroj na formátovanie a importér transakcií založený na pravidlách, pričom mnohé z nich vydali ako balíčky s otvoreným zdrojovým kódom. Napríklad vytvorili importný engine založený na pravidlách, ktorý používa konfiguráciu YAML na automatickú kategorizáciu transakcií. Úryvok z tejto konfigurácie ukazuje, ako sú konkrétni príjemcovia alebo popisy (ako „Comcast“ alebo „PG&E“) mapované na určité účty výdavkov a rozprávania, takže keď sa tieto objavia v bankovom informačnom kanáli, vygeneruje sa správna položka Beancount bez manuálnej úpravy. Toto je v podstate vlastná automatizácia na priebežné uplatňovanie účtovných pravidiel (pre služby, predplatné atď.). Ďalší doplnok zabezpečuje, aby účtovná kniha vždy zostala vyvážená a naformátovaná. Všetky tieto nástroje bežia ako súčasť pracovného postupu zakladateľa vždy, keď sa prevezmú nové údaje. Výsledkom je účtovná kniha, ktorá sa „aktualizuje sama“ s minimálnym zásahom, čo zakladateľ hovorí, že mu prináša „čistú radosť“ ako vývojárovi posadnutému automatizáciou.
Bezpečnosť a prístupnosť boli tiež obavy. Zakladateľ chcel, aby jeho finančný tím (a dokonca aj jeho manželka, ktorá pôsobí ako dozorca) mohli ľahko prezerať knihy. Na tento účel nastavil súkromné nasadenie Fava v cloude. Zakaždým, keď odošle nový commit účtovnej knihy do súkromného úložiska Git, kanál CI (pomocou GitHub Actions a AWS Elastic Beanstalk) nasadí aktualizovanú inštanciu Fava. Webové rozhranie je za heslom (pomocou proxy Nginx so základným overením), takže ho môžu vidieť iba autorizované osoby. Týmto spôsobom sú najnovšie finančné výkazy vždy dostupné prostredníctvom dashboardu prehliadača bez toho, aby bolo potrebné čokoľvek inštalovať lokálne. Schéma architektúry nižšie ilustruje toto nastavenie: súbor Beancount a potrebná konfigurácia sú zbalené do obrazu Docker spolu s Fava a obsluhované na AWS, pričom Cloudflare je vpredu pre zabezpečenie.
Automatizácia Beancount v cloude: Táto schéma zobrazuje kanál nasadenia pre účtovnú knihu Beancount + Fava. Používateľ aktualizuje súbor účtovnej knihy lokálne a odošle do Git; kontajner Docker (vrátane Fava a Nginx na overenie) sa zostaví a nasadí na server AWS Beanstalk a Cloudflare funguje ako proxy. Výsledkom je bezpečný webový portál, kde sú finančné údaje malého podniku prístupné odkiaľkoľvek (majiteľom alebo tímom) v reálnom čase. Toto pokročilé nastavenie demonštruje, ako môže malý podnik integrovať Beancount s modernými cloudovými nástrojmi na dosiahnutie pohodlia bez toho, aby sa vzdal vlastníctva údajov.
V každodennom používaní sa majiteľ malého podniku zameriava skôr na spracovanie výnimiek než na zadávanie údajov. Každý mesiac si stručne prezrie automaticky importované transakcie (pomocou rozdielností Git alebo denníka Fava), aby zachytil všetky nekategorizované alebo nesprávne položky. Používa tiež tvrdenia zostatku Beancount na odsúhlasenie účtov. Napríklad po zadaní všetkých júnových transakcií môže pridať kontrolu zostatku, aby potvrdil, že konečný zostatok bankového účtu sa zhoduje s výpisom; ak nie, Beancount zobrazí chybu, čo znamená, že niečo chýba alebo je nesprávne zadané. Tým sa zabezpečí, že knihy zostanú presné.
Kľúčové postupy v nastavení pre malý podnik: Rozsiahla automatizácia prostredníctvom vlastných importérov a skriptov (vďaka čomu je účtovná kniha „95 % automatická“), používanie správy verzií pre auditné stopy a spoluprácu, účtovníctvo vo viacerých menách s informačnými kanálmi cien pre oceňovanie a nasadenie Fava pre jednoduchý, zdieľateľný prístup k finančným prehľadom. Scenár malého podniku ukazuje, ako ďaleko sa dá Beancount zájsť s inžinierskym úsilím – premenou účtovníctva na prevažne automatizovaný kanál pri zachovaní transparentnosti a flexibility. Aj keď nie ste programátor, mnohé z týchto výhod je možné dosiahnuť pomocou komunitných doplnkov (na formátovanie, detekciu duplikátov atď.) a prijatím pracovného postupu v obyčajnom texte, ktorý podporuje časté kontroly a zálohy.
Nadšenec osobných financií: Rozpočtovanie a vlastná analýza
Našou poslednou predvádzacou prehliadkou je nadšenec osobných financií – niekto, kto používa Beancount na správu financií domácnosti a investícií s vysokou úrovňou detailov. Tento používateľ pristupuje k svojim osobným financiám s prísnosťou účtovníka a zvedavosťou dátového analytika. Výsledkom je účtovná kniha Beancount, ktorá nielenže sleduje každý cent, ale slúži aj ako základ pre rozpočtovanie, prognózovanie a analytické experimenty.
Organizovanie osobnej účtovnej knihy: Mnohí jednotlivci začínajú s jedným súborom Beancount pre všetky svoje účty a tento nadšenec nie je výnimkou. Vedú jednu hlavnú účtovnú knihu (napr. main.beancount), ktorá zahŕňa všetky účty (bankové účty, kreditné karty, pôžičky, investičné portfóliá atď.) a transakcie. Postupom času zaviedli určitú štruktúru rozdelením sekcií – napríklad majú súbor na otváranie/zatváranie účtov a samostatné súbory pre ročné transakcie –, ktoré sú zahrnuté do hlavného súboru. Táto modulárna organizácia uľahčuje navigáciu v rokoch údajov (staré roky je možné archivovať v samostatných súboroch), pričom je stále logicky jednou účtovnou knihou. Ďalší osobný používateľ na komunitnom fóre opísal podobné rozloženie: hlavný súbor, ktorý obsahuje ďalšie podľa kategórie (napr. Income.beancount, Expenses.beancount, Investments.beancount). Náš nadšenec to zatiaľ udržiava jednoduché: jeden súbor synchronizovaný medzi zariadeniami.
Keď už hovoríme o synchronizácii, pretože ide o osobné financie, tento používateľ chce zachytiť transakcie, nech sú kdekoľvek. Používajú mobilnú aplikáciu s názvom Beancount Mobile na rýchle pridávanie položiek na cestách (napríklad zaznamenávanie hotovostných výdavkov priamo v obchode). Súbor účtovnej knihy sa zdieľa prostredníctvom cloudovej synchronizácie (v tomto prípade Syncthing), takže ich telefón, notebook a VPS (server) majú najnovšiu kópiu. Na počítači uprednostňujú používanie Emacs s beancount-mode pre pohodlné úpravy s zvýrazňovaním syntaxe. Toto nastavenie zabezpečuje, že či už sú za stolom alebo vonku, môžu okamžite zaznamenať transakcie a vyhnúť sa zabudnutiu. Je to skvelý príklad prispôsobenia technických nástrojov pre osobné pohodlie – efektívne vytváranie alternatívy s vlastným hostiteľom ku komerčným aplikáciám na rozpočtovanie.
Označovanie a metadáta pre podrobné sledovanie: Tento používateľ využíva značky na pridanie druhého rozmeru k svojim údajom nad rámec účtovnej osnovy. Pre bežné kategórie rozpočtovania postačujú účty (majú účty ako Expenses:Groceries, Expenses:Rent atď.), ale pre prierezové témy ako udalosti alebo ciele používajú značky. Napríklad označujú všetky transakcie súvisiace s ich projektom rekonštrukcie domu pomocou #HomeReno, či už ide o nákup reziva v železiarstve (výdavky) alebo o prijatie zľavy od výrobcu (príjem). Týmto spôsobom môžu ľahko vygenerovať prehľad o celkových nákladoch na projekt bez toho, aby boli tieto výdavky izolované pod rôznymi účtami. Jeden používateľ Redditu demonštroval tento prístup označením výdavkov, ako napríklad #garage-improvement alebo #lighting-improvement pre domáce projekty, vďaka čomu je triviálne ich filtrovať a sčítať prostredníctvom dotazov Beancount. Náš nadšenec robí to isté pre dovolenky (#ItalyTrip2025), veľké nákupy a jednorazové udalosti.
Metadáta (páry kľúč-hodnota v transakciách) sa tiež používajú na niektoré špecifické účely. Napríklad pridávajú metadáta location: ... k veľkým výdavkom na sledovanie toho, kde minuli peniaze, alebo note: ... pre ďalší kontext nad rámec príjemcu a rozprávania. V niekoľkých prípadoch dokonca vytvorili vlastné polia metadát, ktoré im pomáhajú pri prognózovaní. Jedným z príkladov je pridanie budget: X a frequency: monthly k určitým opakujúcim sa výdavkom – myšlienka inšpirovaná diskusiou v poštovej konferencii Beancount, kde používateľ ukladal rozpočtové projekcie do metadát pre každý výdavok. Tieto polia metadát neovplyvňujú jadro Beancount, ale nadšenec napísal malý skript v jazyku Python, ktorý ich prečíta a porovná skutočné výdavky s plánovaným rozpočtom. Toto je alternatíva k použitiu vstavaných rozpočtov Fava (opísaných nižšie), ktorá ukazuje, ako sa metadáta dajú ohýbať podľa vôle používateľa. Ako poznamenal tvorca Beancount, metadáta sú „iba pre vás [na použitie vo vlastných skriptoch] – Beancount ich analyzuje, ale ignoruje ich“ sám. Stručne povedané, tento používateľ sa nebojí rozšíriť účtovnú knihu o ďalšie informácie, ktoré mu pomôžu pri osobnej analýze.
Rozpočtovanie s Beancount: Jedným z hlavných cieľov tohto používateľa je držať sa mesačného rozpočtu. Predtým používali aplikáciu na rozpočtovanie (YNAB) a chceli zopakovať niektoré z jej konceptov rozpočtovania obálok. Existuje niekoľko spôsobov, ako robiť rozpočet v Beancount, ale najjednoduchšie je použiť rozpočtové smernice Fava. Náš nadšenec pridáva do účtovnej knihy položky budget takto:
2025-01-01 custom "budget" Expenses:Groceries "monthly" 500 USD
2025-01-01 custom "budget" Expenses:DiningOut "monthly" 200 USD
2025-01-01 custom "budget" Expenses:Travel "yearly" 3000 USD
Každý riadok nastaví rozpočet pre účet (kategóriu) na určité obdobie. Fava potom zobrazí pruhy rozpočtu vs skutočnosti vo webovom rozhraní, čo používateľovi umožní vidieť napríklad, že tento mesiac minuli 480 USD na potraviny z rozpočtovaných 500 a možno 220 na DiningOut (nad rozpočet). Nadšenec pravidelne kontroluje prehľady Výkaz ziskov a strát a Výdavky Fava, ktoré zobrazujú mesačné súčty aj ciele rozpočtu. Fava pohodlne zlúči denné/týždenné rozpočty do príslušných časových rozpätí. Používaním používateľského rozhrania Fava na tento účel používateľ nepotrebuje samostatnú tabuľku na rozpočtovanie; všetko je integrované. (Experimentovali tiež s automatizovanejším systémom „obálok“ presúvaním prostriedkov na fiktívne účty na začiatku každého mesiaca, ako sa navrhovalo na fórach, ale zistili, že vlastné rozpočtové smernice sa jednoduchšie udržiavajú.)
Na účely prognózovania okrem rozpočtov sledujú nadchádzajúce účty. Niektorí členovia komunity vytvorili doplnky na generovanie budúcich transakcií pre predplatné alebo plány amortizácie úverov, ale tento používateľ sa rozhodol pre jednoduchší prístup: vedú samostatnú sekciu účtovnej knihy s budúcimi transakciami pre známe položky (ako je nájomné na budúci mesiac alebo nadchádzajúca ročná platba poistného). Tieto zostávajú v účtovnej knihe, ale neovplyvňujú dnešné zostatky, a keď príde dátum a transakcia sa stane aktuálnou, slúži ako pripomienka (a sumu upravia, ak je to potrebné, aby zodpovedala skutočnej sume). Je to trochu hack, ale funguje to na prognózovanie peňažných tokov bez komplexných nástrojov.
Sledovanie investícií a účtovníctvo s viacerými komoditami: Ako finančný nadšenec tento používateľ tiež používa Beancount na konsolidáciu investičných účtov – akcie, podielové fondy a kryptomeny – spolu s hotovostnými účtami. Majú maklérske účty, ktorých držby (napr. akcie AAPL, GOOG atď.) sú zaznamenané v Beancount ako komodity. Napríklad nákup 10 akcií spoločnosti Apple by bola položka, ktorá pripíše hotovosť maklérskej spoločnosti a zaťaží