Beancount vs hledger: Ktorý nástroj na plain-text účtovníctvo je pre vás ten pravý?
Ak ste sa rozhodli spravovať svoje financie pomocou účtovníctva v prostom texte (plain-text accounting), už teraz ste urobili rozumnú voľbu. Vaše finančné údaje budú uložené v ľudsky čitateľných súboroch, ktoré máte plne pod kontrolou, sledované pomocou systému na správu verzií a bez závislosti od konkrétneho dodávateľa (vendor lock-in). Teraz však prichádza ďalšia otázka: ktorý nástroj by ste mali použiť?
Beancount a hledger sú dnes dva najpopulárnejšie nástroje na účtovníctvo v prostom texte (PTA). Oba sú open-source, aktívne udržiavané a schopné zvládnuť všetko od osobných rozpočtov až po komplexné investičné portfóliá. Napriek tomu pristupujú zásadne odlišne k tomu, ako zaznamenávate, overujete a analyzujete svoje finančné údaje.
Tento sprievodca rozoberá kľúčové rozdiely, aby ste si mohli vybrať ten, ktorý vyhovuje vášmu pracovnému postupu, úrovni skúseností a potrebám sledovania financií.
Základná filozofia: Prísnosť verzus flexibilita
Najväčší rozdiel medzi Beancount a hledger nie je vo funkciách – je v prístupe.
Beancount je prísny učiteľ. Predpokladá, že pri zadávaní údajov urobíte chyby, a obsahuje mechanizmy, ktoré ich zachytia včas. Každý účet musí byť pred použitím explicitne otvorený. Každá transakcia musí byť vyrovnaná na nulu. Meny musia dodržiavať prísny formát. Ak niečo nie je v poriadku, Beancount odmietne spracovať váš súbor, kým to neopravíte.
hledger je zhovievavý priateľ. Používa uvoľnenejšiu syntax, umožňuje vám vynechať predbežné deklarovanie účtov a dokáže dokonca odvodiť vyrovnávacie položky. Sledovanie financií môžete začať s minimálnym nastavením a postupne pridávať štruktúru podľa toho, ako rastú vaše potreby.
Ani jeden prístup nie je objektívne lepší. Ak si ceníte zachytenie chýb skôr, než prerastú do hodín hľadania problémov, prísnosť Beancountu je výhodou. Ak chcete začať rýchlo a uprednostňujete flexibilitu, voľnejšie pravidlá hledgeru sú plusom.
Syntax a dátový formát
Oba nástroje ukladajú transakcie v textových súboroch, ale pravidlá syntaxe sa výrazne líšia.
Syntax Beancount
2026-03-15 * "Whole Foods" "Weekly groceries"
Expenses:Food:Groceries 85.42 USD
Liabilities:CreditCard:Visa
Kľúčové pravidlá:
- Dátumy používajú formát ISO 8601 (
RRRR-MM-DD) - Meny musia byť veľké písmená (napr.
USD,EUR) – žiadne symboly ako$alebo€ - Názvy účtov vyžadujú aspoň dve zložky oddelené dvojbodkami (napr.
Expenses:Food) - Popisy musia byť v úvodzovkách
- Všetky účty musia byť explicitne otvorené direktívou
open
Syntax hledger
2026-03-15 Whole Foods | Weekly groceries
expenses:food:groceries $85.42
liabilities:creditcard:visa
Kľúčové pravidlá:
- Flexibilnejšie formáty dátumu
- Povolené sú symboly mien ako
$a€ - Názvy účtov môžu byť písané malými písmenami a sú voľnejšie
- Popisy nemusia byť v úvodzovkách
- Nie je potrebné vopred deklarovať účty
Zhrnutie: Prísnejšia syntax Beancountu znamená viac práce na začiatku, ale menej nejednoznačností. Uvoľnená syntax hledgeru uľahčuje začiatok, ale vyžaduje viac disciplíny na udržanie konzistencie.
Integrita údajov a validácia
V tomto smere sa Beancount skutočne odlišuje.
Kontrolné zostatky (Balance Assertions)
Oba nástroje podporujú kontrolné zostatky – príkazy, ktoré overujú, či váš zaznamenaný zostatok súhlasí s bankovým výpisom. Fungujú však inak.
Beancount používa datované kontroly zostatkov, ktoré sú nezávislé od poradia. Svoje transakčné súbory môžete preusporiadať akokoľvek chcete a kontroly budú stále fungovať správne. Kontroly v hledgeri závisia od poradia v súbore, čo znamená, že presun transakcií ich môže znefunkčniť.
Sledovanie investícií (Inventory Tracking)
Pre každého, kto sleduje investície, je toto veľmi dôležité. Beancount vynucuje prísne účtovanie zásob: nemôžete predať akcie, ktoré ste nikdy nekúpili, a presne sleduje nákupnú cenu (cost basis). To zabraňuje chybám pri výpočte kapitálových výnosov, ktoré by sa inak mohli nenápadne odchýliť od reality.
hledger spracováva komodity a šarže tiež, ale s menším dôrazom na vynucovanie pravidiel. Je flexibilnejší, čo znamená, že je aj zhovievavejší k chybám, ktoré si možno nevšimnete až do daňového priznania.
Kategórie účtov
Beancount vyžaduje, aby každý účet patril do jednej z piatich kategórií: Aktíva (Assets), Pasíva (Liabilities), Príjmy (Income), Výdavky (Expenses) alebo Vlastné imanie (Equity). Toto obmedzenie mu umožňuje automaticky generovať správne súvahy a výsledovky.
hledger umožňuje ľubovoľné hierarchie účtov bez vyžadovaných koreňových kategórií. To vám dáva väčšiu slobodu, ale znamená to, že musíte manuálne dodržiavať konvencie, aby ste získali zmysluplné finančné výkazy.
Používateľské rozhranie a reportovanie
Beancount + Fava
Najvýraznejšou funkciou Beancountu je Fava, prepracované webové rozhranie, ktoré poskytuje:
- Interaktívne grafy a schémy (trendy čistého imania, rozpis výdavkov, príjmy vs. výdavky)
- Vizualizácie vo forme stromových máp (treemaps) pre kategórie výdavkov
- Výkonné filtrovanie podľa účtu, značky, časového obdobia a príjemcu
- Dopytovací jazyk pre vlastné reporty
- Vstavaný editor pre vaše účtovné súbory
Fava je všeobecne považovaná za najlepšie UI v ekosystéme účtovníctva v prostom texte. Ak ste vizuálny typ človeka, ktorý chce mať k dispozícii dashboardy a grafy, toto je hlavný argument v prospech Beancountu.
Rozhrania hledger
hledger využíva prístup s viacerými rozhraniami:
- CLI: Bohaté reportovanie v príkazovom riadku s desiatkami vstavaných príkazov (
balance,register,incomestatement,cashflowa ďalšie) - hledger-ui: Terminálové používateľské rozhranie na interaktívne prehliadanie účtov a transakcií
- hledger-web: Jednoduchšie webové rozhranie na základné prehliadanie a zadávanie údajov
CLI nástroja hledger je po vybalení výkonnejší ako v prípade Beancountu. Ak pracujete v termináli a chcete rýchle, skriptovateľné reporty, hledger je správna voľba.
Výkon
hledger je napísaný v jazyku Haskell a spracuje približne 25 000 transakcií za sekundu. Pre väčšinu používateľov osobných financií sú oba nástroje prakticky okamžité. Ak však spravujete veľký súbor údajov – roky transakcií naprieč viacerými entitami – čistá rýchlosť hledgeru mu dáva výhodu.
Beancount (v3) bol v rámci jadra parsera prepísaný do C++, čo výrazne zlepšilo výkon oproti pôvodnej implementácii v Pythone. Pri bežnom osobnom použití alebo použití v malých firmách rozdiel nepocítite.
Rozšíriteľnosť a pluginy
Pluginy Beancount
Beancount má natívny systém pluginov v Pythone, ktorý je mimoriadne výkonný. Pluginy dokážu:
- Automaticky rozdeľovať transakcie (napr. zdieľané výdavky)
- Generovať opakujúce sa transakcie
- Vynucovať vlastné pravidlá validácie
- Transformovať údaje v procese spracovania
Ekosystém Pythonu znamená, že vo svojich pluginoch môžete využiť akúkoľvek knižnicu Pythonu. Vďaka tomu je Beancount vysoko prispôsobiteľný pre zložité finančné scenáre.
Rozšírenia hledger
hledger ponúka rozšíriteľnosť prostredníctvom:
- Pravidiel pre import CSV na automatizáciu bankových výpisov
- Vlastných skriptov pre reporty využívajúcich výstup z CLI
- Rozhrania HTTP-JSON API na vytváranie integrácií
- Doplnkových príkazov založených na Haskellu
Systém importu CSV v hledgeri je obzvlášť uznávaný – zjednodušuje automatizáciu importu bankových výpisov pomocou súborov s pravidlami, ktoré mapujú stĺpce CSV na zápisy v účtoch.
Začíname a krivka učenia
hledger: Nižšia vstupná bariéra
S hledgerom je vo všeobecnosti jednoduchšie začať:
- Inštalácia jediného binárneho súboru (vynikajúca podpora viacerých platforiem vrátane Windows)
- Vytvorenie súboru a okamžité zaznamenávanie transakcií
- Nie je potrebné deklarovať účty ani dodržiavať prísne konvencie pomenovania
- Komplexná, dobre udržiavaná dokumentácia
- Aktívna komunita so zdrojmi vhodnými pre začiatočníkov
Beancount: Viac nastavovania, viac štruktúry
Beancount si vyžaduje viac počiatočného nastavenia:
- Inštalácia Pythonu a Beancountu (a Fava pre webové rozhranie)
- Vytvorenie deklarácií účtov pred ich použitím
- Dodržiavanie prísnych pravidiel syntaxe od prvého dňa
- Naučenie sa piatich kategórií účtov
Kompromisom je, že táto počiatočná investícia prináša ovocie. Dobre štruktúrovaná hlavná kniha Beancount sa s narastajúcim objemom ľahšie udržiava, overuje a audituje.
Komunita a ekosystém
Oba projekty majú aktívne a nápomocné komunity:
- Beancount: Aktívna e-mailová konferencia, rastúci ekosystém nástrojov tretích strán (importéry, pluginy, rozšírenia Fava) a silná komunita vývojárov v Pythone
- hledger: Časté vydania verzií (približne štvrťročne), rozsiahla dokumentácia, aktívne diskusné kanály a širšia komunita plaintextaccounting.org
Oba nástroje ťažia zo širšieho hnutia „plain-text accounting“, čo znamená zdieľané zdroje, importéry a komunitné znalosti.