Aller au contenu principal

Aide-mémoire Beancount : syntaxe et directives

Référence de syntaxe Beancount sur une page : types de comptes et signes, marchandises, transactions et écritures, balance, métadonnées, événements, tags et options.

Structure des comptes​

Types de comptes et signes​

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

Format des devises​

Les commodités sont des symboles en majuscules — devises, tickers et unités personnalisées. Ce sont des exemples de nommage, pas des directives :

Devises :         USD, EUR, CAD, AUD
Investissements : GOOG, AAPL, VTI
Cryptomonnaies :  BTC, ETH
Unités personnalisées : HOURS, AIRMILES, HOME_MAYST

Syntaxe des directives​

Gestion des comptes​

; Ouverture de comptes
2024-01-01 open Assets:Checking             ; Simple
2024-01-01 open Assets:Investing USD,GOOG   ; Avec contraintes
 
; Clôture de comptes
2024-12-31 close Assets:Old:Account

Déclaration des devises​

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

Enregistrement des transactions​

; Transaction de base
2024-01-15 * "Grocery Store" "Weekly shopping"
    Assets:Checking     -100.00 USD
    Expenses:Food:Groceries
 
; Avec métadonnées et tags (#work est un tag, ^invoice-123 est un lien)
2024-01-15 * "Restaurant" "Business dinner" #work ^invoice-123
    id: "T-1234"
    receipt: "path/to/receipt.pdf"
    Expenses:Meals      80.00 USD
    Liabilities:Credit

Spécifications des écritures​

Ce sont des lignes d'écriture — chacune se place à l'intérieur d'une transaction, indentée sous sa ligne de date :

; Montant de base
Assets:Cash              100.00 USD
 
; Suivi du coût de base
Assets:Invest:VTSAX      10 VTSAX {100.00 USD}        ; Coût par unité
Assets:Invest:VTSAX      10 VTSAX {{1000.00 USD}}     ; Coût total
Assets:Invest:VTSAX      10 VTSAX {100.00 # 9.95 USD} ; Coût par unité plus frais totaux
 
; Spécifications de prix
Assets:Forex            1000.00 USD @ 0.85 EUR        ; Par unité
Assets:Forex            1000.00 USD @@ 850.00 EUR     ; Prix total
 
; Lots datés
Assets:Invest:VTSAX      10 VTSAX {100.00 USD, 2024-01-15}

Vérification des soldes​

; Remplissage de solde : complète Assets:Checking jusqu'à Equity:Opening-Balances
2024-01-01 pad Assets:Checking Equity:Opening-Balances
 
; Assertion de solde : vérifiée au début de sa date, donc datez-la après le pad
2024-02-01 balance Assets:Checking  1000.00 USD

Suivi des métadonnées​

; Ajout d'une note
2024-01-15 note Assets:Checking "Called bank about fee"
 
; Liaison de document
2024-01-15 document Assets:Checking "path/to/statement.pdf"
 
; Enregistrement de prix
2024-01-15 price VTSAX  100.00 USD

Pour les registres hébergés, Live Prices peut fournir automatiquement des prix de valorisation datés. Choisissez les paires d'actifs prises en charge dans le sélecteur, puis copiez les includes dans votre registre. Gardez les prix de transaction et le coût de base explicites.

Enregistrement des événements​

; Suivi de localisation
2024-01-15 event "location" "New York, USA"
 
; Changements de propriété
2024-01-15 event "address" "123 Main Street"

Gestion des étiquettes​

; Contrôle de la portée des tags : #vacation s'applique à chaque transaction entre pushtag et poptag
pushtag #vacation
2024-01-15 * "Hotel"
    Expenses:Travel:Lodging   200.00 USD
    Assets:Credit
poptag #vacation

Options de configuration​

; Paramètres de base
option "title" "Personal Finance Ledger"
option "operating_currency" "USD"
 
; Nommage des comptes
option "name_assets" "Assets"
option "name_liabilities" "Liabilities"
option "name_income" "Income"
option "name_expenses" "Expenses"
option "name_equity" "Equity"
 
; Gestion des documents
option "documents" "/path/to/docs"

Commentaires et organisation​

; Commentaire sur une seule ligne
 
* En-tête de section
** Sous-section
; Le bloc de transaction suit...
 
; Regroupement de comptes
; Assets
2024-01-15 ...
 
; Expenses
2024-01-16 ...

Cette référence offre un aperçu complet des éléments de syntaxe de Beancount avec des exemples pratiques.

Source : https://beancount.io/fr/docs/Basics/cheatsheet