Úvod do Beancount.io
Táto príručka syntetizuje osvedčené postupy pre účtovníctvo v čistom texte pomocou výkonného, open-source nástroja pre účtovníctvo v čistom texte, Beancount. Pokrýva základnú filozofiu, základnú až pokročilú syntax, praktické prípadové štúdie pre komplexné aktíva a stratégie dlhodobej správy účtovnej knihy.
Časť 1: "Prečo" - Základy inteligentného účtovníctva
Predtým, ako sa ponoríme do "ako", je dôležité 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.
Za hranicami 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 toto a oveľa viac: poskytuje kompletný obraz o vašom finančnom zdraví, vrátane vášho čistého majetku, peňažného toku a výkonnosti vašich investícií. Primárnym cieľom je pozorovateľnosť – získanie jasného, dátami podložené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) metóda podvojného účtovníctva zaznamenáva každú transakciu ako tok hodnoty medzi aspoň dvoma účtami. Jeho hlavným princípom je základná účtovná rovnica:
Tento systém zabezpečuje, že vaše knihy sú vždy vyvážené, čo dramaticky znižuje chyby. Poskytuje kompletný finančný obraz generovaním základných výkazov, ako je Súvaha (čo vlastníte a 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 jazyku Python pre účtovníctvo v čistom texte.
Váš prvý pohľad s Fava na Beancount.io
Beancount.io poskytuje výkonné prostredie, ktoré kombinuje Beancount engine s mobilnou aplikáciou (iOS, Android) a webovou aplikáciou - Fava, fantastické webové rozhranie 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áš účtovný súbor (napr. main.bean) a vidíte, ako sa zostavy generované Favou aktualizujú v reálnom čase.
Fava berie čistý text, ktorý napíšete, a premení ho na interaktívne grafy, finančné výkazy a filtrovateľné zoznamy transakcií, čo vám poskytne jasný prehľad o vašich finančných výkazoch.
Päť základných typov účtov
Beancount používa päť typov účtov najvyššej úrovne, ktoré tvoria štruktúru vašej účtovnej knihy:
| Typ účtu | Popis | Typický zostatok |
|---|---|---|
Assets | Čo vlastníte (hotovosť, bankové účty, investície, majetok). | Kladný |
Liabilities | Čo dlhujete (dlh na kreditnej karte, pôžičky, hypotéky). | Záporný |
Income | Odkiaľ pochádzajú peniaze (plat, bonusy, úroky). | Záporný |
Expenses | Kam idú peniaze (jedlo, nájom, cestovanie, dane). | Kladný |
Equity | Váš čistý majetok; používa sa pre počiatočné zostatky. | Záporný |
Rovnica Beancount
Beancount presadzuje svoju vlastnú verziu účtovnej rovnice, kde sa súčet všetkých zápisov v celej vašej účtovnej knihe rovná nule:
Preto, zvyčajne, účty Income, Liabilities a Equity obsahujú záporné hodnoty – sú to zdroje finančných prostriedkov, ktoré zvyšujú vaše Assets a Expenses.
Č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, ako môžete použiť účet, musíte ho deklarovať pomocou direktívy open. Môžete tiež voliteľne určiť meny alebo "komodity", ktoré bude obsahovať.
; RRRR-MM-DD open Účet:Názov [Komodita1, Komodita2, ...]
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:Google
Komodity môžu byť meny reálneho sveta (napr. USD, JPY) alebo akákoľvek vlastná jednotka, ktorú definujete, ako napríklad míle leteckej spoločnosti (MILES_UA) alebo akciové symboly (HOOL).
Zaznamenávanie vašej prvej transakcie (*)
Transakcie sú najbežnejší záznam. Začínajú dátumom, príznakom (* pre kompletnú transakciu alebo ! pre nekompletnú), voliteľným príjemcom platby a popisom. Každý riadok, ktorý nasleduje (odsadený o dve medzery), je "zápis" do účtu.
; RRRR-MM-DD * "Príjemca" "Popis"
; Účet1 Suma Komodita
; Účet2 -Suma Komodita
2024-07-28 * "Trader Joe's" "Týždenný nákup potravín"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:Discover -125.50 USD
Pre pohodlie, ak má transakcia iba dva zápisy, môžete vynechať sumu na druhom riadku a Beancount ju automaticky vypočíta.
2024-07-28 * "Trader Joe's" "Týždenný nákup potravín"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:Discover
Vyrovnanie na úrovni transakcie: Čo je dôležitejšie pre každodenné použitie, každá jednotlivá transakcia musí byť tiež vyrovnaná – súčet všetkých zápisov v rámci jednej transakcie sa musí rovnať nule. Ak sa transakcia nevyrovná, Beancount zobrazí chybu takto:

Spracovanie transakcií vo viacerých menách (@ a @@)
Beancount vyniká v účtovníctve vo viacerých menách.
- Použite
@na určenie prepočítavacej ceny za jednotku. - Použite
@@na určenie celkových nákladov na konverziu.
; Kúpa letu v EUR s USD kartou
2024-08-01 * "Lufthansa" "Let do Berlína"
Expenses:Travel:Flights 500.00 EUR @@ 545.00 USD ; 500 EUR ma stálo celkovo 545 USD
Liabilities:CreditCard:US:Discover -545.00 USD
Časť 4: Zabezpečenie presnosti - Umenie odsúhlasovania
Kľúčovou praxou pre udržiavanie presnej účtovnej knihy je pravidelné odsúhlasovanie. To zahŕňa porovnanie zostatkov vo vašej účtovnej knihe Beancount s oficiálnymi výpismi od vašich finančných inštitúcií.
Automatizácia kontrol pomocou kontrol zostatku (balance)
Direktíva balance je váš primárny nástroj na automatizované kontroly. Potvrdzujete, že k danému dátumu mal účet špecifický zostatok. Beancount vyvolá chybu, ak sa jeho vypočítaný zostatok nezhoduje s vaším tvrdením. To je neoceniteľné pre rýchle vyhľadávanie chýb.
Poznámka: Kontrola zostatku overuje stav účtu na začiatku určeného dňa (pred akýmikoľvek transakciami v daný deň).
; Z vášho mesačného výpisu z kreditnej karty
2024-08-01 balance Liabilities:CreditCard:US:Discover -1432.78 USD
Prepojenie 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čnete svoju účtovnú knihu alebo nájdete nezrovnalosť, ktorú nemôžete vystopovať, musíte vykonať úpravu. Štandardnou praxou je použiť špeciálny účet Equity.
; Inicializácia hotovostného účtu pri začatí vašej účtovnej knihy
2020-01-01 * "Počiatočný zostatok" "Zriadenie hotovostného účtu"
Assets:Cash:Wallet 200.00 USD
Equity:Opening-Balances -200.00 USD
Účet Equity:Opening-Balances obsahuje sumy, ktoré vstupujú do vašej účtovnej 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 zodpovedal následnému tvrdeniu balance, pričom rozdiel zaúčtuje na účet vlastného imania. Používajte to opatrne, 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 dlhujú (Assets:Receivables) alebo ktoré dlhujete vy (Liabilities:Payable).
Príklad: Zaplatíte za skupinovú večeru za 90 USD a váš priateľ Bob vám dlhuje za svoj podiel 45 USD.
-
Zaznamenajte počiatočný výdavok a pohľadávku:
2024-08-05 * "Miesto na večeru" "Večera s Bobom"
Expenses:Food:Restaurant 45.00 USD ; Váš podiel
Assets:Receivables:Bob 45.00 USD ; Bob vám dlhuje
Assets:Bank:US:Chase:Checking -90.00 USD -
Keď vám Bob zaplatí:
2024-08-06 * "Bob" "Zaplatil mi za večeru"
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: Kúpa auta a odpisy
Veľký nákup, ako je auto, nie je jednoduchý výdavok; je to získanie aktíva, ktoré časom stráca hodnotu (odpisy).
-
Zaznamenajte nákup ako aktívum:
2023-01-15 * "Predajca Toyota" "Kúpa nového auta"
Assets:Car:ToyotaCamry 30000.00 USD
Assets:Bank:US:Chase:Checking -30000.00 USD -
Zaznamenajte ročné odpisy: Predpokladajme, že odhadujete, že auto stratí 3 000 USD z hodnoty každý rok. Na konci roka to zaznamenáte ako výdavok.
2023-12-31 * "Odpisy" "Ročné odpisy hodnoty auta"
Expenses:Depreciation:Car 3000.00 USD
Assets:Car:ToyotaCamry -3000.00 USD
Po tomto zápise 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 aktív reálneho sveta
Prípadová štúdia 1: Účtovanie nehnuteľností
Dom je často vaše najväčšie aktívum a záväzok. Tu je postup, ako ho modelovať.
-
Vytvorte účty a vlastnú komoditu:
2022-01-01 commodity HOUSE_123MAIN
name: "Nehnuteľnosť na 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 si kúpite dom za 500 tisíc USD so zálohou 100 tisíc USD a pôžičkou 400 tisíc USD.
2022-03-15 * "Vyrovnávacia spoločnosť" "Kúpa 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 * "Hypotekárna banka" "Mesačná splátka hypotéky"
Liabilities:Mortgage:HomeLoan 800.00 USD ; Istina
Expenses:Home:Interest 1200.00 USD ; Úrok
Assets:Bank:US:Chase:Checking -2000.00 USD -
Sledovanie zhodnotenia (nerealizované zisky): Trhová hodnota domu sa mení. Ak to chcete sledovať bez toho, aby to ovplyvnilo váš oficiálny čistý majetok (pretože zisk sa nerealizuje, kým nepredáte), môžete použiť cenovú direktívu s "virtuálnou" menou.
; Nákupná cena je skutočná nákladová báza
2022-03-15 price HOUSE_123MAIN 500000.00 USD
; Aktualizovaný odhad trhu je nerealizovaný zisk
2024-01-01 price HOUSE_123MAIN 550000.00 USD.UNREALIZED
To vám umožní vidieť odhadovanú hodnotu v grafoch Fava bez toho, aby ste nesprávne nafukovali svoju súvahu.
Prípadová štúdia 2: Sledovanie obmedzených akciových jednotiek (RSU)
RSU sú bežnou formou akciového odmeňovania. Účtovanie pre ne zahŕňa sledovanie počiatočného grantu, udalostí nadobúdania a zrážku dane.
-
Počiatočné nastavenie: Vytvorte komodity pre nadobudnuté (
HOOL) a nenadobudnuté (HOOL.UNVEST) akcie spolu s potrebnými účtami.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:Salary:Hooli:RSU
2021-01-01 open Expenses:Taxes:Federal -
Zaznamenajte počiatočný grant: Táto transakcia zobrazuje celkový grant presúvajúci sa na účet nenadobudnutého majetku.
2021-02-01 * "Hooli" "Počiatočný RSU Grant"
Assets:Grant:Unvested 1000 HOOL.UNVEST
Income:Grant:Awards -1000 HOOL.UNVEST -
Zaznamenajte udalosť nadobúdania: Toto je kľúčová transakcia. Keď sa akcie nadobudnú, rozpoznáte príjem, zaplatíte dane (často predajom niektorých akcií) a dostanete čisté akcie. Predpokladajme, že sa nadobudne 100 akcií za 150 USD/akcia.
2022-02-01 * "Hooli" "Udalosť nadobúdania RSU"
; Rozpoznať celkový príjem 100 * $150 = $15,000
Income:Salary:Hooli:RSU -15000.00 USD
; Zobraziť dane zaplatené z tohto príjmu
Expenses:Taxes:Federal 4000.00 USD
Expenses:Taxes:State 1000.00 USD
; Dostanete čisté akcie (predpokladajme 60 akcií) za ich nákladovú bázu
Assets:Brokerage:Etrade:HOOL 60 HOOL {150.00 USD}
; Ostatných 40 akcií bolo predaných na pokrytie daní vo výške 6 000 USD.
; Táto transakcia vyrovnáva príjem, dane a prijaté akcie.
; Musíme tiež zobraziť zníženie nenadobudnutých akcií.
Assets:Grant:Unvested -100 HOOL.UNVEST
Expenses:Grant:Vested 100 HOOL.UNVEST
Táto jediná, vyvážená transakcia správne modeluje celú udalosť: nenadobudnutý grant sa zníži, rozpozná sa príjem, zaplatia sa dane a čisté nadobudnuté akcie sa objavia na vašom maklérskom účte so správnou nákladovou bázou pre budúce výpočty kapitálových ziskov.
Časť 7: Projektový manažment pre vašu účtovnú knihu
Ako vaša účtovná kniha rastie, organizácia sa stáva kľúčovou.
Používanie kontroly verzií (Git) na ochranu vašich údajov
Keďže vaša účtovná kniha je textový súbor, je ideálna na kontrolu verzií pomocou Gitu. To vám poskytne úplnú históriu všetkých zmien, čo vás ochráni pred náhodným vymazaním alebo chybami. Upozornenie: Vaše finančné údaje sú vysoko citlivé. Použite súkromné úložisko na službách ako GitHub/GitLab alebo hostujte svoje vlastné.
Organizácia pomocou značiek (#) a odkazov (^)
Beancount poskytuje dva spôsoby, ako zoskupovať transakcie mimo účtov:
- Značky (
#): Používajte pre udalosti alebo projekty. Môžete napríklad filtrovať všetky transakcie súvisiace s konkrétnym výletom.2024-07-20 * "Hotel" "Viedeň" #trip-europe-2024 - Odkazy (
^): Používajte na prepojenie finančne súvisiacich transakcií, ktoré sa vyskytujú v rôznych časoch, ako napríklad výber hotovosti a súvisiaci bankový poplatok.
Škálovateľná stratégia pre štruktúrovanie vašich súborov (include)
Jeden rozsiahly súbor sa ťažko spravuje. Použite direktívu include na rozdelenie vašej účtovnej knihy do viacerých súborov.
main.bean:
; Hlavný súbor účtovnej knihy
; Globálne možnosti
option "title" "Moja osobná účtovná kniha"
option "operating_currency" "USD"
; Zahrnúť deklarácie účtov a ďalšie súbory
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 významnú, samostatnú udalosť (napr.
trip-europe-2024.bean). - Podľa kategórie/príjemcu platby: 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 roka (
2024.bean) alebo mesiaca (2024/07.bean).
Časť 8: Záver
Beancount ponúka náročnú krivku učenia, ale odmeňuje úsilie bezkonkurenčnou silou, flexibilitou a kontrolou nad vašimi finančnými údajmi. 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 účtovná kniha sa stane trvalým, súkromným a neoceniteľným aktívom pre 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 zostatkov. 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é informácie o výkonnosti vašich investícií.
Začnite svoju finančnú cestu s Beancount.io - počas našej propagačnej akcie zadarmo!


