Preskočiť na hlavný obsah

Referencia syntaxe Beancount: direktívy, účty, sumy

Referencia syntaxe jazyka Beancount: direktívy, transakcie, pomenovanie účtov, značky, metadáta a formátovanie pre účtovné knihy v čistom texte.

Toto je stručná, ale komplexná referenčná príručka syntaxe jazyka Beancount, ktorá spája praktickú štruktúru, pravidlá a príklady. Viac podrobností nájdete v Cheat Sheet.

Prehľad

Beancount je účtovný systém s podvojným zápisom v čistom texte. Jeho jazyk je štruktúrovaný okolo troch hlavných stavebných blokov:

  • Komodity (meny, akcie, body atď.)
  • Účty (hierarchické, kategorizované denníky)
  • Direktívy (datované položky 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é veľkými začiatočnými písmenami. Musia začínať jedným z piatich koreňových typov účtov:

NázovTypBežný obsahPríklad
Assets+Hotovosť, banka, investícieAssets:Checking
Liabilities-Kreditné karty, pôžičkyLiabilities:CreditCard
Income-Plat, úrokyIncome:EmployerA
Expenses+Nákupy, účtyExpenses:Food:Dining
Equity-Počiatočné/Konečné zostatkyEquity:Opening-Balances
  • Jednotlivé časti musia začínať veľkým písmenom, byť oddelené dvojbodkami (:) a nesmú obsahovať medzery.
  • V častiach sú povolené čísla a pomlčky.
  • Koreňové názvy účtov je možné prispôsobiť (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í podľa riadkov 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:Checking

Deklarovanie komodít

2020-07-22 commodity AAPL
  name: "Apple Inc."

Deklarácie cien

2022-04-30 price AAPL 150.00 USD

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:Checking

Vlastnosti úč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:Bank

Zostatky a dopĺňanie

Direktíva pad musí byť datovaná pred direktívou balance, ktorú dopĺňa, pretože kontrola zostatku sa vykonáva na začiatku dňa:

2024-06-01 pad Assets:Checking Equity:Opening-Balances
2024-06-02 balance Assets:Checking 1000.00 USD

Udalosti

2024-06-01 event "location" "San Francisco, CA"

Možnosti

Nastavenie celosúborovej konfigurácie:

option "title" "My Ledger"
option "operating_currency" "USD"
option "documents" "docs/"
option "name_assets" "Vermoegen"

Pozrite si Referenčnú príručku možností pre viac informácií.

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 #project

Dôležité pravidlá

  • Všetky transakcie musia byť vyrovnané: súčet váh všetkých účtovných zápisov musí byť nula. Váha zápisu je jeho čiastka, alebo jeho cena ({}) alebo kurz (@) prepočítaný na inú menu, ak je prítomný.
  • Účty musia byť otvorené pred ich použitím; zatvorené účty nemôžu prijímať zápisy.
  • Kontroly zostatkov kontrolujú iba špecifikovanú menu, môžu byť použité 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é poznámky (@ za jednotku, @@ za celkovú sumu) ovplyvňujú vyrovnanie: stanovujú váhu zápisu v inej mene. -100 USD @ 1.25 CAD váži 125 CAD a vyrovnáva zápis 125 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 na dátum začiatku a skontrolujte zostatok nasledujúci deň (kontrola sa vykonáva na začiatku dňa):

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 USD

Investičná transakcia

2024-01-01 * "Buy stock"
  Assets:Broker:Stock   10 AAPL {150.00 USD}
  Assets:Broker:Cash -1500.00 USD

Transakcia s viacerými menami

2024-01-01 * "Currency exchange"
  Assets:USD   -100.00 USD @ 1.25 CAD
  Assets:CAD    125.00 CAD

Komentáre

poptag  #trip-to-peru
; inline comments begin with a semi-colon
* any line not starting with a valid directive is also ignored silently

Zdroj: https://beancount.io/sk/docs/Basics/syntax