Táto príručka syntetizuje osvedčené postupy pre účtovníctvo v čistom texte pomocou výkonného open-source nástroja Beancount. Pokrýva základnú filozofiu, syntax od základov po pokročilé, praktické prípadové štúdie pre komplexné aktíva a dlhodobé stratégie správy účtovnej knihy.
Časť 1: „Prečo" – Základy inteligentného účtovníctva
Predtým, než sa ponoríme do „ako", je kľúčové pochopiť „prečo". Efektívne účtovníctvo je základom osobného finančného riadenia a nevyhnutným krokom k finančnej jasnosti a slobode.
Okrem sledovania výdavkov: Cesta k finančnej jasnosti
Jednoduché aplikácie na sledovanie výdavkov vám povedia, kam išli vaše peniaze. Robustný účtovný systém vám povie to a oveľa viac: poskytuje úplný obraz o vašom finančnom zdraví, vrátane vašej čistej hodnoty, cash flow a výkonnosti vašich investícií. Primárnym cieľom je pozorovateľnosť – získanie jasného, dátami riadeného pochopenia vášho finančného života, ktoré vám umožní robiť informované rozhodnutia, posudzovať riziká a pracovať na dlhodobých cieľoch, ako je dôchodok.
Prečo podvojné účtovníctvo? Sila vyváženého systému
Na rozdiel od jednoduchého účtovníctva (jednoduchý zoznam výdavkov), podvojná metóda zaznamenáva každú transakciu ako tok hodnoty medzi najmenej dvoma účtami. Jej základným princípom je základná účtovná rovnica:
Tento systém zaisťuje, že vaše knihy sú vždy vyvážené, čo dramaticky znižuje chyby. Poskytuje úplný finančný obraz vytváraním základných správ, ako sú súvaha (čo vlastníte a čo dlhujete) a výkaz ziskov a strát (čo ste zarobili a minuli).
Časť 2: Začíname s Beancount
Beancount je výkonný nástroj založený na Pythone pre účtovníctvo v čistom texte.
Váš prvý pohľad s Fava na Beancount.io
Beancount.io poskytuje výkonné prostredie, ktoré kombinuje engine Beancount s mobilnou aplikáciou (iOS, Android) a webovou aplikáciou – Fava, fantastickým webovým rozhraním na vizualizáciu vašej účtovnej knihy. Nie je potrebná žiadna inštalácia. Keď používate platformu, priamo interagujete s textovým editorom pre váš súbor knihy (napr. main.bean) a vidíte, ako sa správy generované Fava aktualizujú v reálnom čase.
Fava preberá čistý text, ktorý píšete, a premieňa ho na interaktívne grafy, finančné výkazy a filtrovateľné zoznamy transakcií, čo vám dáva jasný pohľad na vaše finančné správy.
Alebo začnite v termináli s programom bea
Ak by ste radšej pracovali z príkazového riadku, bea je príkazový riadok Beancount.io. Nie je potrebný žiadny účet: nainštalujte ho pomocou brew install bex-co/tap/bea alebo uv tool install beancount-io, a on vytvára, overuje, spracováva dotazy a generuje správy o rovnakom súbore v obyčajnom texte. Rýchly štart CLI vám vytvorí prvý ledger za pár minút a Váš prvý mesiac s programom bea uzavrie celý mesiac od začiatku do konca.
Päť základných typov účtov
Beancount používa päť hlavných typov účtov, ktoré tvoria štruktúru vašej účtovnej knihy:
| Typ účtu | Popis | Typický zostatok |
|---|---|---|
Aktíva | Čo vlastníte (hotovosť, bankové účty, investície, nehnuteľnosti). | Pozitívny |
Záväzky | Čo dlhujete (dlh na kreditnej karte, pôžičky, hypotéky). | Negatívny |
Príjmy | Odkiaľ peniaze prichádzajú (plat, bonusy, úroky). | Negatívny |
Výdavky | Kam peniaze idú (jedlo, nájom, cestovanie, dane). | Pozitívny |
Vlastné imanie | Vaša čistá hodnota; používa sa na počiatočné zostatky. | Negatívny |
Beancount rovnica
Beancount presadzuje vlastnú verziu účtovnej rovnice, kde sa súčet všetkých položiek v celej vašej účtovnej knihe rovná nule:
Preto podľa konvencie účty Príjmy, Záväzky a Vlastné imanie držia negatívne hodnoty – sú to zdroje finančných prostriedkov, ktoré zvyšujú vaše Aktíva a Výdavky.
Časť 3: Jazyk Beancount – Základná syntax
Všetky záznamy v Beancount sú direktívy, ktoré začínajú dátumom.
Definovanie účtov (open) a komodít
Predtým, než môžete použiť účet, musíte ho deklarovať direktívou open. Môžete tiež voliteľne špecifikovať meny alebo „komodity", ktoré bude držať.
; YYYY-MM-DD open Account:Name [Commodity1, Commodity2, ...]
2020-01-01 open Assets:Bank:US:Chase:Checking USD
2020-01-01 open Liabilities:CreditCard:US:Discover USD
2020-01-01 open Expenses:Food:Groceries
2020-01-01 open Income:Salary:GoogleKomodity môžu byť skutočné meny (napr. USD, JPY) alebo akákoľvek vlastná jednotka, ktorú definujete, ako napríklad míle leteckej spoločnosti (MILES_UA) alebo tickery akcií (HOOL).
Zaznamenanie vašej prvej transakcie (*)
Transakcie sú najbežnejším záznamom. Začínajú dátumom, príznakom (* pre dokončenú transakciu alebo ! pre neúplnú), voliteľným príjemcom a popisom. Každý riadok, ktorý nasleduje (odsadený dvoma medzerami), je „položka" na účte.
; YYYY-MM-DD * "Payee" "Description"
; Account1 Amount Commodity
; Account2 -Amount Commodity
2024-07-28 * "Trader Joe's" "Weekly groceries"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:Discover -125.50 USDPre pohodlie, ak má transakcia iba dve položky, môžete vynechať množstvo na druhom riadku a Beancount ho vypočíta automaticky.
2024-07-28 * "Trader Joe's" "Weekly groceries"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:DiscoverVyváženosť na úrovni transakcie: Dôležitejšie pre každodenné použitie je, že každá jednotlivá transakcia musí byť tiež vyvážená – súčet všetkých položiek v rámci jednej transakcie sa musí rovnať nule. Ak transakcia nie je vyvážená, Beancount zobrazí chybu, ako je táto:

