Перейти до основного вмісту

Шпаргалка з Beancount: синтаксис і директиви

Односторінковий довідник із синтаксису Beancount: типи рахунків і знаки, commodities, транзакції та postings, balance, metadata, events, tags і options.

Структура рахунків​

Типи рахунків та знаки​

Тип           Знак    Приклад
------------------------------------------------
Assets        (+)     Assets:US:BofA:Checking
Liabilities   (-)     Liabilities:Credit:Amex
Income        (-)     Income:Salary:Gross
Expenses      (+)     Expenses:Food:Restaurant
Equity        (-)     Equity:Opening-Balances

Формат товарів​

Товари — це символи у верхньому регістрі: валюти, тікери та власні одиниці. Це приклади найменування, а не директиви:

Валюти:           USD, EUR, CAD, AUD
Інвестиції:       GOOG, AAPL, VTI
Криптовалюти:     BTC, ETH
Власні одиниці:   HOURS, AIRMILES, HOME_MAYST

Синтаксис директив​

Управління рахунками​

; Відкриття рахунків
2024-01-01 open Assets:Checking             ; Простий
2024-01-01 open Assets:Investing USD,GOOG   ; З обмеженнями
 
; Закриття рахунків
2024-12-31 close Assets:Old:Account

Оголошення товарів​

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

Запис транзакцій​

; Базова транзакція
2024-01-15 * "Grocery Store" "Weekly shopping"
    Assets:Checking     -100.00 USD
    Expenses:Food:Groceries
 
; З метаданими та тегами (#work — це тег, ^invoice-123 — це посилання)
2024-01-15 * "Restaurant" "Business dinner" #work ^invoice-123
    id: "T-1234"
    receipt: "path/to/receipt.pdf"
    Expenses:Meals      80.00 USD
    Liabilities:Credit

Специфікації проводок​

Це рядки проведень — кожен розташований усередині транзакції, з відступом під рядком дати:

; Базова сума
Assets:Cash              100.00 USD
 
; Відстеження базової вартості
Assets:Invest:VTSAX      10 VTSAX {100.00 USD}        ; Вартість за одиницю
Assets:Invest:VTSAX      10 VTSAX {{1000.00 USD}}     ; Загальна вартість
Assets:Invest:VTSAX      10 VTSAX {100.00 # 9.95 USD} ; За одиницю плюс загальна комісія
 
; Специфікації ціни
Assets:Forex            1000.00 USD @ 0.85 EUR        ; За одиницю
Assets:Forex            1000.00 USD @@ 850.00 EUR     ; Загальна ціна
 
; Лоти за датою
Assets:Invest:VTSAX      10 VTSAX {100.00 USD, 2024-01-15}

Перевірка балансу​

; Заповнення балансу: наповнює Assets:Checking до Equity:Opening-Balances
2024-01-01 pad Assets:Checking Equity:Opening-Balances
 
; Твердження про баланс: перевіряється на початку вказаної дати, тому датуйте його після pad
2024-02-01 balance Assets:Checking  1000.00 USD

Відстеження метаданих​

; Прикріплення примітки
2024-01-15 note Assets:Checking "Called bank about fee"
 
; Прив'язка документа
2024-01-15 document Assets:Checking "path/to/statement.pdf"
 
; Запис ціни
2024-01-15 price VTSAX  100.00 USD

Для розміщених реєстрів Live Prices можуть автоматично надавати датовані ціни оцінки. Виберіть підтримувані пари активів у виборі, а потім скопіюйте включення до свого реєстру. Тримайте ціни транзакцій і базову вартість явними.

Запис подій​

; Відстеження місцезнаходження
2024-01-15 event "location" "New York, USA"
 
; Зміни властивостей
2024-01-15 event "address" "123 Main Street"

Керування тегами​

; Керування областю тегу: #vacation застосовується до кожної транзакції між pushtag і poptag
pushtag #vacation
2024-01-15 * "Hotel"
    Expenses:Travel:Lodging   200.00 USD
    Assets:Credit
poptag #vacation

Параметри конфігурації​

; Базові налаштування
option "title" "Personal Finance Ledger"
option "operating_currency" "USD"
 
; Найменування рахунків
option "name_assets" "Assets"
option "name_liabilities" "Liabilities"
option "name_income" "Income"
option "name_expenses" "Expenses"
option "name_equity" "Equity"
 
; Обробка документів
option "documents" "/path/to/docs"

Коментарі та організація​

; Однорядковий коментар
 
* Заголовок розділу
** Підрозділ
; Далі йде блок транзакцій...
 
; Групування рахунків
; Assets
2024-01-15 ...
 
; Expenses
2024-01-16 ...

Цей довідник надає повний огляд елементів синтаксису Beancount з практичними прикладами.

Джерело: https://beancount.io/uk/docs/Basics/cheatsheet