Toto poskytuje stručnú, ale komplexnú referenciu pre syntax jazyka Beancount, ktorá spája praktickú štruktúru, pravidlá a príklady. Viac podrobností nájdete v Ťaháku.
Prehľad
Beancount je systém podvojného účtovníctva v čistom texte. Jeho jazyk je postavený na troch hlavných stavebných blokoch:
- Komodity (meny, akcie, body atď.)
- Účty (hierarchické, kategorizované knihy)
- Direktívy (datované záznamy zaznamenávajúce udalosti alebo konfiguráciu)
Komodity
Komodity sa vždy píšu veľkými písmenami, napr. USD, EUR, AAPL, BTC, MILES, HOURS.
Účty
Účty sú hierarchické názvy oddelené dvojbodkami, písané s veľkým začiatočným písmenom. Musia začínať jedným z piatich koreňových typov účtov:
| Názov | Typ | Typický obsah | Príklad |
|---|---|---|---|
Assets | + | Hotovosť, banka, investície | Assets:Checking |
Liabilities | - | Kreditné karty, pôžičky | Liabilities:CreditCard |
Income | - | Mzda, úrok | Income:EmployerA |
Expenses | + | Nákupy, účty | Expenses:Food:Dining |
Equity | - | Počiatočné/konečné zostatky | Equity:Opening-Balances |
- Komponenty musia byť písané s veľkým začiatočným písmenom, oddelené dvojbodkami (
:), bez medzier. - V komponentoch sú povolené čísla a pomlčky.
- Názvy koreňových účtov je možné prispôsobiť pomocou volieb (pozri nižšie).
Direktívy
Direktívy sú základné príkazy v súbore Beancount. Väčšina začína dátumom, za ktorým nasleduje typ direktívy a argumenty. Spracúvajú sa v chronologickom poradí (podľa dátumu), nie v poradí v súbore.
Všeobecný formát:
YYYY-MM-DD <directive> <arguments...>Bežné direktívy a príklady
Otváranie a zatváranie účtov
2023-01-01 open Assets:Checking USD,EUR ; Optionally specify allowed currencies
2023-12-31 close Assets:CheckingDeklarovanie komodít
2020-07-22 commodity AAPL
name: "Apple Inc."Deklarácie cien
2022-04-30 price AAPL 150.00 USDPre automatické oceňovacie kotácie v hostenej knihe nastavte Live Prices. Spravované kanály poskytujú bežné datované direktívy price. Nenahrádzajú transakčné ceny (@, @@) ani náklady na lot ({}).
Poznámky a dokumenty
2022-03-20 note Assets:Checking "Asked about refund"
2022-03-20 document Assets:Checking "statements/2022-03.pdf"Transakcie
2024-01-05 * "Coffee Shop" "Morning coffee"
Expenses:Food 4.50 USD
Assets:Cash -4.50 USD
2024-01-06 ! "Phone Bill" "Monthly payment" #utilities ^phone
id: "INV12345" ; Metadata
Expenses:Utilities 60.00 USD
Assets:CheckingVlastnosti účtovných zápisov
; With cost basis
Assets:Stocks 1 AAPL {150.00 USD}
; With price annotation
Assets:Cash -100 USD @ 1.25 CAD
; With total price
Assets:Cash -100 USD @@ 125.00 CAD
; Implicit balance
Assets:Cash -100 USD
Assets:BankZostatky a dopĺňanie
Direktíva pad musí byť datovaná pred direktívou balance, ktorú napĺňa, pretože overenie sa kontroluje na začiatku svojho dňa:
2024-06-01 pad Assets:Checking Equity:Opening-Balances
2024-06-02 balance Assets:Checking 1000.00 USDUdalosti
2024-06-01 event "location" "San Francisco, CA"Možnosti
Nastavenie konfigurácie pre celý súbor:
option "title" "My Ledger"
option "operating_currency" "USD"
option "documents" "docs/"
option "name_assets" "Vermoegen"Viac informácií nájdete v Referencii volieb.
Pluginy a organizácia súborov
plugin "beancount.plugins.module_name"
plugin "beancount.plugins.module_name" "config-string"
include "other/file.beancount"
pushtag #project
; ...
poptag #projectHostený Beancount.io tiež rozpoznáva podporované zahrnutia spravovaných cenových URL. Ide o rozšírenie oproti upstream Beancount: použite príručku nastavenia Live Prices pre kompatibilitu v hostenom aj lokálnom prostredí.
Dôležité pravidlá
- Všetky transakcie musia byť vyrovnané: váhy všetkých zaúčtovaní sú v súčte nula. Váha zaúčtovania je jeho suma, alebo jeho náklad (
{}) alebo cena (@) prepočítané na druhú menu, ak je niektorá prítomná. - Účty musia byť otvorené pred použitím; zatvorené účty nemôžu prijímať zaúčtovania.
- Overenia zostatku kontrolujú iba zadanú menu, možno ich použiť na nadradených účtoch a vyhodnocujú sa na začiatku svojho dátumu (takže vylučujú transakcie z toho istého dňa).
- Cenové anotácie (
@za jednotku,@@celkom) ovplyvňujú vyrovnanie: nastavujú váhu zaúčtovania v druhej mene.-100 USD @ 1.25 CADváži125 CADa vyrovnáva zaúčtovanie125 CAD; odstráňte cenu a transakcia už nebude vyrovnaná.
Bežné vzory
Otvorenie účtov s počiatočným zostatkom
Otvorte oba účty, použite pad v počiatočný dátum a overte zostatok nasledujúci deň (overenie sa kontroluje na začiatku svojho dátumu):
2024-01-01 open Assets:Checking USD
2024-01-01 open Equity:Opening-Balances
2024-01-01 pad Assets:Checking Equity:Opening-Balances
2024-01-02 balance Assets:Checking 1000.00 USDInvestičná transakcia
2024-01-01 * "Buy stock"
Assets:Broker:Stock 10 AAPL {150.00 USD}
Assets:Broker:Cash -1500.00 USDTransakcia s viacerými menami
2024-01-01 * "Currency exchange"
Assets:USD -100.00 USD @ 1.25 CAD
Assets:CAD 125.00 CADKomentáre
poptag #trip-to-peru
; inline comments begin with a semi-colon
* any line not starting with a valid directive is also ignored silently