Spracovanie viacmenových transakcií (@ a @@)
Beancount vyniká vo viacmenovom účtovníctve.
- Použite
@na špecifikovanie konverznej ceny za jednotku. - Použite
@@na špecifikovanie celkových nákladov konverzie.
; Buying a flight in EUR with a USD card
2024-08-01 * "Lufthansa" "Flight to Berlin"
Expenses:Travel:Flights 500.00 EUR @@ 545.00 USD ; 500 EUR cost me 545 USD in total
Liabilities:CreditCard:US:Discover -545.00 USDČasť 4: Zabezpečenie presnosti – Umenie odsúhlasenia
Kľúčovou praxou pre udržiavanie presnej účtovnej knihy je pravidelné odsúhlasenie. To zahŕňa porovnanie zostatkov vo vašej Beancount knihe s oficiálnymi výpismi z vašich finančných inštitúcií.
Automatizácia kontrol pomocou zostatkových asercií (balance)
Direktíva balance je vaším primárnym nástrojom pre automatizované kontroly. Tvrdíte, že k určitému dátumu mal účet špecifický zostatok. Beancount vyvolá chybu, ak sa jeho vypočítaný zostatok nezhoduje s vašou aserciou. To je neoceniteľné pre rýchle lokalizovanie chýb.
Poznámka: Zostatková asercia kontroluje stav účtu na začiatku špecifikovaného dňa (pred akýmikoľvek transakciami v ten deň).
; From your monthly credit card statement
2024-08-01 balance Liabilities:CreditCard:US:Discover -1432.78 USDPrepojenie podporných dokumentov (document)
Môžete prepojiť externé súbory, ako sú bankové výpisy alebo účtenky, čím vytvoríte auditovateľnú stopu. Fava robí tieto odkazy klikateľnými.
2024-08-01 document Liabilities:CreditCard:US:Discover "statements/discover-2024-07.pdf"Oprava chýb a inicializácia zostatkov
Keď začínate svoju účtovnú knihu alebo nájdete nezrovnalosť, ktorú nemôžete vystopovať, musíte vykonať úpravu. Štandardnou praxou je použiť špeciálny účet Vlastné imanie.
; Initializing a cash account when starting your ledger
2020-01-01 * "Initial Balance" "Setting up cash account"
Assets:Cash:Wallet 200.00 USD
Equity:Opening-Balances -200.00 USDÚčet Equity:Opening-Balances drží sumy, ktoré vstupujú do vašej knihy z neznámych alebo externých zdrojov.
Pre rýchle opravy, kde presná nezrovnalosť nie je dôležitá, môže direktíva pad automaticky upraviť zostatok účtu tak, aby spĺňal následnú zostatkovú aserciu, pričom rozdiel zaúčtuje na účet vlastného imania. Používajte to s opatrnosťou, pretože to môže skryť väčšie problémy. Explicitné úpravy sú vo všeobecnosti bezpečnejšie.
Časť 5: Pokročilé a realistické vzory transakcií
Sledovanie dlhov: Správa pohľadávok a záväzkov
Podvojné účtovníctvo je ideálne na sledovanie peňazí, ktoré vám niekto dlhuje (Assets:Receivables) alebo ktoré dlhujete vy (Liabilities:Payable).
Príklad: Zaplatíte skupinovú večeru za $90 a váš priateľ Bob vám dlhuje svoj podiel $45.
-
Zaznamenajte počiatočný výdavok a pohľadávku:
2024-08-05 * "Dinner Place" "Dinner with Bob" Expenses:Food:Restaurant 45.00 USD ; Your share Assets:Receivables:Bob 45.00 USD ; Bob owes you Assets:Bank:US:Chase:Checking -90.00 USD -
Keď vám Bob vráti peniaze:
2024-08-06 * "Bob" "Paid me back for dinner" Assets:Bank:US:Chase:Checking 45.00 USD Assets:Receivables:Bob -45.00 USD
Účet Assets:Receivables:Bob je teraz nulový a vaše knihy sú dokonale vyvážené.
Aktíva vs. Výdavky: Nákup auta a odpisy
Veľký nákup, ako je auto, nie je jednoduchý výdavok; je to nadobudnutie aktíva, ktoré časom stráca hodnotu (odpisy).
-
Zaznamenajte nákup ako aktívum:
2023-01-15 * "Toyota Dealer" "Purchase of a new car" Assets:Car:ToyotaCamry 30000.00 USD Assets:Bank:US:Chase:Checking -30000.00 USD -
Zaznamenajte ročné odpisy: Predpokladajme, že odhadujete, že auto stráca 3 000 USD na hodnote každý rok. Na konci roka to zaznamenáte ako výdavok.
2023-12-31 * "Depreciation" "Annual car value depreciation" Expenses:Depreciation:Car 3000.00 USD Assets:Car:ToyotaCamry -3000.00 USD
Po tomto zázname váš účet Assets:Car:ToyotaCamry správne odráža novú hodnotu auta (27 000 USD) a správne ste zaúčtovali náklady na používanie ako výdavok za daný rok.
Časť 6: Hlboký ponor – Modelovanie komplexných reálnych aktív
Prípadová štúdia 1: Účtovníctvo nehnuteľností
Dom je často vaším najväčším aktívom a záväzkom. Tu je návod, ako ho modelovať.
-
Vytvorte účty a vlastnú komoditu:
2022-01-01 commodity HOUSE_123MAIN name: "Property at 123 Main St" 2022-01-01 open Assets:Property:Home:123Main HOUSE_123MAIN 2022-01-01 open Liabilities:Mortgage:HomeLoan USD 2022-01-01 open Expenses:Home:Interest 2022-01-01 open Expenses:Home:PropertyTax -
Zaznamenajte nákup: Povedzme, že kúpite dom za 500 000 $ s akontáciou 100 000 $ a pôžičkou 400 000 $.
2022-03-15 * "Settlement Company" "Purchase of 123 Main St" Assets:Property:Home:123Main 1 HOUSE_123MAIN {500000.00 USD} Assets:Bank:DownPayment -100000.00 USD Liabilities:Mortgage:HomeLoan -400000.00 USD -
Zaznamenajte mesačné splátky hypotéky: Vaša mesačná splátka pozostáva z istiny (znižuje záväzok) a úroku (výdavok).
2022-04-01 * "Mortgage Bank" "Monthly Mortgage Payment" Liabilities:Mortgage:HomeLoan 800.00 USD ; Principal Expenses:Home:Interest 1200.00 USD ; Interest Assets:Bank:US:Chase:Checking -2000.00 USD -
Sledovanie zhodnotenia (nercalizované zisky): Trhová hodnota domu sa mení. Na sledovanie tohto bez ovplyvnenia vašej oficiálnej čistej hodnoty (keďže zisk je realizovaný až pri predaji) môžete použiť direktívu ceny s „virtuálnou" menou.
; The purchase price is the real cost basis 2022-03-15 price HOUSE_123MAIN 500000.00 USD ; An updated market estimate is an unrealized gain 2024-01-01 price HOUSE_123MAIN 550000.00 USD.UNREALIZED
To vám umožní vidieť odhadovanú hodnotu v grafoch Fava bez nesprávneho nadhodnotenia vašej súvahy.
Preskúmajte živý príklad účtovnej knihy nehnuteľností so sledovaním hypotéky, odpismi a predajom nehnuteľnosti:
Prípadová štúdia 2: Sledovanie obmedzených akciových jednotiek (RSU)
RSU sú bežnou formou akciovej kompenzácie. Účtovanie o nich zahŕňa sledovanie počiatočného pridelenia, udalostí nároku a zrážky daní.
-
Počiatočné nastavenie: Vytvorte komodity pre akcie s nárokom (
HOOL) a bez nároku (HOOL.UNVEST), spolu so všetkými účtami, ktorých sa neskoršie záznamy týkajú. Deklarovanie všetkých vopred je to, čo umožňuje, aby sa dve nižšie uvedené transakcie načítali samostatne.2021-01-01 commodity HOOL 2021-01-01 commodity HOOL.UNVEST 2021-01-01 open Assets:Brokerage:Etrade:HOOL HOOL 2021-01-01 open Assets:Grant:Unvested HOOL.UNVEST 2021-01-01 open Income:Grant:Awards HOOL.UNVEST 2021-01-01 open Expenses:Grant:Vested HOOL.UNVEST 2021-01-01 open Income:Salary:Hooli:RSU USD 2021-01-01 open Expenses:Taxes:Federal USD 2021-01-01 open Expenses:Taxes:State USD -
Zaznamenajte počiatočné pridelenie: Táto transakcia ukazuje celkové pridelenie, ktoré sa presúva na účet aktív bez nároku. Zatiaľ nič nie je zdaniteľné, takže celý záznam je denominovaný v sledovacej komodite
HOOL.UNVEST.2021-02-01 * "Hooli" "Initial RSU Grant" Assets:Grant:Unvested 1000 HOOL.UNVEST Income:Grant:Awards -1000 HOOL.UNVEST -
Zaznamenajte udalosť nároku: Toto je kľúčová transakcia. Keď akcie nadobudnú nárok, vykážete príjem, zamestnávateľ zadrží akcie na zaplatenie dane a zvyšok si necháte. Predpokladajme, že 100 akcií nadobudne nárok pri cene 150,00 $, teda:
- Hrubá kompenzácia: 100 × 150,00 $ = 15 000,00 $
- Akcie zadržané na daň: 40 × 150,00 $ = 6 000,00 $ (federálna 4 800,00 $ + štátna 1 200,00 $)
- Akcie, ktoré si necháte: 60 × 150,00 $ = 9 000,00 $ nákladového základu
- Hotovosť pre vás: 0,00 $ – celá zrážka je zaplatená v akciách
Tieto sumy tvoria záznam a odsúhlasia sa: 6 000,00 $ daní plus 9 000,00 $ zadržaných akcií je presne 15 000,00 $ príjmu.
2022-02-01 * "Hooli" "RSU Vesting Event" ; Ordinary income: 100 shares * $150.00 Income:Salary:Hooli:RSU -15000.00 USD ; Tax withheld, funded by 40 of the 100 shares (40 * $150.00 = $6,000.00) Expenses:Taxes:Federal 4800.00 USD Expenses:Taxes:State 1200.00 USD ; The 60 shares you keep, at their $150.00 vesting-day basis Assets:Brokerage:Etrade:HOOL 60 HOOL {150.00 USD} ; Retire the 100 unvested units the grant was tracking Assets:Grant:Unvested -100 HOOL.UNVEST Expenses:Grant:Vested 100 HOOL.UNVEST
Táto jediná vyvážená transakcia modeluje celú udalosť: pridelenie bez nároku sa zníži, príjem sa vykáže, daň sa zrazí a 60 čistých akcií s nárokom sa objaví na vašom brokerskom účte so správnym nákladovým základom pre budúce výpočty kapitálových ziskov.
Dva detaily stoja za to skopírovať do vašej vlastnej knihy. Po prvé, napíšte zrážku účtovne po účtoch namiesto toho, aby ste nechali vyrovnávací účet absorbovať ju – ak sa federálne a štátne položky nesčítajú na hodnotu zadržaných akcií, transakcia nebude vyvážená a Beancount vám to povie. Po druhé, nenechávajte prázdny riadok medzi položkami: prázdny riadok ukončuje transakciu a Beancount hlási syntaktickú chybu na položkách, ktoré nasledujú.
Ak váš zamestnávateľ predá zadržané akcie na otvorenom trhu namiesto toho, aby si ich vzal späť za cenu nároku, predaj je samostatná transakcia – zníženie Assets:Brokerage:Etrade:HOOL oproti hotovosti – a akýkoľvek rozdiel medzi predajnou cenou a základom 150,00 $ je malý kapitálový zisk alebo strata. Nechajte to mimo záznamu o nároku.
Časť 7: Projektové riadenie vašej účtovnej knihy
Keď vaša kniha rastie, organizácia sa stáva kľúčovou.
Používanie verzovania (Git) na ochranu vašich dát
Keďže vaša kniha je textový súbor, je ideálna na verzovanie pomocou Gitu. To vám dáva úplnú históriu všetkých zmien, čo vás chráni pred náhodným vymazaním alebo chybami. Varovanie: Vaše finančné dáta sú vysoko citlivé. Použite súkromný repozitár na službách ako GitHub/GitLab alebo si hosťujte vlastný.
Organizácia pomocou tagov (#) a odkazov (^)
Beancount poskytuje dva spôsoby zoskupovania transakcií okrem účtov:
- Tagy (
#): Použite na udalosti alebo projekty. Môžete napríklad filtrovať všetky transakcie súvisiace s konkrétnou cestou.2024-07-20 * "Hotel" "Viedeň" #trip-europe-2024 - Odkazy (
^): Použite na prepojenie finančne súvisiacich transakcií, ktoré sa vyskytujú v rôznych časoch, ako je výber hotovosti a súvisiaci bankový poplatok.
Škálovateľná stratégia pre štruktúrovanie súborov (include)
Jeden obrovský súbor sa ťažko spravuje. Použite direktívu include na rozdelenie vašej knihy do viacerých súborov.
main.bean:
; Main ledger file
; Global options
option "title" "My Personal Ledger"
option "operating_currency" "USD"
; Include account declarations and other files
include "accounts.bean"
include "years/2023.bean"
include "years/2024.bean"
include "events/trip-europe-2024.bean"Robustná organizačná stratégia v poradí priority:
- Podľa udalosti: Vytvorte samostatný súbor pre veľkú, samostatnú udalosť (napr.
trip-europe-2024.bean). - Podľa kategórie/príjemcu: Pre vysoko pravidelné, opakujúce sa transakcie, ako sú účty za energie alebo plat, ich zoskupte do vlastného súboru (napr.
recurring-rent.bean). - Podľa účtu: Pre transakcie úzko spojené s konkrétnym účtom (úroky, poplatky, platby kreditnou kartou) zvážte súbor špecifický pre účet.
- Podľa dátumu: Pre všetky ostatné všeobecné transakcie je efektívne jednoduché rozdelenie podľa roku (
2024.bean) alebo mesiaca (2024/07.bean).
Časť 8: Záver
Beancount ponúka strmú krivku učenia, ale odmeňuje úsilie bezkonkurenčnou silou, flexibilitou a kontrolou nad vašimi finančnými dátami. Prijatím princípov podvojného účtovníctva a praktických nástrojov, ktoré Beancount poskytuje, sa môžete posunúť od jednoduchého sledovania výdavkov k úplnému, presnému a prehľadnému systému osobného finančného riadenia. Vaša kniha sa stane trvalým, súkromným a neoceniteľným aktívom na pochopenie vašej minulosti a plánovanie vašej budúcnosti.
Začíname s Beancount.io
Beancount.io je moderná cloudová platforma pre finančné riadenie, ktorá transformuje vaše textové záznamy transakcií na komplexné finančné výkazy vrátane výkazov ziskov a strát, súvah a skúšobných bilancií. Kombináciou spoľahlivosti súborov v čistom texte s výkonnými vizualizačnými nástrojmi vám Beancount.io pomáha udržiavať presnú kontrolu nad vaším finančným životom a zároveň získavať cenné poznatky o výkonnosti vašich investícií.
Začnite svoju finančnú cestu s Beancount.io – pozrite si aktuálne plány a ceny pre to, čo jednotlivé úrovne zahŕňajú.


