Salta al contenuto principale

Beancount cheat sheet: sintassi e direttive

Riferimento sintattico Beancount su una pagina: tipi di conto e segni, merci, transazioni e registrazioni, saldo, metadati, eventi, tag e opzioni.

Struttura dei Conti​

Tipi di Conto e Segni​

Type          Sign    Example
------------------------------------------------
Assets        (+)     Assets:US:BofA:Checking
Liabilities   (-)     Liabilities:Credit:Amex
Income        (-)     Income:Salary:Gross
Expenses      (+)     Expenses:Food:Restaurant
Equity        (-)     Equity:Opening-Balances

Formato delle Commodity​

I beni sono simboli in maiuscolo — valute, ticker e unità personalizzate. Questi sono esempi di denominazione, non direttive:

Currencies:       USD, EUR, CAD, AUD
Investments:      GOOG, AAPL, VTI
Cryptocurrencies: BTC, ETH
Custom units:     HOURS, AIRMILES, HOME_MAYST

Sintassi delle Direttive​

Gestione dei Conti​

; Opening accounts
2024-01-01 open Assets:Checking             ; Simple
2024-01-01 open Assets:Investing USD,GOOG   ; With constraints
 
; Closing accounts
2024-12-31 close Assets:Old:Account

Dichiarazione delle Commodity​

2024-01-01 commodity VTSAX
    name: "Vanguard Total Stock Market Index"
    asset-class: "equity"

Registrazione delle Transazioni​

; Basic transaction
2024-01-15 * "Grocery Store" "Weekly shopping"
    Assets:Checking     -100.00 USD
    Expenses:Food:Groceries
 
; With metadata and tags (#work is a tag, ^invoice-123 is a link)
2024-01-15 * "Restaurant" "Business dinner" #work ^invoice-123
    id: "T-1234"
    receipt: "path/to/receipt.pdf"
    Expenses:Meals      80.00 USD
    Liabilities:Credit

Specifiche delle Registrazioni​

Queste sono righe di registrazione — ciascuna si trova all'interno di una transazione, indentata sotto la riga della data:

; Basic amount
Assets:Cash              100.00 USD
 
; Cost basis tracking
Assets:Invest:VTSAX      10 VTSAX {100.00 USD}        ; Per-unit cost
Assets:Invest:VTSAX      10 VTSAX {{1000.00 USD}}     ; Total cost
Assets:Invest:VTSAX      10 VTSAX {100.00 # 9.95 USD} ; Per-unit plus total fee
 
; Price specifications
Assets:Forex            1000.00 USD @ 0.85 EUR        ; Per-unit
Assets:Forex            1000.00 USD @@ 850.00 EUR     ; Total price
 
; Dated lots
Assets:Invest:VTSAX      10 VTSAX {100.00 USD, 2024-01-15}

Verifica dei Saldi​

; Balance padding: fills Assets:Checking up to Equity:Opening-Balances
2024-01-01 pad Assets:Checking Equity:Opening-Balances
 
; Balance assertion: checked at the start of its date, so date it after the pad
2024-02-01 balance Assets:Checking  1000.00 USD

Tracciamento dei Metadati​

; Note attachment
2024-01-15 note Assets:Checking "Called bank about fee"
 
; Document linking
2024-01-15 document Assets:Checking "path/to/statement.pdf"
 
; Price recording
2024-01-15 price VTSAX  100.00 USD

Per i registri ospitati, Live Prices può fornire automaticamente prezzi di valutazione datati. Scegli le coppie di asset supportate nel selettore, quindi copia gli include nel tuo registro. Mantieni espliciti i prezzi delle transazioni e la base di costo.

Registrazione degli Eventi​

; Location tracking
2024-01-15 event "location" "New York, USA"
 
; Property changes
2024-01-15 event "address" "123 Main Street"

Gestione dei Tag​

; Tag scope control: #vacation applies to every transaction between the pushtag and poptag
pushtag #vacation
2024-01-15 * "Hotel"
    Expenses:Travel:Lodging   200.00 USD
    Assets:Credit
poptag #vacation

Opzioni di Configurazione​

; Basic settings
option "title" "Personal Finance Ledger"
option "operating_currency" "USD"
 
; Account naming
option "name_assets" "Assets"
option "name_liabilities" "Liabilities"
option "name_income" "Income"
option "name_expenses" "Expenses"
option "name_equity" "Equity"
 
; Document handling
option "documents" "/path/to/docs"

Commenti e Organizzazione​

; Single line comment
 
* Section Header
** Subsection
; Transaction block follows...
 
; Account grouping
; Assets
2024-01-15 ...
 
; Expenses
2024-01-16 ...

Questo riferimento fornisce una panoramica completa degli elementi di sintassi di Beancount con esempi pratici.

Fonte: https://beancount.io/it/docs/Basics/cheatsheet