Základné natívne pluginy pre Beancount, ktoré by ste mali poznať
Sila Beancountu nespočíva len v jeho textovom formáte, ale aj v jeho rozšíriteľnosti prostredníctvom pluginov. Natívne pluginy sú vstavané moduly, ktoré rozširujú funkčnosť Beancountu, automatizujú zdĺhavé úlohy a vynucujú osvedčené účtovné postupy. V tomto komplexnom sprievodcovi preskúmame všetky natívne pluginy dostupné v Beancounte a to, ako ich efektívne používať.
Čo sú pluginy Beancount?
Pluginy Beancount sú moduly v jazyku Python, ktoré spracúvajú záznamy vo vašej účtovnej knihe s cieľom pridať automatizáciu, validáciu alebo transformačné schopnosti. Spúšťajú sa počas fázy načítania súboru účtovnej knihy a dokážu:
- Automatizovať opakujúce sa úlohy (napr. vytváranie deklarácií účtov)
- Validovať integritu údajov (napr. kontrola duplicitných transakcií)
- Transformovať záznamy (napr. generovanie cenových záznamov z transakcií)
- Vynucovať účtovné pravidlá (napr. jedna komodita na účet)
Ako používať pluginy
Ak chcete povoliť plugin vo svojom súbore Beancount, pridajte direktívu plugin na začiatok vašej účtovnej knihy:
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.implicit_prices"
Niektoré pluginy akceptujú konfiguračné možnosti:
plugin "beancount.plugins.check_commodity" "USD,EUR,CAD"
Kategórie natívnych pluginov
Natívne pluginy Beancountu spadajú do štyroch hlavných kategórií:
1. Pluginy pre automatizáciu
2. Pluginy pre validáciu
3. Pluginy pre transformáciu
4. Meta-pluginy
1. Pluginy pre automatizáciu
Tieto pluginy automatizujú opakujúce sa úlohy účtovníctva, čím šetria váš čas a znižujú riziko manuálnych chýb.
auto_accounts - Automatické deklarácie účtov
Čo robí: Automaticky vkladá direktívy Open pre účty, ktoré sa objavujú v transakciách, ale neboli explicitne deklarované.
Prečo ho používať: Odstraňuje potrebu manuálne deklarovať každý účet pred jeho použitím. Ideálne pre rýchly začiatok alebo pre používateľov, ktorí preferujú minimálny sprievodný kód (boilerplate).
Príklad:
plugin "beancount.plugins.auto_accounts"
2026-01-01 * "Kaviareň"
Expenses:Food:Coffee 4.50 USD
Assets:Cash -4.50 USD
Bez pluginu by ste museli manuálne pridať:
2025-12-01 open Expenses:Food:Coffee
2025-12-01 open Assets:Cash
Kedy ho použiť: Ideálne pre začiatočníkov alebo tých, ktorí chcú menej rozvláčnu účtovnú knihu. Explicitné deklarácie účtov však môžu pomôcť zachytiť preklepy.
close_tree - Automatické uzatváranie hierarchie účtov
Čo robí: Keď uzavriete nadradený účet, tento plugin automaticky uzavrie všetky jeho podradené účty.
Prečo ho používať: Udržuje konzistenciu v hierarchii vašich účtov. Ak uzavriete Assets:Investments, všetky podúčty ako Assets:Investments:Stocks and Assets:Investments:Bonds sa uzavrú automaticky.
Príklad:
plugin "beancount.plugins.close_tree"
2025-06-30 close Assets:Investments
; Tieto budú automaticky uzavreté:
; Assets:Investments:Stocks
; Assets:Investments:Bonds
; Assets:Investments:RealEstate
Kedy ho použiť: Pri reštrukturalizácii hierarchie účtov alebo pri uzatváraní celých kategórií účtov.
implicit_prices - Automatické generovanie cenových záznamov
Čo robí: Syntetizuje direktívy Price z položiek transakcií, ktoré obsahujú náklady (@) alebo ceny (@@).
Prečo ho používať: Automaticky napĺňa vašu cenovú databázu z vašich transakcií, čo umožňuje presné vykazovanie trhovej hodnoty bez manuálnych cenových záznamov.
Príklad:
plugin "beancount.plugins.implicit_prices"
2026-01-02 * "Nákup akcií AAPL"
Assets:Investments:Stocks 10 AAPL @ 150.00 USD
Assets:Cash -1500.00 USD
Toto automaticky vygeneruje:
2026-01-02 price AAPL 150.00 USD
Kedy ho použiť: Nevyhnutné pre sledovanie investícií a účtovníctvo vo viacerých menách, kde vyžadujete automatickú históriu cien.
2. Pluginy pre validáciu
Tieto pluginy vynucujú integritu údajov a osvedčené účtovné postupy, pričom zachytávajú chyby skôr, než sa stanú problémom.
noduplicates - Detekcia duplicitných transakcií
Čo robí: Kontroluje, či žiadne dve transakcie nie sú identické, výpočtom a porovnaním hashov údajov transakcií.
Prečo ho používať: Zabraňuje náhodným duplicitným záznamom, najmä pri importe transakcií z viacerých zdrojov.
Príklad:
plugin "beancount.plugins.noduplicates"
2026-01-02 * "Platba nájomného"
Expenses:Rent 1200.00 USD
Assets:Checking -1200.00 USD
; Toto by vyvolalo chybu:
2026-01-02 * "Platba nájomného"
Expenses:Rent 1200.00 USD
Assets:Checking -1200.00 USD
Kedy ho použiť: Vždy sa odporúča, najmä ak importujete z bankových výpisov alebo použ ívate viacero zdrojov údajov.
check_commodity - Validácia deklarácie komodít
Čo robí: Zaisťuje, že všetky komodity použité vo vašej účtovnej knihe majú zodpovedajúce direktívy Commodity.
Prečo ho používať: Vynucuje explicitné deklarácie komodít, čo vám pomáha udržiavať čistý zoznam aktív a mien.
Príklad:
plugin "beancount.plugins.check_commodity"
2015-01-01 commodity USD
2020-01-01 commodity AAPL
; Toto by bez deklarácie komodity vyvolalo chybu:
2026-01-02 * "Nákup Bitcoinu"
Assets:Crypto 0.5 BTC @ 45000 USD
Assets:Cash -22500.00 USD
Kedy ho použiť: Odporúča sa na udržanie prísneho sledovania komodít a predchádzanie preklepom v symboloch (tickeroch).
check_average_cost – Validácia nákladovej bázy
Čo robí: Overuje, či je nákladová báza správne zachovaná v transakciách, najmä pri použití účtovania priemerných nákladov.
Prečo to používať: Zabezpečuje, že vaše účtovanie nákladov zostáva presné pre daňové priznania a výpočty kapitálových výnosov.
Kedy to použiť: Kritické pre investičné portfóliá a akýkoľvek scenár, kde záleží na presnom sledovaní nákladov.
check_closing – Validácia uzatvárania zostatkov
Čo robí: Rozširuje metadáta closing do kontrol zostatkov, čím zabezpečuje, že pozície sú po uzatváracích obchodoch nulové.
Prečo to používať: Potvrdzuje, že keď predáte celú pozíciu, zostatok je skutočne nulový (nezostali žiadne zlomkové akcie).
Príklad:
plugin "beancount.plugins.check_closing"
2026-01-02 * "Uzatvorenie celej pozície AAPL" #closing
Assets:Investments:Stocks -100 AAPL {150.00 USD}
Assets:Cash 15000.00 USD
Income:Investments:Gains -500.00 USD
Značka #closing hovorí pluginu, aby overil, že vaša pozícia AAPL je po tejto transakcii nulová.
Kedy to použiť: Pri predaji celých pozícií, aby sa zabezpečilo, že nič nezostalo.
coherent_cost – Kontrola konzistentnosti meny/nákladov
Čo robí: Validuje, že meny sa nepoužívajú nekonzistentne – s anotáciami nákladov aj bez nich.
Prečo to používať: Zabraňuje miešaniu čistých mien (napr. 100 USD) s menami s určenými nákladmi (napr. 100 USD {1.2 CAD}), čo môže spôsobiť účtovné chyby.
Kedy to použiť: Odporúča sa pre účtovné knihy s viacerými menami na zachovanie konzistentnosti.
leafonly – Vynútenie koncových (leaf) účtov
Čo robí: Zabezpečuje, aby zápisy (postings) dostávali iba koncové účty (účty, ktoré nemajú podradené účty).
Prečo to používať: Vynucuje čistú hierarchiu účtov, kde súhrnné účty ako Expenses:Food nemajú priame zápisy, iba ich podradené účty ako Expenses:Food:Groceries a Expenses:Food:Restaurants.
Príklad:
plugin "beancount.plugins.leafonly"
; Toto by vyvolalo chybu:
2026-01-02 * "Nákup potravín"
Expenses:Food 50.00 USD ; Chyba: Malo by sa účtovať na koncový účet
Assets:Cash -50.00 USD
; Správny spôsob:
2026-01-02 * "Nákup potravín"
Expenses:Food:Groceries 50.00 USD ; Správne: Účtovanie na koncový účet
Assets:Cash -50.00 USD
Kedy to použiť: Keď chcete udržiavať prísne hierarchické účtovníctvo s jasnou kategorizáciou.
nounused – Detekcia nepoužívaných účtov
Čo robí: Identifikuje účty, ktoré boli otvorené, ale nikdy neboli skutočne použité v žiadnych transakciách.
Prečo to používať: Pomáha vám vyčistiť deklarácie účtov a identifikovať potenciálne preklepy alebo opustené účty.
Kedy to použiť: Periodicky, na audit a vyčistenie štruktúry vašich účtov.
onecommodity – Jedna komodita na účet
Čo robí: Vynucuje, aby každý účet držal iba jeden typ komodity.
Prečo to používať: Zabraňuje miešaniu rôznych aktív na rovnakom účte, čo je vo všeobecnosti osvedčený účtovný postup.
Príklad:
plugin "beancount.plugins.onecommodity"
2026-01-02 * "Nákup akcií"
Assets:Investments 10 AAPL @ 150 USD
Assets:Cash -1500.00 USD
; Toto by vyvolalo chybu:
2026-01-03 * "Nákup ďalších akcií"
Assets:Investments 5 GOOGL @ 140 USD ; Chyba: Iná komodita
Assets:Cash -700.00 USD
Kedy to použiť: Keď uprednostňujete prísne oddelenie účtov (jeden účet na jednu akciu/aktívum).
sellgains – Validácia kapitálových výnosov
Čo robí: Krížovo kontroluje deklarované kapitálové výnosy voči vypočítaným výnosom z predaja dávok (lots), čím zabezpečuje presnosť vašich výpočtov ziskov/strát.
Prečo to používať: Zachytáva chyby v manuálnych výpočtoch kapitálových výnosov, čo je kľúčové pre presné daňové priznania.
Príklad:
plugin "beancount.plugins.sellgains"
2026-01-02 * "Predaj akcií AAPL"
Assets:Investments:Stocks -10 AAPL {140.00 USD}
Assets:Cash 1500.00 USD
Income:Investments:Gains -100.00 USD ; Plugin potvrdí, že je to správne
Plugin overí: Výnos z predaja (1500) - Nákladová báza (1400) = Výnos (100)
Kedy to použiť: Nevyhnutné pre každého, kto obchoduje s akciami, kryptomenami alebo inými aktívami, kde záleží na kapitálových výnosoch.
unique_prices – Kontrola unikátnosti cien
Čo robí: Zabezpečuje, aby pre každú komoditu a dátum existoval iba jeden záznam o cene.
Prečo to používať: Zabraňuje konfliktným údajom o cenách, ktoré by mohli viesť k nesprávnemu oceneniu.
Kedy to použiť: Odporúča sa pri manuálnom zadávaní cien alebo pri importe z viacerých zdrojov cien.
3. Transformačné pluginy
Tieto pluginy užitočným spôsobom upravujú alebo vylepšujú dáta vo vašej účtovnej knihe.
currency_accounts – Účty na obchodovanie s menami
Čo robí: Implementuje účty na obchodovanie s menami pre explicitné sledovanie forexových konverzií.
Prečo to používať: Poskytuje podrobné sledovanie transakcií konverzie mien, užitočné pre účtovné štandardy, ktoré to vyžadujú.
Kedy to použiť: Keď potrebujete sledovať forexové zisky/straty oddelene alebo splniť špecifické účtovné požiadavky.
commodity_attr – Validácia atribútov komodít
Čo robí: Validuje, či direktívy komodít majú požadované atribúty (ako export, name atď.).
Prečo to používať: Zabezpečuje, aby metadáta vašich komodít boli úplné a konzistentné.
Kedy to použiť: Keď udržiavate podrobné metadáta komodít na účely reportingu alebo exportu.
4. Meta-pluginy
Tieto pluginy sú kolekciami iných pluginov pre väčšie pohodlie.
auto – Všetky automatické pluginy
Čo robí: Povoľuje kolekciu „benevolentných“ alebo automatických pluginov v jednej direktíve.
Kedy použiť: Rýchle nastavenie pre používateľov, ktorí chcú maximálnu automatizáciu s minimálnou konfiguráciou.
pedantic – Všetky validačné pluginy
Čo robí: Aktivuje všetky pluginy pre prísnu validáciu naraz.
Prečo ho použiť: Vynucuje maximálnu integritu údajov a účtovnú precíznosť. Skvelé pre produkčné účtovné knihy alebo v prípadoch, keď je presnosť prvoradá.
Príklad:
plugin "beancount.plugins.pedantic"
; Toto je ekvivalentné s povolením:
; - check_commodity
; - check_average_cost
; - coherent_cost
; - leafonly
; - noduplicates
; - nounused
; - onecommodity
; - sellgains
; - unique_prices
Kedy použiť: Pre produkčné účtovné knihy, kde vyžadujete maximálnu validáciu a ste ochotní dodržiavať prísnejšie účtovné postupy.
Odporúčané konfigurácie pluginov
Pre začiatočníkov
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.noduplicates"
plugin "beancount.plugins.implicit_prices"
Táto minimálna sada poskytuje automatizáciu a zároveň predchádza bežným chybám.
Pre investorov
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.implicit_prices"
plugin "beancount.plugins.sellgains"
plugin "beancount.plugins.check_average_cost"
plugin "beancount.plugins.unique_prices"
Zameriava sa na sledovanie investícií a presnosť kapitálových ziskov.
Pre prísne účtovníctvo
plugin "beancount.plugins.pedantic"
plugin "beancount.plugins.sellgains"
plugin "beancount.plugins.check_closing"
Maximálna validácia pre produkčné prostredia.
Predvolená konfigurácia na Beancount.io
Na Beancount.io štandardne zahŕňame plugin auto_accounts do všetkých nových súborov účtovnej knihy:
plugin "beancount.plugins.auto_accounts"
To poskytuje skvelú rovnováhu medzi jednoduchosťou používania a funkčnosťou pre rýchly začiatok.
Najlepšie postupy
-
Začnite minimálne, pridávajte podľa potreby: Začnite s
auto_accountsanoduplicates, potom pridávajte validačné pluginy, ako sa vaša účtovná kniha rozrastá. -
Testujte pluginy individuálne: Pri pridávaní viacerých pluginov ich povoľujte po jednom, aby ste pochopili ich účinky.
-
Pozorne čítajte chybové správy: Chyby pluginov často poukazujú na skutočné účtovné problémy, ktoré je potrebné opraviť.
-
Používajte
pedanticpre produkciu: Keď sa váš pracovný postup ustáli, zvážte povolenie prísnej validácie. -
Kombinujte s vlastnými pluginmi: Natívne pluginy fungujú spolu s vlastnými pluginmi, ako je forecast plugin, pre maximálnu funkčnosť.
Viac než len natívne pluginy
Zatiaľ čo natívne pluginy poskytujú základnú funkčnosť, ekosystém Beancount obsahuje mnoho komunitou vyvinutých pluginov pre špecializované potreby:
- fava.plugins.forecast – Pre predpovedanie opakujúcich sa transakcií
- fava.plugins.link_documents – Pre prepojenie transakcií so súbormi účteniek
- Vlastné importéry pre CSV formáty špecifické pre banky
- Kalkulačky a reporty špecifické pre dane
Preskúmajte ekosystém Beancount pre viac možností.
Záver
Natívne pluginy Beancount transformujú plain-text účtovníctvo z manuálneho procesu na automatizovaný, validovaný a robustný systém finančného riadenia. Pochopením a využívaním týchto vstavaných nástrojov môžete:
- ✅ Automatizovať zdĺhavé účtovné úlohy
- ✅ Zachytiť chyby skôr, než sa stanú problémami
- ✅ Udržiavať prísnu integritu údajov
- ✅ Generovať presné finančné výkazy
- ✅ Zamerať sa na finančné prehľady namiesto zadávania údajov
Začnite experimentovať s týmito pluginmi vo vašej účtovnej knihe ešte dnes. Začnite s auto_accounts a implicit_prices, a potom postupne pridávajte validačné pluginy, ako sa vaše účtovné postupy zdokonaľujú.
Ste pripravení vyskúšať tieto pluginy? Prejdite na Beancount.io a začnite ich používať vo svojej účtovnej knihe ešte dnes!
Zdroje
- Beancount Plugins API Reference
- Beancount Scripting & Plugins Guide
- Beancount Plugins and Options by Bryan Alves
- Beancount GitHub Repository
Máte otázky týkajúce sa pluginov Beancount? Zapojte sa do diskusie na našom komunitnom fóre alebo si pozrite našu dokumentáciu.
