Pular para o conteúdo principal

Guia rápido do Beancount: sintaxe e diretivas

Referência de uma página à sintaxe do Beancount: tipos e sinais de contas, commodities, transações e lançamentos, saldo, metadados, eventos, tags e opções.

Estrutura de Contas​

Tipos de Contas e Sinais​

Tipo          Sinal   Exemplo
------------------------------------------------
Assets        (+)     Assets:US:BofA:Checking
Liabilities   (-)     Liabilities:Credit:Amex
Income        (-)     Income:Salary:Gross
Expenses      (+)     Expenses:Food:Restaurant
Equity        (-)     Equity:Opening-Balances

Formato de Commodity​

Commodities são símbolos em maiúsculas — moedas, tickers e unidades personalizadas. Estes são exemplos de nomenclatura, não diretivas:

Moedas:           USD, EUR, CAD, AUD
Investimentos:    GOOG, AAPL, VTI
Criptomoedas:     BTC, ETH
Unidades customizadas:     HOURS, AIRMILES, HOME_MAYST

Sintaxe de Diretivas​

Gerenciamento de Contas​

; Abrindo contas
2024-01-01 open Assets:Checking             ; Simples
2024-01-01 open Assets:Investing USD,GOOG   ; Com restrições
 
; Fechando contas
2024-12-31 close Assets:Old:Account

Declaração de Commodity​

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

Registro de Transações​

; Transação básica
2024-01-15 * "Grocery Store" "Weekly shopping"
    Assets:Checking     -100.00 USD
    Expenses:Food:Groceries
 
; Com metadados e tags (#work é uma tag, ^invoice-123 é um 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

Especificações de Lançamento​

Estas são linhas de lançamento — cada uma fica dentro de uma transação, indentada sob a linha da data:

; Valor básico
Assets:Cash              100.00 USD
 
; Rastreamento de base de custo
Assets:Invest:VTSAX      10 VTSAX {100.00 USD}        ; Custo por unidade
Assets:Invest:VTSAX      10 VTSAX {{1000.00 USD}}     ; Custo total
Assets:Invest:VTSAX      10 VTSAX {100.00 # 9.95 USD} ; Por unidade mais taxa total
 
; Especificações de preço
Assets:Forex            1000.00 USD @ 0.85 EUR        ; Por unidade
Assets:Forex            1000.00 USD @@ 850.00 EUR     ; Preço total
 
; Lotes com data
Assets:Invest:VTSAX      10 VTSAX {100.00 USD, 2024-01-15}

Verificação de Saldo​

; Balance padding: preenche Assets:Checking até Equity:Opening-Balances
2024-01-01 pad Assets:Checking Equity:Opening-Balances
 
; Balance assertion: verificado no início de sua data, então date após o pad
2024-02-01 balance Assets:Checking  1000.00 USD

Metadados de Rastreamento​

; Anexo de nota
2024-01-15 note Assets:Checking "Called bank about fee"
 
; Vinculação de documento
2024-01-15 document Assets:Checking "path/to/statement.pdf"
 
; Registro de preço
2024-01-15 price VTSAX  100.00 USD

Para ledgers hospedados, Live Prices pode fornecer preços de avaliação datados automaticamente. Escolha pares de ativos suportados no seletor, depois copie os includes para o seu ledger. Mantenha os preços de transação e a base de custo explícitos.

Registro de Eventos​

; Rastreamento de localização
2024-01-15 event "location" "New York, USA"
 
; Mudanças de propriedade
2024-01-15 event "address" "123 Main Street"

Gerenciamento de Tags​

; Controle de escopo de tag: #vacation aplica-se a todas as transações entre pushtag e poptag
pushtag #vacation
2024-01-15 * "Hotel"
    Expenses:Travel:Lodging   200.00 USD
    Assets:Credit
poptag #vacation

Opções de Configuração​

; Configurações básicas
option "title" "Personal Finance Ledger"
option "operating_currency" "USD"
 
; Nomenclatura de contas
option "name_assets" "Assets"
option "name_liabilities" "Liabilities"
option "name_income" "Income"
option "name_expenses" "Expenses"
option "name_equity" "Equity"
 
; Manuseio de documentos
option "documents" "/path/to/docs"

Comentários e Organização​

; Comentário de linha única
 
* Cabeçalho de Seção
** Subseção
; Bloco de transação segue...
 
; Agrupamento de contas
; Assets
2024-01-15 ...
 
; Expenses
2024-01-16 ...

Esta referência fornece uma visão completa dos elementos de sintaxe do Beancount com exemplos práticos.

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