Pular para o conteúdo principal

10 publicações com a etiqueta "Double-Entry"

Ver todas as etiquetas

Entendendo Lançamentos Contábeis no Beancount

· 8 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Os lançamentos contábeis são a espinha dorsal da contabilidade de partida dobrada e, no Beancount, cada transação * que você escreve é um lançamento contábil. Este guia explica o essencial — débitos e créditos, lançamentos de ajuste e lançamentos de reversão — e mostra como eles se mapeiam de forma limpa para a sintaxe em texto puro do Beancount. Você aprenderá a manter livros precisos com o mínimo de cerimônia.


2025-09-02-lancamentos-contabeis-no-beancount

Um Relembrete Rápido: O Que É um Lançamento Contábil?

Um lançamento contábil é o registro formal e datado de uma transação financeira. Ele é expresso em termos de débitos e créditos que mantêm a equação contábil fundamental em equilíbrio:

Ativos=Passivos+Patrimo^nio LıˊquidoAtivos = Passivos + Patrimônio\ Líquido

Em um sistema de partida dobrada, toda transação afeta ao menos duas contas, e o total de débitos deve ser igual ao total de créditos. Essa regra simples é o que torna relatórios financeiros subsequentes, como a Demonstração de Resultados e o Balanço Patrimonial, confiáveis e precisos.


Débitos e Créditos em Um Minuto

Os conceitos de débitos e créditos podem ser confusos a princípio, mas resumem‑se a algumas regras simples. Pense da seguinte forma: “de onde veio o valor?” (crédito) e “para onde foi o valor?” (débito).

Aqui está um cheat sheet de como eles aumentam os cinco tipos principais de contas:

Tipo de ContaAumenta com
AtivosDébito
DespesasDébito
PassivosCrédito
Patrimônio LíquidoCrédito
ReceitasCrédito

Como um Lançamento Contábil Se Parece no Beancount

O Beancount usa diretivas de texto simples e legíveis por humanos para registrar transações. Cada transação deve equilibrar a zero para cada commodity (ex.: USD, EUR, ação AAPL). O Beancount lançará um erro se não o fizer.

Aqui está uma transação básica para comprar café:

2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD

Observe como as duas linhas de lançamentos (linhas com contas) somam zero: $18.00 + (-$18.00) = 0.

Você pode adicionar contexto poderoso diretamente na narração usando tags (como #clienteX) para filtragem e links (como ^INV-2025-001) para conectar entradas relacionadas.

Por exemplo, veja como você pode vincular uma fatura ao seu pagamento:

; Primeiro, registre a fatura que você enviou ao cliente
2025-09-15 * "Acme Corp" "Fatura 2025-001 #clienteX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD

; Depois, registre o pagamento e vincule‑o de volta à fatura original
2025-09-28 * "Acme Corp" "Pagamento em ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD

A tag #clienteX permite filtrar facilmente todas as transações desse cliente, e o link ^INV-2025-001 cria uma conexão entre as duas entradas que pode ser seguida nos relatórios.


Lançamentos Contábeis Comuns (Prontos para Copiar)

A seguir, vários tipos de transações empresariais formatados para o Beancount.

Sócio Investindo Dinheiro

Um sócio contribui com recursos pessoais para iniciar o negócio.

2025-01-01 * "Owner" "Contribuição de capital inicial"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD

Venda à Vista com Imposto Sobre Vendas

Um cliente paga em dinheiro por um produto, incluindo 8 % de imposto que você deverá recolher ao governo posteriormente.

2025-01-05 * "Cliente Presencial" "Venda à vista com 8% de imposto"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD

Venda a Crédito (Fatura) e Cobrança

Você presta um serviço e fatura o cliente, depois recebe o pagamento.

2025-01-10 * "Acme Corp" "Fatura de consultoria ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD

2025-01-30 * "Acme Corp" "Pagamento em ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD

Despesa no Cartão de Crédito

Você compra material de escritório usando o cartão de crédito da empresa.

2025-01-12 * "OfficeMax" "Materiais no cartão de crédito"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD

Folha de Pagamento (Modelo Simples)

Você processa a folha, registrando a despesa bruta de salários, as retenções de impostos dos funcionários e o pagamento líquido do banco.

2025-01-31 * "Folha de Pagamento" "Salários e retenções de janeiro"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD

Depreciação Mensal

Você registra a despesa de depreciação mensal de um ativo, como um laptop.

2025-01-31 * "Depreciação" "Laptop, linha reta"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD

Despesa Antecipada & Amortização Mensal

Você paga o seguro anual adiantado e depois reconhece a despesa de um mês.

; 1. Pagamento da apólice anual
2025-01-01 * "InsureCo" "Prêmio de seguro anual"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD

; 2. Reconhecimento de um mês de despesa ao final de janeiro
2025-01-31 * "InsureCo" "Amortizar 1/12 do seguro"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD

Receita Não Realizada & Reconhecimento Mensal

Um cliente paga antecipadamente por uma assinatura de 3 meses. Você registra o caixa e depois reconhece um mês de receita.

; 1. Cliente paga antecipadamente pelo serviço
2025-02-01 * "Assinante" "Plano de 3 meses pago antecipadamente"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD

; 2. Reconhecer um mês de receita após a entrega do serviço
2025-02-28 * "Reconhecimento" "Reconhecer mês 1 de 3"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD

Provisão para Devedores Duvidosos e Baixa

Você cria uma provisão para faturas potencialmente incobráveis e depois baixa uma fatura específica.

; 1. Criar provisão de 2 % das contas a receber
2025-03-31 * "Provisão" "2% de A/R para contas duvidosas"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD

; 2. Baixar fatura específica que sabe que não será paga
2025-04-15 * "Baixa" "Fatura do cliente XYZ"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD

Inventário Periódico & Ajuste de COGS

Ao final de um período, você calcula o Custo das Mercadorias Vendidas (COGS) ajustando a conta de inventário.

2025-03-31 * "Ajuste de COGS" "Método de inventário periódico"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD

Lançamentos de Ajuste vs. Lançamentos de Reversão

Lançamentos de ajuste são registrados ao final de um período contábil (como mês ou trimestre) para alinhar receitas e despesas ao período em que foram realmente auferidas ou incorridas. Isso inclui accruals, deferrals e estimativas como depreciação.

Lançamentos de reversão são opcionais e feitos no primeiro dia de um novo período, revertendo exatamente um lançamento de ajuste específico do período anterior. Seu objetivo é simplificar a escrituração. Ao reverter um accrual, você pode registrar a transação de caixa subsequente de forma padrão, sem precisar lembrar de dividir contra a conta de passivo.

Exemplo: Acumular e Reverter Despesas de Utilidades

Suponha que você precise registrar a despesa de utilidades de janeiro, mas a conta só chegará em fevereiro.

; 1. Acumular a despesa estimada ao final de janeiro
2025-01-31 * "Acúmulo" "Estimativa da despesa de utilidades de janeiro"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD

; 2. (Opcional) Reverter o acúmulo no primeiro dia do próximo período
2025-02-01 * "Reversão" "Desfazer acúmulo de utilidades de janeiro"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD

; 3. Registrar o pagamento real quando chegar em fevereiro
; A conta real é de $520. Por causa da reversão, você pode
; lançar o valor total na conta de despesa sem problemas.
; A despesa líquida de fev será $520 - $500 = $20.
2025-02-10 * "City Utilities" "Pagamento da conta de janeiro"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD

Nota: O exemplo no esboço mostra a divisão do pagamento final. O método de lançamento de reversão é uma alternativa que simplifica o lançamento final.


Checklist para Cada Lançamento no Beancount

Siga estes passos para garantir que seus lançamentos estejam limpos e corretos:

  1. Comece com a data (AAAA-MM-DD) e um marcador de transação (*).
  2. Adicione um beneficiário e uma narração descritiva. Use #tags e ^links para facilitar a busca.
  3. Inclua ao menos duas linhas de lançamentos que equilibram a zero para cada commodity.
  4. Use nomes de contas corretos nos cinco tipos: Assets, Liabilities, Equity, Income, Expenses.
  5. Opcionalmente, adicione metadados como document: "invoices/INV-2025-001.pdf" para rastreabilidade.

Armadilhas Comuns (e Como o Beancount Ajuda)

  • Lançamentos Desbalanceados: Se seus débitos e créditos não somarem zero, o Beancount rejeitará a entrada. Essa é uma funcionalidade central que impede erros. Você pode deixar um valor em branco e o Beancount o calculará automaticamente.
  • Sinal Errado em uma Conta: É fácil esquecer que Income, Equity e Liabilities aumentam com créditos (geralmente números negativos no Beancount). Se errar, seus relatórios ficarão estranhos, mas a regra de balanceamento ainda fornece uma rede de segurança.
  • Links Ausentes Entre Entradas: Esquecer de vincular uma fatura ao seu pagamento dificulta o acompanhamento do que está pendente. Usar ^links de forma consistente resolve isso ao criar um rastro auditável.

Próximos Passos

  • Linguagem Beancount & Regras de Balanceamento: Aprofunde-se na documentação oficial.
  • Cheat Sheet de Sintaxe: Uma referência prática para todas as diretivas do Beancount.
  • Introdução a Débitos/Créditos: Um ótimo ponto de partida se você é novo nas regras contábeis.
  • Lançamentos de Ajuste/Reversão: Artigos mais detalhados sobre a teoria contábil.

Apêndice: Mapa de Termos Contábeis → Beancount

Este guia rápido de tradução pode ajudá‑lo a mapear instruções contábeis para a sintaxe do Beancount.

Instrução ContábilAção no Beancount
Debitar uma despesaValor positivo em uma conta Expenses:
Creditar um passivoValor negativo em uma conta Liabilities:
Acumular receitaAssets:AccountsReceivable +
Income:* -
Diferir receitaAssets:Bank:* +
Liabilities:Unearned:* -
Reconhecer receita diferidaLiabilities:Unearned:* +
Income:* -

Com esses padrões e exemplos, você pode modelar de forma limpa quase qualquer evento de negócio no Beancount, garantindo que seus relatórios financeiros estejam alinhados sem surpresas.

Registrando Impostos no Beancount (O Caminho Pragmático)

· 8 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Os impostos podem parecer uma fera especial e complicada no universo das finanças pessoais. Mas e se não fossem? E se você pudesse tratá‑los como qualquer outro fluxo de dinheiro no seu livro‑razão? Boa notícia: você pode. Ao tratar os impostos como movimentos simples de valor, seu livro‑razão Beancount permanecerá limpo, fácil de consultar e — o mais importante — compreensível.

A seguir, um padrão prático e direto que você pode inserir em um arquivo Beancount pessoal ou de pequeno negócio. É um sistema simples para lidar com holerites, pagamentos de impostos e até aquelas restituições incômodas que atravessam o ano novo. Vamos abordar as contas essenciais que você precisa, percorrer exemplos reais e mostrar as consultas exatas para obter as respostas que deseja.

2025-08-25-recording-taxes-in-beancount


Os Princípios Fundamentais

Antes de mergulharmos no código, vamos concordar com algumas regras simples. Esses princípios mantêm tudo lógico e evitam dores de cabeça futuras.

  • Separe “o que é” de “quando o dinheiro se move”. 🗓️
    Este é o conceito mais importante. Uma despesa de imposto pertence ao ano em que você recebeu a renda (por exemplo, 2024), mesmo que você quite a conta com o IRS em abril de 2025. Se você não separar o momento da despesa do momento do pagamento, seus relatórios anuais ficarão confusos e enganosos.

  • Mantenha sua hierarquia de contas entediante e simples. 📁
    Nomeie suas contas de forma clara com base no tipo de imposto (por exemplo, IncomeTax, SocialSecurity). Isso torna suas consultas incrivelmente simples. Não sobrecarregue os nomes das contas com nomes de fornecedores ou números de formulários como “W‑2” ou “1099”; use metadados e tags para esses detalhes.

  • Adote o regime de competência para ajustes de fim de ano. ⚖️
    Mesmo em um livro‑razão pessoal, usar uma entrada simples de competência no final do ano é a forma mais limpa de tornar seus relatórios precisos. Significa reconhecer a despesa ou restituição no ano correto, ainda que o dinheiro só se mova no próximo. É um pequeno passo extra que salva você de acrobacias mentais depois.

  • Escreva para o seu eu futuro. 🧠
    Seu objetivo é clareza. Só adicione detalhes extras, como o ano fiscal, ao nome de uma conta se isso realmente facilitar suas consultas. Evite criar um novo conjunto de contas a cada ano (Expenses:Taxes:2024:Federal, Expenses:Taxes:2025:Federal etc.) a menos que tenha um motivo convincente. Uma estrutura plana costuma ser mais fácil de gerir.


Um Esqueleto de Contas Minimalista

Aqui está um conjunto básico de contas para você começar. Essa estrutura é centrada nos EUA, mas você pode adaptar os nomes ao sistema fiscal do seu país. Basta inserir essas diretivas open no seu arquivo Beancount.

; --- Impostos Federais de Renda & Folha dos EUA ---
; Para valores retidos do seu holerite
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; Para pagamentos estimados ou contas do dia do imposto pagas diretamente
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; Para restituições de imposto que você recebe
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD

; Suas contribuições ao FICA
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD

; --- Outros Impostos Comuns ---
; Para impostos sobre vendas/uso que você paga nas compras
2024-01-01 open Expenses:Taxes:Sales USD

; --- Contas para Ajustes de Fim de Ano (Opcional, mas Recomendado!) ---
; Conta temporária de passagem para impostos devidos mas ainda não pagos
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; Conta temporária de passagem para restituição a receber
2024-01-01 open Assets:Tax:Receivable USD

Esta configuração separa impostos retidos de pagamentos diretos e restituições, facilitando a visualização de onde seu dinheiro foi. As contas Liabilities e Assets são nossa arma secreta para manter a precisão dos relatórios de fim de ano.


Exemplo 1: O Holerite

Vamos registrar um holerite típico onde os impostos são retidos automaticamente. O segredo é registrar primeiro o salário bruto, depois mostrar como ele foi dividido entre impostos e o dinheiro que realmente chegou à sua conta bancária.

2025-07-15 * "Employer Inc." "Salary for first half of July"
Income:Work:Salary -6,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Withheld 1,200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Assets:Cash:Checking 4,341.00 USD

Esta única transação conta toda a história:

  • Você recebeu $6.000 de renda bruta.
  • $1.200 foram enviados ao IRS como imposto de renda federal.
  • $372 foram para a Seguridade Social e $87 para o Medicare.
  • Os $4.341 restantes são o que você recebeu em mãos.

Dica de especialista: Você pode anexar metadados do seu contracheque (como pay_period_end: "2025-07-15") à transação para criar uma trilha de auditoria fácil.


Exemplo 2: Declarando a Sua Declaração (O Problema do Ano Cruzado)

Aqui está o cenário que confunde as pessoas: é abril de 2025 e você está declarando seus impostos de 2024. Descobre que, depois de toda a retenção, ainda deve $3.000 a mais.

Como registrar isso? Você quer que a despesa seja contabilizada em 2024, mas que o pagamento em dinheiro ocorra em 2025. Veja duas formas excelentes de lidar com isso.

Opção A: Acumulação Manual em Dois Passos

Este método é puro Beancount, sem plugins. É um processo claro em duas etapas.

Passo 1: Reconheça a despesa no final do ano fiscal.
No último dia de 2024, crie uma entrada de “ajuste”. Nenhum dinheiro se move ainda; você apenas reconhece a despesa e a estaciona em uma conta de passivo temporária.

2024-12-31 * "Federal income tax true-up for 2024"
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
Liabilities:AccruedTaxes:Federal:Income -3,000.00 USD

Agora, sua demonstração de resultados de 2024 mostra corretamente essa despesa de $3.000.

Passo 2: Registre o pagamento em dinheiro quando ele acontecer.
Em abril de 2025, quando você realmente envia o dinheiro ao IRS, elimina o passivo.

2025-04-15 * "IRS" "Payment for 2024 tax return"
Liabilities:AccruedTaxes:Federal:Income 3,000.00 USD
Assets:Cash:Checking -3,000.00 USD

Seus relatórios de 2024 ficam corretos e seu fluxo de caixa de 2025 também. Perfeito! O mesmo padrão funciona ao contrário para uma restituição — basta usar Assets:Tax:Receivable em vez da conta de passivo.

Opção B: Automatize com um Plugin

Se preferir manter o pagamento em uma única transação, um plugin da comunidade chamado beancount_reds_plugins.effective_date pode ajudar. Ele permite atribuir uma “data efetiva” diferente a um item de linha.

Primeiro, habilite o plugin no seu arquivo principal Beancount:
plugin "beancount_reds_plugins.effective_date"

Depois, escreva uma única transação. O plugin a dividirá nos bastidores para que seus relatórios fiquem corretos.

; Uma única entrada; o plugin cuida do resto
2025-04-15 * "IRS" "Payment for 2024 tax return"
Assets:Cash:Checking -3,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
effective_date: 2024-12-31

Aqui, a parte em dinheiro é registrada em 15 de abril de 2025, mas a parte da despesa é retroativamente aplicada a 31 de dezembro de 2024. O resultado é o mesmo da Opção A, com um fluxo de trabalho diferente.


E os Impostos sobre Vendas?

Para a maioria dos livros‑razão pessoais, o imposto sobre vendas é simples. Se você não o reivindica de volta, basta separá‑lo como sua própria despesa durante a compra.

2025-07-19 * "Local Grocery Store"
Expenses:Groceries 12.32 USD
Expenses:Taxes:Sales 1.28 USD
Assets:Cash:Checking -13.60 USD

Isso permite acompanhar facilmente quanto você está gastando em imposto sobre vendas ao longo do ano. Se você administra um negócio que lida com IVA, usaria um sistema mais formal com contas a pagar e a receber, mas o princípio é o mesmo.


Consultas que Você Realmente Executará

O objetivo dessa estrutura é facilitar a obtenção de respostas. Aqui estão algumas consultas BQL para visualizar seu panorama fiscal.

1. Qual foi o total de imposto de renda federal em 2024?

SELECT cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01;

2. Como esse total se divide entre retenções, pagamentos e restituições?

SELECT account, cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01
GROUP BY account
ORDER BY account;

3. Tenho dívidas fiscais ou recebíveis pendentes? (Útil para conferir seu trabalho!)

SELECT account, units(sum(position))
WHERE account "Liabilities:AccruedTaxes" OR account "Assets:Tax"
GROUP BY account
ORDER BY account;

Se essa consulta retornar saldos diferentes de zero, significa que você tem acumulações ainda não quitadas.


Perguntas‑Frequentes Rápidas

  • Preciso realmente de contas por ano como Expenses:Taxes:2024?
    Provavelmente não. O método de competência (ou o plugin) mantém a estrutura de contas plana limpa e legível. Crie contas por ano somente se isso facilitar suas consultas específicas.

  • O Beancount pode calcular meus impostos por mim?
    Não diretamente, mas pode preparar os dados. Usuários avançados escrevem scripts que enviam os resultados das consultas BQL para softwares de cálculo fiscal, o que é ótimo para estimar sua obrigação ao longo do ano.

  • Isso é aconselhamento fiscal?
    Não. Este é um padrão de contabilidade para organizar seus dados. A contabilidade está correta, mas você deve sempre consultar um profissional de impostos para obter orientações específicas ao seu caso.


Seu Checklist Pronto‑para‑Uso

Pronto para começar?

  1. Adicione o esqueleto de contas ao seu arquivo Beancount (e adapte os nomes ao seu país).
  2. Registre os holerites começando pelo salário bruto e separando as postagens de imposto.
  3. No fim do ano, acumule ajustes de pagamentos ou restituições usando contas de passivo/ativo (ou use o plugin effective_date).
  4. Acompanhe restituições como recebíveis e liquide‑as quando o dinheiro chegar.
  5. Execute as consultas BQL acima para validar seus totais antes de declarar.

Mantenha tudo entediante, mantenha tudo consistente, e sua temporada de impostos finalmente será apenas mais um capítulo da sua história financeira — não um mistério a ser resolvido.

O Ciclo Contábil, Estilo Beancount

· 9 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Os demonstrativos financeiros não aparecem por mágica. Eles são o produto final de um processo estruturado e repetível conhecido como ciclo contábil. Embora os princípios sejam universais, as ferramentas que você usa podem mudar drasticamente a experiência. Este guia conduz você pelo ciclo contábil com foco no Beancount, a poderosa ferramenta de contabilidade em texto simples.

Veremos como a abordagem text‑first do Beancount elimina etapas tediosas, o que você deve automatizar e quais relatórios oferecem a visão mais clara da sua saúde financeira. 🧑‍💻

2025-08-13-the-accounting-cycle-beancount-style


TL;DR: O Fluxo de Trabalho no Beancount

  • Captura & Diário: Registre cada transação como uma postagem limpa de partida dobrada no seu arquivo de texto .beancount.
  • Validar & Conciliar: Use as asserções balance para confirmar que seu razão corresponde aos extratos bancários e execute bean-check para detectar erros.
  • Revisar: Gere um trial balance não ajustado para uma verificação rápida de sanidade.
  • Ajustar: Publique lançamentos para accruals, deferrals, depreciação e outros itens de fim de período.
  • Re‑revisar: Verifique o trial balance ajustado para garantir que tudo esteja correto.
  • Publicar & Fechar: Gere sua Demonstração de Resultados, Balanço Patrimonial e Demonstração de Fluxo de Caixa. O fechamento dos livros é opcional no Beancount, pois os relatórios são sensíveis a datas.

Este fluxo pode ser visualizado assim:


Etapa 1: Capturar e Registrar Transações

Esta é a etapa fundamental. Todo evento financeiro — uma venda, uma compra, uma taxa bancária — deve ser registrado. No Beancount, você faz isso criando transações em um simples arquivo de texto, tipicamente chamado main.beancount ou organizado em múltiplos arquivos por ano.

Cada transação deve seguir as regras da contabilidade de partida dobrada, ou seja, a soma de todas as postagens deve ser zero. O Beancount impõe isso para você.

2025-08-10 * "Walmart" "Purchase of office supplies"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
  • Dica Profissional: Use tags como #project-phoenix ou #client-acme para adicionar dimensões aos seus dados. Isso torna a consulta e os relatórios incrivelmente flexíveis mais tarde.

Higiene de Reconciliação ✅

O recurso mais poderoso para garantir precisão é a asserção de balance. No final de um período de extrato (por exemplo, fim do mês), você declara qual deve ser o saldo de uma conta.

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

Se a soma de todas as transações que afetam Assets:Bank:Checking até essa data não for igual a 12345.67 USD, o Beancount emitirá um erro. Esta simples diretiva transforma seu razão em um documento auto‑auditado.

Para quem está retroalimentando dados históricos, a diretiva pad pode criar automaticamente uma transação de balanceamento para fazer seus saldos de abertura coincidirem com sua primeira asserção.


Etapa 2: “Postar no Razão” (Um Brinde !)

Em sistemas contábeis tradicionais, você primeiro escreve lançamentos em um “diário” e depois um passo separado de “postagem” copia esses valores para o “razão geral”.

Com o Beancount, seu arquivo .beancount é simultaneamente o diário e o razão. Quando você escreve e salva uma transação, já a postou. Não há etapa separada. Essa diretividade é uma vantagem central da contabilidade em texto simples — o que você vê é o que obtém.


Etapa 3: Preparar um Trial Balance Não Ajustado

Antes de começar a fazer ajustes, você precisa de uma verificação rápida “tudo soma?”. Um trial balance é um relatório simples que lista cada conta e seu saldo total. O total geral de saldos de débito deve ser igual ao total geral de saldos de crédito.

Você pode gerar isso com uma consulta simples:

bean-query main.beancount \
"SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

Ou, para uma abordagem mais visual, abra seu razão no Fava (a interface web do Beancount) e navegue até o relatório “Trial Balance”. Procure por algo incomum — uma conta de ativo com saldo credor, ou uma conta de despesa com valor estranho.


Etapa 4: Lançar Ajustes

Lançamentos de ajuste são cruciais para relatórios precisos sob o regime de competência da contabilidade. Eles garantem que receitas sejam reconhecidas quando ganhas e despesas quando incorridas, independentemente de quando o caixa se move.

Ajustes comuns incluem:

  • Accruals: Registro de receita que você já ganhou mas ainda não faturou, ou despesa que já incorrida mas ainda não paga.
  • Deferrals: Tratamento de pré‑pagamentos. Se um cliente paga antecipadamente por um ano de serviço, você registra como passivo (Liabilities:UnearnedRevenue) e reconhece 1/12 dele como receita a cada mês.
  • Itens Não Monetários: Registro de depreciação de ativos.
  • Correções: Conserto de erros ou contabilização de itens perdidos em feeds bancários, como um pequeno pagamento de juros.

Exemplo: Accrual de Receita

Você finalizou um projeto em 31 de agosto, mas só enviará a fatura em setembro. Para reconhecer a receita no período correto (agosto), faça um lançamento de ajuste:

2025-08-31 * "Accrue revenue for client project #1042"
Assets:AccountsReceivable 3000.00 USD
Income:Consulting -3000.00 USD

Exemplo: Registro de Depreciação

Sua empresa tem um cronograma de depreciação para seus ativos. No fim do período, registre a despesa:

2025-12-31 * "Annual depreciation on computer equipment"
Expenses:Depreciation 4800.00 USD
Assets:Fixed:AccumulatedDepreciation -4800.00 USD

Etapa 5: Executar um Trial Balance Ajustado & Validar

Depois que seus lançamentos de ajuste estiverem inseridos, execute o relatório de trial balance novamente. Este é o seu Adjusted Trial Balance. Ele fornece o conjunto final de números que será usado para criar os demonstrativos financeiros.

Este também é o momento perfeito para rodar a verificação de sanidade embutida do Beancount:

bean-check main.beancount

Este comando verifica toda a sintaxe, regras de balanceamento e asserções. Se ele terminar sem saída, seus livros estão mecanicamente corretos.


Etapa 6: Publicar Demonstrativos Financeiros 📊

Esta é a recompensa. Usando os números do seu adjusted trial balance, você pode gerar os relatórios financeiros principais. O Fava é a maneira mais fácil de fazer isso, pois fornece relatórios interativos e detalhados prontos para uso.

  • Demonstração de Resultados (Profit & Loss): Mostra suas receitas e despesas ao longo de um período, resultando em seu lucro ou prejuízo líquido.
  • Balanço Patrimonial: Um instantâneo do que você possui (Ativos) e do que deve (Passivos), além do seu patrimônio líquido (Equity), em uma data específica.
  • Demonstração de Fluxo de Caixa: Reconcilia seu caixa inicial com o final mostrando de onde o dinheiro veio e para onde foi.

Para relatórios personalizados, você pode usar a Beancount Query Language (BQL). Aqui está uma consulta para uma demonstração de resultados mensal:

-- P&L for August 2025
SELECT account, sum(position)
WHERE account '^(Income|Expenses)'
AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

Etapa 7: Fechamento dos Livros (Opcional)

Na contabilidade tradicional, o processo de “fechamento” envolve criar lançamentos que zeram todas as contas temporárias (Receitas e Despesas) e transferem o lucro líquido para uma conta de equity chamada Retained Earnings. Isso reinicia formalmente as contas temporárias para o próximo ano.

No Beancount, esse passo geralmente é desnecessário. Os relatórios do Fava são sensíveis a datas; se você solicitar um P&L de 2025, ele usará apenas dados de 2025. Os saldos não “transbordam”. A maioria dos usuários simplesmente deixa os saldos como estão.

Entretanto, se você precisar fazer um fechamento formal por questões de conformidade ou relatório a acionistas, pode fazê‑lo com uma simples transação de fim de ano que move os saldos totais de receitas e despesas para Equity:Retained-Earnings.


Checklist Prático de Fechamento Mensal

Aqui está um checklist repetível para fechar seus livros a cada mês usando o Beancount.

  • Captura: Importe todas as transações de bancos e cartões de crédito. Insira manualmente despesas em dinheiro ou itens fora do fluxo.
  • Reconciliação: Adicione asserções balance para todas as contas bancárias, cartões de crédito e empréstimos, combinando-as com seus extratos.
  • Revisão: Analise o trial balance não ajustado no Fava. Investigue saldos estranhos ou inesperados. Verifique faturas não pagas (Assets:AccountsReceivable) ou contas a pagar (Liabilities:AccountsPayable).
  • Ajuste: Lance entradas para receitas/despesas acumuladas, receitas diferidas e correções necessárias.
  • Validação: Rode bean-check. Revise o trial balance ajustado final.
  • Publicação: Gere o P&L e o Balanço Patrimonial. Envie-os aos interessados ou salve-os para seus registros.
  • Encerramento: Opcionalmente, faça um lançamento de fechamento se seu negócio exigir. Arquive uma cópia dos arquivos .beancount do período.

Por Que o Beancount Brilha no Ciclo Contábil

  • Transparência e Auditabilidade: Seu razão é um arquivo de texto. Você pode usar git para versionar seu histórico financeiro, revisar mudanças com diff e colaborar com seu contador em um formato claro e inequívoco.
  • Controle Total: Você define seu plano de contas. Não fica preso à estrutura de um fornecedor de software. Seus dados são seus, para sempre, em um formato aberto.
  • Poder Inigualável: A combinação de consultas estilo SQL (BQL) e uma interface web rica (Fava) oferece poder sem precedentes para fatiar, analisar e entender seus dados financeiros.

Trechos Prontos para Copiar e Começar

Plano de Contas Simples:

option "title" "My Personal Ledger"
option "operating_currency" "USD"

;; --- Accounts ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

Consulta BQL Útil:

-- Find all customers with an outstanding balance
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

Ao mapear o atemporal ciclo contábil para as ferramentas modernas baseadas em texto do Beancount, você ganha um sistema robusto, transparente e feito para durar. Boas contabilidades!

Beancount.io vs. Software de Contabilidade Tradicional: Qual é o Melhor para Você?

· 8 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Por décadas, o mundo da contabilidade empresarial tem sido dominado por um conjunto familiar de sistemas fechados e baseados em interface gráfica, como QuickBooks, Xero e FreshBooks. Eles estabeleceram o padrão, oferecendo facilidade de uso e fluxos de trabalho visuais que atendem a usuários não técnicos. Mas para desenvolvedores, usuários avançados e qualquer pessoa que valorize transparência e controle absolutos, surgiu uma abordagem radicalmente diferente: Beancount.io.

Este artigo fornece uma comparação direta do Beancount.io com softwares de contabilidade tradicionais. Analisaremos suas principais diferenças em filosofia, flexibilidade, custo e manutenção a longo prazo para ajudá-lo a decidir qual sistema realmente atende às suas necessidades.

2025-08-08-beancount-io-vs-software-de-contabilidade-tradicional

1. Filosofia e Fluxo de Trabalho

A diferença mais fundamental entre essas duas abordagens reside em sua filosofia central.

Beancount.io O Beancount.io é construído sobre a filosofia da contabilidade em texto simples. Em sua essência, cada transação financeira é uma entrada em um arquivo de texto simples. Este modelo de "contabilidade como código" prioriza registros legíveis por humanos e controláveis por versão. Seus dados financeiros residem em um formato aberto e atemporal que você possui completamente – eles nunca podem ser bloqueados por um fornecedor. Este fluxo de trabalho é projetado para usuários que se sentem confortáveis com editores de código, sistemas de controle de versão como o Git e ferramentas de linha de comando.

Software Tradicional As plataformas de contabilidade tradicionais são baseadas em interface gráfica e formulários. Você insere dados usando assistentes, menus suspensos e formulários visuais. Essa abordagem prioriza a imediatidade e a acessibilidade, facilitando o início para usuários não técnicos, sem uma curva de aprendizado acentuada. No entanto, seus dados são armazenados em um formato proprietário ou em um banco de dados em nuvem, geralmente exigindo procedimentos complexos de exportação e importação se você decidir migrar para outro serviço.

Veredito: Se você prioriza controle total, propriedade dos dados, transparência e automação, o Beancount.io é o vencedor. Se você precisa de uma interface "clique e vá" com uma curva de aprendizado mínima, o software tradicional parecerá mais natural.

2. Flexibilidade e Personalização

Quão bem o software pode se adaptar às suas necessidades específicas?

Beancount.io Ser 100% programável é o superpoder do Beancount.io. Ele se integra perfeitamente com Python, permitindo que você se conecte a qualquer API, automatize a busca de dados de feeds bancários, marque transações programaticamente com base em regras complexas e gere relatórios personalizados adaptados às suas especificações exatas. Sua capacidade de estender e personalizar é praticamente infinita, livre de quaisquer limitações impostas pelo fornecedor.

Software Tradicional Essas plataformas oferecem uma seleção organizada de integrações com ferramentas populares como PayPal, Stripe e vários serviços de folha de pagamento. Embora conveniente, você está operando dentro do "jardim murado" do fornecedor. A personalização é limitada ao que a plataforma permite, e relatórios avançados ou automação geralmente exigem atualização para um plano superior ou a compra de complementos de terceiros. Você pode trabalhar com as APIs deles, mas sempre estará vinculado às regras e limites de taxa do ecossistema deles.

Veredito: O Beancount.io oferece flexibilidade incomparável para desenvolvedores e usuários técnicos. As ferramentas tradicionais são mais adequadas para fluxos de trabalho padrão, plug-and-play, com aplicativos comerciais populares.

3. Colaboração e Transparência

A maneira como você trabalha com outras pessoas e audita seus registros difere significativamente.

Beancount.io A colaboração no Beancount.io é gerenciada por meio do Git. Isso torna cada alteração em seu livro razão completamente transparente e auditável. Você pode ver quem alterou o quê, quando e por quê – assim como um fluxo de trabalho de revisão de código. Isso é ideal para equipes distribuídas que já adotam ferramentas como GitHub ou GitLab. Além disso, não há cálculos ocultos; cada número em um relatório pode ser rastreado até a entrada exata do item de linha em seu arquivo de livro razão, garantindo auditabilidade completa.

Software Tradicional A colaboração é tratada por meio de funções e permissões de usuário integradas. Você pode convidar seu contador, contador ou parceiros de negócios para acessar os livros diretamente pela interface da web. Isso é altamente eficaz para empresas que seguem um modelo tradicional de supervisão financeira. A desvantagem é que algumas operações internas, como cálculos de impostos ou ajustes automáticos de saldo, podem ser "caixas pretas" opacas, dificultando a verificação independente da lógica.

Veredito: O Beancount.io é perfeito para equipes que valorizam a auditabilidade granular e a colaboração em estilo de código. Os sistemas tradicionais são mais amigáveis para contadores para acesso GUI compartilhado em tempo real.

4. Custo e Propriedade

Os modelos financeiros e o conceito de propriedade de dados são mundos à parte.

Beancount.io O software principal do Beancount é de código aberto e gratuito. Você só paga pelos serviços de valor agregado do Beancount.io, que incluem hospedagem, automação inteligente e recursos premium. Não há taxas de licenciamento por usuário, para que você possa escalar sua equipe sem incorrer em custos extras. Mais importante ainda, não há nenhum aprisionamento por fornecedor. Seus dados são uma coleção de arquivos de texto que você pode mover, editar ou armazenar em qualquer lugar, a qualquer hora.

Software Tradicional Esses serviços operam em um modelo de assinatura, normalmente cobrado mensalmente ou anualmente. O preço geralmente é escalonado com base nos recursos e você pode enfrentar taxas por usuário ou por empresa que aumentam com sua organização. Isso cria uma dependência; se você parar de pagar, corre o risco de perder o acesso aos seus dados e à funcionalidade do software. Esse aprisionamento por fornecedor é um risco significativo a longo prazo.

Veredito: O Beancount.io é significativamente mais econômico a longo prazo, especialmente para equipes técnicas que valorizam a soberania dos dados. O software tradicional oferece custos de assinatura previsíveis, mas cria dependência a longo prazo.

5. Curva de Aprendizado e Adoção

Com que rapidez você pode começar a usar?

Beancount.io A curva de aprendizado é inegavelmente mais acentuada. A adoção deste sistema requer conforto com edição baseada em texto, compreensão da sintaxe básica e familiaridade com ferramentas como o Git. No entanto, o investimento inicial compensa. Uma vez dominado, o Beancount permite fluxos de trabalho incrivelmente rápidos e repetíveis e fornece uma compreensão muito mais profunda e fundamental do seu cenário financeiro.

Software Tradicional Essas plataformas são projetadas para proprietários de empresas não técnicos e oferecem atrito mínimo de integração. Você pode estar em funcionamento, enviando faturas e categorizando despesas, em minutos. Dito isso, aprender os recursos mais avançados, como a criação de relatórios personalizados ou a configuração da contabilidade de várias entidades, ainda requer um investimento significativo de tempo.

Veredito: O Beancount.io é a escolha certa se você estiver disposto a investir tempo no aprendizado de um sistema poderoso. O software tradicional é mais rápido para começar para usuários não técnicos que precisam de resultados imediatos.

Comparação Lado a Lado

RecursoBeancount.ioSoftware de Contabilidade Tradicional
Filosofia CentralContabilidade como código; livro razão em texto simplesBaseado em GUI; orientado por formulários
Formato de DadosAberto (texto simples)Proprietário (banco de dados)
Propriedade de Dados100% pertencente ao usuário e portátilControlado pelo fornecedor; aprisionamento em potencial
FlexibilidadeInfinita; totalmente programável com PythonLimitado ao ecossistema e APIs do fornecedor
ColaboraçãoBaseado em Git; histórico de alterações transparentePermissões de usuário baseadas em função
TransparênciaTotalmente auditável; sem cálculos ocultosAlguns cálculos podem ser opacos
Modelo de CustoNúcleo de código aberto; pagamento por hospedagem/automaçãoAssinatura mensal/anual (SaaS)
Curva de AprendizadoMais acentuada para usuários não técnicosBaixa; projetado para início rápido
Usuário IdealDesenvolvedores, usuários avançados, analistas de dadosProprietários de PMEs, equipes não técnicas

Quando Escolher Cada Um

A decisão final depende das habilidades, prioridades e fluxo de trabalho da sua equipe.

Escolha o Beancount.io se você:

  • É um desenvolvedor, analista de dados ou usuário avançado com inclinação técnica.
  • Valoriza a transparência absoluta, o controle e a portabilidade de dados a longo prazo acima de tudo.
  • Deseja automatizar totalmente sua contabilidade e integrá-la profundamente aos seus fluxos de trabalho personalizados.
  • Se sente confortável em tratar seus registros financeiros com o mesmo rigor do código-fonte.

Escolha o Software de Contabilidade Tradicional se você:

  • Deseja uma interface visual de início rápido, sem nenhuma configuração técnica.
  • Precisa fornecer acesso imediato e amigável ao contador com treinamento mínimo.
  • Prefere uma solução gerenciada e hospedada onde o fornecedor lida com todas as atualizações e conformidade.
  • Suas necessidades de integração são atendidas por aplicativos populares e prontos para uso.

Considerações Finais

O Beancount.io não está tentando ser um QuickBooks melhor – é uma maneira fundamentalmente diferente de pensar. Ele representa a contabilidade como código. Para profissionais técnicos, essa mudança oferece o mesmo salto que o controle de versão com o Git trouxe para o desenvolvimento de software: transparência completa, reprodutibilidade perfeita e controle final.

Ao mesmo tempo, o software de contabilidade tradicional continua a ganhar em facilidade de uso imediata e integrações prontas para equipes não técnicas. A escolha certa não é sobre qual é "melhor" no geral, mas qual é o ajuste perfeito para seu fluxo de trabalho, suas prioridades e o grau de controle que você exige sobre seus dados financeiros.

O Ecossistema Beancount: Uma Análise Abrangente

· 39 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Funcionalidade Central e Filosofia do Beancount

Beancount é um sistema de contabilidade de dupla entrada de código aberto que utiliza arquivos de texto simples para registrar transações. Em sua essência, o Beancount trata seu razão contábil como um conjunto de dados definido por uma gramática simples e rigorosa. Cada evento financeiro (transações, aberturas de contas, preços de commodities, etc.) é uma diretiva em um arquivo de texto, que o Beancount analisa e transforma em um banco de dados de lançamentos em memória. Este design impõe o princípio da dupla entrada: cada transação deve equilibrar débitos e créditos entre as contas. O resultado é um razão altamente transparente e auditável que você pode controlar por versão, inspecionar e consultar com facilidade.

2025-04-15-beancount-ecosystem

Filosofia – correção e minimalismo: O design do Beancount prioriza a integridade dos dados e a simplicidade. Seu criador, Martin Blais, descreve o Beancount como “pessimista” ao assumir que o usuário cometerá erros e, portanto, impõe verificações e restrições adicionais. Por exemplo, o Beancount não permitirá que você remova ativos que nunca foram adicionados (evitando saldos negativos de estoque ou caixa) e pode garantir que cada conta seja aberta antes do uso. Ele não possui o conceito do Ledger de lançamentos “virtuais” ou automaticamente equilibrados – uma escolha intencional para forçar lançamentos totalmente equilibrados. O Beancount efetivamente “é rigoroso” na correção, com mais verificações cruzadas do que a contabilidade de dupla entrada básica oferece. Essa abordagem cautelosa agrada aos usuários que “não confiam muito em si mesmos” e desejam que o software detecte seus erros.

Opções mínimas, consistência máxima: Em contraste com a miríade de flags de linha de comando e opções de ajuste do Ledger, o Beancount opta pelo minimalismo. Existem pouquíssimas opções globais, e nenhuma que altere a semântica das transações fora do arquivo do razão. Toda a configuração que afeta a contabilidade (como métodos de base de custo de commodities ou premissas de lançamento) é feita no arquivo via diretivas ou plugins, garantindo que carregar o mesmo arquivo sempre produza os mesmos resultados, independentemente de como os relatórios são gerados. Este design evita a complexidade dos muitos "botões" do Ledger e as interações sutis entre eles. A filosofia do Beancount é que uma ferramenta contábil deve ser um pipeline estável e determinístico do arquivo de entrada para os relatórios. Ele consegue isso tratando o razão como um fluxo ordenado de diretivas que podem ser processadas programaticamente em sequência. Mesmo coisas que o Ledger trata como sintaxe especial (como saldos iniciais ou declarações de preço) são diretivas de primeira classe no modelo de dados do Beancount, o que torna o sistema altamente extensível.

Extensibilidade via plugins e linguagem de consulta: O Beancount é implementado em Python e fornece ganchos para injetar lógica personalizada no pipeline de processamento. Os usuários podem escrever plugins em Python que operam no fluxo de transações (por exemplo, para impor uma regra personalizada ou gerar lançamentos automáticos). Esses plugins são executados à medida que o arquivo é processado, estendendo efetivamente a funcionalidade central do Beancount sem a necessidade de modificar o código-fonte. O Beancount também inclui uma poderosa linguagem de consulta (inspirada em SQL) para analisar e segmentar o razão. A ferramenta bean-query trata o razão analisado como um banco de dados e permite que você execute consultas analíticas nele – por exemplo, somar despesas por categoria ou extrair todas as transações para um determinado beneficiário. No Beancount 3.x, essa capacidade de consulta foi movida para um pacote beanquery autônomo, mas da perspectiva do usuário, ainda oferece relatórios flexíveis via consultas tipo SQL.

Texto simples e controle de versão: Como uma ferramenta de contabilidade de texto simples, o Beancount enfatiza o controle do usuário e a longevidade dos dados. O razão é simplesmente um arquivo de texto .beancount que você pode editar em qualquer editor de texto. Isso significa que todo o seu histórico financeiro é armazenado em um formato legível por humanos, e você pode colocá-lo no Git ou em outro VCS para rastrear as mudanças ao longo do tempo. Os usuários frequentemente mantêm seu arquivo Beancount sob controle de versão para manter uma trilha de auditoria de cada edição (com mensagens de commit descrevendo as mudanças). Essa abordagem se alinha com a filosofia do Beancount de que os dados contábeis, especialmente finanças pessoais ou de pequenas empresas, devem ser transparentes e “à prova de futuro” – não bloqueados em um banco de dados proprietário. Nas próprias palavras de Martin Blais, o Beancount é um “trabalho de amor” construído para ser simples, durável e gratuito para a comunidade. Ele foi desenvolvido pela primeira vez por volta de 2007 e evoluiu através de grandes reescritas (v1 para v2, e agora v3 em 2024) para refinar seu design, preservando sua filosofia central de minimalismo e correção.

Ferramentas, Plugins e Extensões no Ecossistema Beancount

O ecossistema Beancount desenvolveu um conjunto rico de ferramentas, plugins e extensões que aprimoram a funcionalidade central do livro-razão. Estes abrangem a importação de dados, edição de livros-razão, visualização de relatórios e adição de recursos contábeis especializados. Abaixo está uma visão geral dos principais componentes e complementos no mundo Beancount:

Utilitários de Importação de Dados (Importadores)

Uma das necessidades mais importantes para o uso prático é a importação de transações de bancos, cartões de crédito e outras instituições financeiras. Beancount oferece uma estrutura de importação e scripts de importação contribuídos pela comunidade para este fim. No Beancount 2.x, o módulo integrado beancount.ingest (com comandos como bean-extract e bean-identify) era usado para definir plugins de importação em Python e aplicá-los a extratos baixados. No Beancount 3.x, isso foi substituído por um projeto externo chamado Beangulp. Beangulp é uma estrutura de importadores dedicada que evoluiu de beancount.ingest e agora é a forma recomendada para automatizar a importação de transações para o Beancount 3.0. Ele permite escrever scripts Python ou ferramentas de linha de comando que leem arquivos externos (como extratos CSV ou PDF) e geram lançamentos Beancount. Esta nova abordagem desvincula a lógica de importação do núcleo do Beancount – por exemplo, o antigo comando bean-extract foi removido na v3, e em vez disso, seus próprios scripts de importação produzem transações através da interface CLI do Beangulp.

Dezenas de importadores prontos existem para diferentes bancos e formatos, contribuídos pela comunidade. Existem scripts de importação para instituições em todo o mundo – desde Alipay e WeChat Pay na China, a vários bancos europeus (Commerzbank, ING, ABN AMRO, etc.), a bancos dos EUA como Chase e Amex. Muitos deles são coletados em repositórios públicos (frequentemente no GitHub) ou em pacotes como beancount-importers. Por exemplo, o projeto Tarioch Beancount Tools (tariochbctools) fornece importadores para bancos suíços e do Reino Unido e até mesmo lida com importações de transações de criptomoedas. Outro exemplo é o Lazy Beancount, que empacota um conjunto de importadores comuns (para Wise, Monzo, Revolut, IBKR, etc.) e fornece uma configuração baseada em Docker para fácil automação. Não importa qual banco ou serviço financeiro você use, é provável que alguém já tenha escrito um importador Beancount para ele – ou você pode escrever o seu próprio usando a estrutura do Beangulp. A flexibilidade do Python significa que os importadores podem lidar com a análise de arquivos CSV/Excel, downloads OFX/QIF, ou até mesmo com a extração de dados de APIs, e então emitir transações no formato Beancount padronizado.

Edição e Integração com Editores

Como os livros-razão do Beancount são apenas texto, os usuários frequentemente aproveitam seus editores de texto ou IDEs favoritos para mantê-los. O ecossistema oferece plugins de suporte para editores para tornar essa experiência mais fluida. Existem extensões para muitos editores populares que adicionam realce de sintaxe, preenchimento automático de nomes de contas e verificação de erros em tempo real:

  • Emacs Beancount-Mode: Um modo principal do Emacs (beancount-mode) está disponível para editar arquivos .beancount, oferecendo recursos como coloração de sintaxe e integração com o verificador do Beancount. Ele pode até mesmo executar bean-check em segundo plano para que erros no livro-razão (como uma transação não balanceada) sejam sinalizados enquanto você edita.
  • Extensão VS Code: Uma extensão Beancount no VSCode Marketplace oferece conveniências semelhantes para usuários do Visual Studio Code. Ela suporta realce de sintaxe, alinhamento de valores, preenchimento automático para contas/beneficiários e até mesmo verificações de saldo em tempo real ao salvar o arquivo. Ela também pode se integrar com o Fava, permitindo que você inicie a interface web do Fava de dentro do VSCode.
  • Plugins ou modos também existem para Vim, Atom e outros editores. Por exemplo, há uma gramática Tree-sitter para Beancount, que possibilita o realce de sintaxe em editores modernos e foi até mesmo adotada no componente de editor baseado na web do Fava. Em suma, qualquer que seja seu ambiente de edição, a comunidade provavelmente forneceu um plugin para tornar a edição de arquivos Beancount conveniente e livre de erros.

Para entrada rápida de transações fora dos editores tradicionais, também existem ferramentas como Bean-add e aplicativos móveis. Bean-add é uma ferramenta de linha de comando que permite adicionar uma nova transação via um prompt ou um comando de uma linha, lidando com sugestões de data e conta. Em dispositivos móveis, um projeto chamado Beancount Mobile fornece uma interface simples para inserir transações em movimento (por exemplo, registrando uma compra em dinheiro do seu telefone). Além disso, um Beancount Telegram Bot existe para capturar transações por meio de mensagens – você pode enviar uma mensagem com os detalhes da transação, e o bot a formata em seu arquivo de livro-razão.

Front-ends Web e Ferramentas de Visualização

(Fava) A interface web do Fava oferece um painel interativo para o Beancount, apresentando relatórios como uma demonstração de resultados com visualizações (mostrada aqui como um treemap de despesas por categoria) juntamente com tabelas de contas e saldos.

O principal front-end para o Beancount é o Fava, uma interface web moderna. O Fava funciona como um aplicativo web local que lê seu arquivo Beancount e produz uma experiência interativa rica no seu navegador. Ele oferece um conjunto completo de relatórios: balanço patrimonial, demonstração de resultados, patrimônio líquido ao longo do tempo, participações de portfólio, gráficos de desempenho, orçamentos e muito mais – tudo pronto para uso. Os usuários frequentemente citam o Fava como uma das principais razões para escolher o Beancount em vez de outras ferramentas de contabilidade em texto simples. Com um único comando (fava ledger.beancount), você pode navegar pelas suas finanças com gráficos e tabelas em vez de texto. O Fava suporta recursos como: detalhamento de contas, filtragem de transações por beneficiário ou tag, um editor de consultas (para que você possa executar consultas Beancount e ver os resultados no navegador), e até mesmo um editor web integrado para seu livro-razão. É altamente utilizável, tornando a contabilidade em texto simples acessível para aqueles que preferem interfaces visuais.

Nos bastidores, o Fava é escrito em Python (Flask no backend) e JavaScript (Svelte no frontend). Ele tem seu próprio ciclo de lançamento e é ativamente mantido. Notavelmente, o Fava acompanhou o desenvolvimento do Beancount – por exemplo, o Fava 1.30 adicionou suporte para Beancount v3, passando a usar os novos pacotes beanquery e beangulp internamente. (Ele ainda suporta Beancount 2 para livros-razão mais antigos.) O foco do Fava na usabilidade inclui toques agradáveis como preenchimento automático no editor web, e uma UI elegante com modo escuro e gráficos responsivos. Há também uma ramificação chamada Fava-GTK, que empacota o Fava em um aplicativo de desktop para usuários GNOME/Linux que preferem uma sensação de aplicativo nativo.

Além do Fava, existem outras opções de visualização e análise. Como os dados do Beancount podem ser exportados ou consultados como tabelas, os usuários frequentemente utilizam ferramentas como notebooks Jupyter ou Pandas para análise personalizada. Por exemplo, um usuário descreve puxar dados do Beancount via interface de consulta para um Pandas DataFrame para preparar um relatório personalizado. Existem também scripts contribuídos pela comunidade para relatórios específicos – por exemplo, uma ferramenta de análise de alocação de portfólio ou um gráfico de controle de processo para gastos vs. patrimônio líquido. No entanto, para a maioria das pessoas, o Fava oferece poder de relatório mais do que suficiente sem precisar escrever código. Ele até suporta extensões: você pode inserir arquivos Python que adicionam novas páginas de relatório ou gráficos ao Fava. Uma extensão notável é o fava-envelope para orçamento por envelopes dentro do Fava. No geral, o Fava serve como o centro de visualização central do ecossistema Beancount.

Utilitários e Scripts de Linha de Comando

Beancount vem com várias ferramentas de CLI (especialmente no ramo v2 mais antigo, algumas das quais foram reduzidas na v3). Essas ferramentas operam no seu arquivo de razão para verificá-lo ou gerar relatórios específicos em texto ou HTML:

  • bean-check: um validador que verifica erros de sintaxe ou erros contábeis no arquivo. Executar bean-check myfile.beancount irá alertá-lo sobre qualquer desequilíbrio, conta ausente ou outros problemas, e não produzirá saída se o arquivo estiver livre de erros.
  • bean-format: um formatador que organiza seu razão alinhando números em colunas organizadas, muito parecido com a execução de um formatador de código em código-fonte. Isso ajuda a manter o arquivo limpo e legível.
  • bean-query: um shell interativo ou ferramenta de lote para executar a linguagem de consulta do Beancount no seu razão. Você pode usá-lo para produzir relatórios tabulares personalizados (por exemplo, bean-query myfile.beancount "SELECT account, sum(amount) WHERE ...").
  • bean-report: um gerador de relatórios versátil (na v2) que pode gerar relatórios predefinidos (balanço patrimonial, demonstrativo de resultados, balancete de verificação, etc.) para o console ou para arquivos. Por exemplo, bean-report file.beancount balances imprimiria os saldos das contas. (Na prática, muitos desses relatórios de texto foram suplantados pela apresentação mais agradável do Fava.)
  • bean-web / bean-bake: uma interface web mais antiga que serviria os relatórios em localhost ou os "assaria" como arquivos HTML estáticos. Estes eram principalmente usados antes de o Fava se tornar popular; o bean-web fornecia uma visualização web básica dos mesmos relatórios que o bean-report poderia gerar. No Beancount 3, o bean-web foi removido (já que o Fava é agora o frontend web recomendado, oferecendo uma experiência superior).
  • bean-example: um utilitário para gerar um arquivo de razão de exemplo (útil para recém-chegados verem um modelo de lançamentos do Beancount).
  • bean-doctor: uma ferramenta de depuração que pode diagnosticar problemas no seu razão ou ambiente.

Vale a pena notar que, a partir do Beancount v3, muitas dessas ferramentas foram movidas para fora do projeto principal. O pacote principal do Beancount foi otimizado, e ferramentas como o motor de consulta e os importadores foram divididas em pacotes separados (beanquery, beangulp, etc.) para facilitar a manutenção. Por exemplo, a funcionalidade do bean-query é agora fornecida pela ferramenta beanquery, que é instalada separadamente. Da perspectiva do usuário, a funcionalidade permanece disponível; apenas foi modularizada. A comunidade Arch Linux notou essa mudança ao atualizar o Fava: o pacote Fava adicionou dependências em beanquery e beangulp para suportar o Beancount 3.x. Essa abordagem modular também permite que outros na comunidade contribuam para essas ferramentas auxiliares de forma mais independente do ciclo de lançamento do Beancount.

Plugins e Extensões do Beancount

Uma força notável do ecossistema Beancount é o sistema de plugins. Ao adicionar uma linha plugin "module.name" no seu arquivo Beancount, você pode incorporar lógica Python personalizada que é executada durante o processamento do livro-razão. A comunidade criou muitos plugins para estender as capacidades do Beancount:

  • Qualidade de dados e regras: Exemplos incluem beancount-balexpr, que permite validar equações envolvendo múltiplas contas (por exemplo, Ativo A + Ativo B = Passivo X), e beancount-checkclosed, que insere automaticamente asserções de saldo ao fechar uma conta para garantir que ela zere. Há até um plugin para garantir que as transações no arquivo estejam ordenadas por data (autobean.sorted) para identificar lançamentos fora de ordem.
  • Automação: O plugin beancount-asset-transfer pode gerar lançamentos de transferência de ativos entre contas (útil para movimentar ações entre corretoras, preservando o custo de aquisição). Outro, autobean.xcheck, faz uma verificação cruzada do seu livro-razão Beancount com extratos externos para identificar discrepâncias.
  • Transações recorrentes e orçamentos: O plugin "repeat" ou interpolate de Akuukis permite definir transações recorrentes ou distribuir uma despesa anual ao longo dos meses. Para orçamento, a extensão fava-envelope (usada via Fava) suporta a metodologia de orçamento por envelopes em texto simples. Há também o MiniBudget de Frank Davies – uma pequena ferramenta autônoma inspirada no Beancount para auxiliar no orçamento pessoal ou para pequenas empresas.
  • Impostos e relatórios: Alguns plugins auxiliam na contabilidade fiscal, como um que classifica automaticamente os ganhos de capital em curto vs. longo prazo. Outro (fincen_114 de Justus Pendleton) gera um relatório FBAR para contribuintes dos EUA com contas estrangeiras, ilustrando como os dados do Beancount podem ser aproveitados para relatórios regulatórios.
  • Repositórios de plugins da comunidade: Existem conjuntos de plugins selecionados, como beancount-plugins (de Dave Stephens), focados em itens como lançamentos de depreciação, e beancount-plugins-zack (de Stefano Zacchiroli), que incluem auxiliares diversos, como diretivas de ordenação.

Além dos plugins, outras ferramentas utilitárias que orbitam o Beancount atendem a necessidades específicas. Por exemplo, beancount-black é um autoformatador semelhante ao formatador de código Black, mas para arquivos de livro-razão Beancount. Há um Beancount Bot (Telegram/Mattermost) para adicionar transações via chat, como mencionado, e um fluxo de trabalho Alfred para macOS para anexar rapidamente transações ao seu arquivo. Uma ferramenta chamada Pinto oferece uma CLI "turbinada" com entrada interativa (como um bean-add aprimorado). Para aqueles que estão migrando de outros sistemas, existem conversores (YNAB2Beancount, CSV2Beancount, GnuCash2Beancount, Ledger2Beancount) para ajudar a importar dados de outros lugares.

Em resumo, o ecossistema Beancount é bastante extenso. A Tabela 1 abaixo lista algumas das principais ferramentas e extensões com suas funções:

| Ferramenta/Extensão | Descrição

Comparação com Ledger, hledger e Sistemas Semelhantes

Beancount pertence à família de ferramentas de contabilidade de dupla entrada em texto simples, entre as quais Ledger CLI (Ledger de John Wiegley) e hledger são proeminentes. Embora todos esses sistemas compartilhem a ideia central de arquivos de razão em texto simples e escrituração de dupla entrada, eles diferem em sintaxe, filosofia e maturidade do ecossistema. A tabela a seguir destaca as principais diferenças entre Beancount, Ledger e hledger:

AspectoBeancount (Python)Ledger CLI (C++)hledger (Haskell)
Sintaxe e Estrutura de ArquivosSintaxe rigorosa e estruturada definida por uma gramática formal (BNF). Transações possuem linhas explícitas de `data flag "Beneficiário" "Narração

Cenários de Uso para Beancount

Beancount é versátil o suficiente para ser usado para controle de finanças pessoais, bem como (em alguns casos) para contabilidade de pequenas empresas. Sua abordagem central de dupla entrada é a mesma em ambos os cenários, mas a escala e as práticas específicas podem diferir.

Finanças Pessoais

Muitos utilizadores do Beancount utilizam-no para gerir as suas finanças individuais ou domésticas. Uma configuração típica de finanças pessoais no Beancount pode incluir contas para depósitos à ordem e poupança, cartões de crédito, investimentos, empréstimos, categorias de rendimento (salário, juros, etc.) e categorias de despesas (renda, mercearia, entretenimento, etc.). Os utilizadores registam as transações diárias manualmente (introduzindo recibos, faturas, etc.) ou importando-as de extratos bancários utilizando as ferramentas de importação discutidas anteriormente. Os benefícios que o Beancount oferece às finanças pessoais incluem:

  • Consolidação e Análise: Todas as suas transações podem residir num único ficheiro de texto (ou num conjunto de ficheiros) que representa anos de histórico financeiro. Isto facilita a análise de tendências a longo prazo. Com a linguagem de consulta do Beancount ou com o Fava, pode responder a perguntas como “Quanto gastei em viagens nos últimos 5 anos?” ou “Qual é a minha despesa média mensal com mercearia?” em segundos. Um utilizador notou que, após mudar para o Beancount, “a análise de dados financeiros (gastos, doações, impostos, etc.) é trivial” seja através do Fava ou consultando os dados e utilizando ferramentas como o Pandas. Em essência, o seu livro-razão torna-se uma base de dados financeira pessoal que pode consultar à vontade.
  • Orçamentação e Planeamento: Embora o Beancount não imponha um sistema de orçamentação, pode implementar um. Alguns utilizadores fazem orçamentação por envelopes criando contas de orçamento ou utilizando o plugin fava-envelope. Outros simplesmente utilizam relatórios periódicos para comparar os gastos com os objetivos. Por ser texto simples, integrar o Beancount com ferramentas de orçamentação externas ou folhas de cálculo é simples (exportar dados ou utilizar saídas CSV de consultas).
  • Rastreamento de Investimentos e Património Líquido: O Beancount destaca-se no rastreamento de investimentos graças ao seu robusto tratamento de bases de custo e preços de mercado. Pode registar compras/vendas de ações, criptomoedas, etc., com detalhes de custo, e depois utilizar diretivas Prices para acompanhar o valor de mercado. O Fava pode mostrar um gráfico de património líquido ao longo do tempo e uma discriminação do portfólio por classe de ativos. Isto é extremamente útil para a gestão de património pessoal – obtém informações semelhantes às fornecidas por ferramentas comerciais como o Mint ou o Personal Capital, mas totalmente sob o seu controlo. O manuseamento de múltiplas moedas também está integrado, por isso, se detiver moedas estrangeiras ou criptomoedas, o Beancount pode rastreá-las e convertê-las para relatórios.
  • Reconciliação e Precisão: As finanças pessoais frequentemente envolvem a reconciliação com extratos bancários. Com o Beancount, pode-se reconciliar contas regularmente utilizando asserções de saldo ou a funcionalidade de documentos. Por exemplo, todos os meses pode adicionar uma entrada balance Assets:Bank:Checking <date> <balance> para confirmar que o seu livro-razão corresponde ao extrato bancário no final do mês. A ferramenta bean-check (ou a exibição de erros do Fava) irá alertá-lo se as coisas não estiverem alinhadas. Um utilizador menciona fazer uma reconciliação mensal de todas as contas, o que “ajuda a detetar qualquer atividade incomum” – uma boa prática de higiene financeira pessoal que o Beancount facilita.
  • Automação: Indivíduos com conhecimentos tecnológicos automatizaram grandes partes do seu fluxo de trabalho de finanças pessoais com o Beancount. Utilizando importadores, cron jobs e talvez um pouco de Python, pode configurar o seu sistema para que, por exemplo, todos os dias as suas transações bancárias sejam obtidas (alguns utilizam OFX ou APIs) e anexadas ao seu ficheiro Beancount, categorizadas por regras. Com o tempo, o seu livro-razão torna-se maioritariamente autoatualizado, e só precisa de rever e ajustar conforme necessário. Um membro da comunidade no Hacker News partilhou que, após 3 anos, os seus livros Beancount estavam “95% automáticos”. Este nível de automação é possível devido à abertura de texto simples do Beancount e às suas capacidades de script.

Os utilizadores de finanças pessoais frequentemente escolhem o Beancount em vez de folhas de cálculo ou aplicações porque lhes dá total propriedade dos dados (sem dependência de um serviço na nuvem que possa ser descontinuado – uma preocupação, por exemplo, com a descontinuação do Mint) e porque a profundidade da análise é maior quando se tem todos os dados integrados. A curva de aprendizagem não é trivial – é preciso aprender contabilidade básica e a sintaxe do Beancount – mas recursos como a documentação oficial e tutoriais da comunidade ajudam os recém-chegados a começar. Uma vez configurado, muitos descobrem que ter uma imagem clara e fiável das suas finanças a todo o momento lhes traz paz de espírito.

Contabilidade para Pequenas Empresas

Usar o Beancount para uma pequena empresa (ou organização sem fins lucrativos, clube, etc.) é menos comum do que para uso pessoal, mas é certamente possível e alguns o fizeram com sucesso. A estrutura de dupla entrada do Beancount é, de fato, o mesmo sistema que sustenta a contabilidade corporativa, apenas sem alguns dos recursos de nível superior que softwares de contabilidade dedicados fornecem (como módulos de faturamento ou integrações de folha de pagamento). Veja como o Beancount pode se encaixar no contexto de uma pequena empresa:

  • Razão Geral e Demonstrações Financeiras: Uma pequena empresa pode tratar o arquivo Beancount como seu razão geral. Você teria contas de ativo para contas bancárias, contas a receber, talvez estoque; contas de passivo para cartões de crédito, empréstimos, contas a pagar; patrimônio líquido para capital do proprietário; contas de receita para vendas ou serviços; e contas de despesa para todas as despesas comerciais. Ao manter este razão, você pode produzir uma Demonstração de Resultados (Lucros e Perdas) e um Balanço Patrimonial a qualquer momento usando os relatórios ou consultas do Beancount. De fato, os relatórios integrados do Beancount ou o Fava podem gerar um balanço patrimonial e uma DRE em segundos que estão perfeitamente alinhados com os princípios contábeis. Isso pode ser suficiente para uma pequena operação avaliar a lucratividade, a posição financeira e o fluxo de caixa (com um pouco de consulta para o fluxo de caixa, já que as demonstrações de fluxo de caixa diretas não são integradas, mas podem ser derivadas).
  • Faturas e C/R, C/P: O Beancount não possui um sistema de faturamento integrado; os usuários normalmente lidariam com o faturamento externamente (por exemplo, criar faturas no Word ou em um aplicativo de faturamento) e, em seguida, registrariam os resultados no Beancount. Por exemplo, ao emitir uma fatura, você registraria um lançamento debitando Contas a Receber e creditando Receita. Quando o pagamento chega, você debita Caixa/Banco e credita Contas a Receber. Dessa forma, você pode acompanhar as contas a receber pendentes verificando o saldo da conta de C/R. O mesmo se aplica às contas a pagar (C/P). Embora seja mais manual do que um software de contabilidade especializado (que pode enviar lembretes ou integrar-se com e-mails), é perfeitamente viável. Alguns usuários compartilharam modelos ou fluxos de trabalho sobre como gerenciam faturas com o Beancount e garantem que não percam faturas em aberto (por exemplo, usando metadados ou consultas personalizadas para listar faturas não pagas).
  • Estoque ou Custo dos Produtos Vendidos: Para empresas que vendem produtos, o Beancount pode rastrear compras e vendas de estoque, mas requer lançamentos disciplinados. Você pode usar os recursos de Estoque e contabilidade de custos: a compra de estoque aumenta uma conta de ativo (com o custo anexado aos itens), a venda move o custo para uma despesa (CPV) e registra a receita. Como o Beancount insiste na correspondência de lotes, ele garantirá a redução adequada do estoque com o custo correto, o que pode realmente garantir que seus cálculos de lucro bruto sejam precisos se feitos corretamente. No entanto, não há rastreamento automático de SKU ou algo do tipo – tudo está no nível financeiro (quantidade e custo).
  • Folha de Pagamento e Transações Complexas: O Beancount pode registrar transações de folha de pagamento (despesa de salário, retenções de impostos, etc.), mas o cálculo desses valores pode ser feito externamente ou por meio de outra ferramenta, e então apenas lançado no Beancount. Para uma empresa muito pequena (digamos, um ou dois funcionários), isso é gerenciável. Você, por exemplo, registraria um único lançamento contábil por período de pagamento que separa salários, impostos retidos, despesa de imposto do empregador, dinheiro pago, etc. Fazer isso manualmente é semelhante a como alguém faria em lançamentos contábeis do QuickBooks – requer conhecimento de quais contas afetar.
  • Multiusuário e Auditoria: Um desafio em um ambiente de negócios é se várias pessoas precisam acessar os livros ou se um contador precisa revisá-los. Como o Beancount é um arquivo de texto, ele não é multiusuário em tempo real. No entanto, hospedar o arquivo em um repositório Git pode permitir a colaboração: cada pessoa pode editar e fazer commit, e as diferenças podem ser mescladas.
  • Conformidade Regulatória: Para declaração de impostos ou conformidade, os dados do Beancount podem ser usados para gerar os relatórios necessários, mas isso pode exigir consultas personalizadas ou plugins. Vimos um exemplo de um plugin da comunidade para relatórios de conformidade do governo indiano e um para relatórios FBAR do FinCEN. Isso mostra que, com esforço, o Beancount pode ser adaptado para atender a requisitos de relatórios específicos. Pequenas empresas em jurisdições com requisitos simples (contabilidade de caixa ou regime de competência básico) podem certamente manter livros no Beancount e produzir demonstrações financeiras para declarações de impostos. No entanto, recursos como cronogramas de depreciação ou amortização podem exigir que você escreva seus próprios lançamentos ou use um plugin (os plugins de depreciação de Dave Stephens, por exemplo, ajudam a automatizar isso). Não há uma GUI para "clicar em depreciar ativo" como em alguns softwares de contabilidade; você codificaria a depreciação como transações (o que, de certa forma, a desmistifica – tudo é um lançamento que você pode inspecionar).

Na prática, muitos proprietários de pequenas empresas com orientação tecnológica têm usado o Beancount (ou Ledger/hledger) se preferem controle e transparência em vez da conveniência do QuickBooks. Uma discussão no Reddit observou que, para contabilidade padrão de pequenas empresas com um volume limitado de transações, o Beancount funciona bem. O fator limitante é geralmente o nível de conforto – se o proprietário da empresa (ou seu contador) se sente confortável com uma ferramenta baseada em texto. Uma vantagem é o custo: o Beancount é gratuito, enquanto o software de contabilidade pode ser caro para uma pequena empresa. Por outro lado, a falta de suporte oficial e a natureza "faça você mesmo" significam que é mais adequado para aqueles que são tanto o proprietário da empresa quanto um pouco inclinados tecnicamente. Para freelancers ou empresários individuais com habilidades de programação, o Beancount pode ser uma escolha atraente para gerenciar finanças sem depender de serviços de contabilidade em nuvem.

Abordagens híbridas também são possíveis: algumas pequenas empresas usam um sistema oficial para faturas ou folha de pagamento, mas importam periodicamente os dados para o Beancount para análise e arquivamento. Dessa forma, elas obtêm o melhor dos dois mundos – conformidade e facilidade para as operações diárias, além do poder do Beancount para uma visão consolidada.

Em resumo, o Beancount pode lidar com a contabilidade de pequenas empresas, desde que o usuário esteja disposto a gerenciar manualmente coisas que softwares comerciais automatizam. Ele garante um alto grau de transparência – você entende profundamente seus livros porque os está escrevendo – e para um usuário diligente, ele pode produzir livros impecáveis. Tanto usuários pessoais quanto empresariais se beneficiam dos pontos fortes do Beancount: um motor contábil confiável, trilha de auditoria completa e flexibilidade para se adaptar a cenários únicos (via scripts e plugins). Seja para rastrear um orçamento doméstico ou as finanças de uma startup, o Beancount oferece um conjunto de ferramentas para fazê-lo com precisão e abertura.

Comunidade e Atividade de Desenvolvimento

Beancount possui uma comunidade dedicada e uma história de desenvolvimento que reflete sua natureza de código aberto, nicho, mas apaixonada. Abaixo estão os pontos chave sobre sua comunidade, mantenedores e projetos relacionados:

  • Manutenção do Projeto: O autor principal do Beancount é Martin Blais, que iniciou o projeto por volta de 2007 e o conduziu por múltiplas versões. O desenvolvimento por muito tempo foi em grande parte um esforço de um homem só (além das contribuições da comunidade de patches). A filosofia de Martin era construir uma ferramenta contábil "útil para mim primeiro, bem como para outros, da maneira mais simples e durável". Essa motivação pessoal manteve o projeto funcionando como um trabalho de amor. A partir de 2025, Martin Blais ainda é o mantenedor principal (seu nome aparece nos commits e ele responde a perguntas na lista de discussão/rastreador de problemas), mas o ecossistema em torno do Beancount tem muitos outros contribuidores em seus respectivos projetos.

  • GitHub e Repositórios: O código-fonte está hospedado no GitHub sob o repositório beancount/beancount. O projeto é licenciado sob GPL-2.0 e atraiu um número modesto de contribuidores ao longo dos anos. Em meados de 2024, o Beancount Versão 3 foi oficialmente lançado como a nova ramificação estável. Este lançamento envolveu a separação de alguns componentes: por exemplo, o repositório beangulp (para importadores) e o repositório beanquery (para a ferramenta de consulta) fazem parte da organização beancount no GitHub agora, mantidos de forma um tanto independente. O repositório principal do Beancount foca no motor contábil principal e no analisador de arquivos. A partir de 2025, o GitHub do Beancount mostra discussões ativas de problemas e algum desenvolvimento contínuo – embora não em alto volume, problemas e pull requests chegam gradualmente, e atualizações ocasionais são feitas para corrigir bugs ou refinar recursos.

  • Desenvolvimento do Fava: Fava, a interface web, começou como um projeto separado (criado por Dominic Aumayr, que o registrou em 2016). Ele tem sua própria comunidade de contribuidores e também está no GitHub sob beancount/fava. Os mantenedores e contribuidores do Fava (por exemplo, Jakob Schnetz, Stefan Otte e outros nos últimos anos) têm melhorado ativamente a interface, com lançamentos a cada poucos meses. O chat Gitter do Fava (linkado na documentação do Fava) e o rastreador de problemas do GitHub são locais onde usuários e desenvolvedores discutem novos recursos ou bugs. O projeto acolhe contribuições, evidenciado por uma nota no CHANGELOG agradecendo a múltiplos membros da comunidade por seus PRs. O alinhamento próximo do Fava com o desenvolvimento do Beancount (como a rápida adição de suporte para Beancount v3 e nova sintaxe beanquery) indica boa colaboração entre os dois projetos.

  • Listas de Discussão e Fóruns: Beancount tem uma lista de discussão oficial (anteriormente no Google Groups, intitulada "Beancount" ou às vezes discutida na lista geral do Ledger). Esta lista de discussão é um tesouro de conhecimento – usuários fazem perguntas sobre como modelar certos cenários, relatam bugs e compartilham dicas. Martin Blais é conhecido por responder na lista de discussão com explicações detalhadas. Além disso, a comunidade mais ampla de Contabilidade em Texto Simples se sobrepõe fortemente. A lista de discussão do Ledger CLI frequentemente também aborda perguntas sobre Beancount, e há um fórum em plaintextaccounting.org e um subreddit r/plaintextaccounting onde tópicos sobre Beancount surgem frequentemente. Usuários nessas plataformas discutem comparações, compartilham configurações pessoais e ajudam recém-chegados. O tom geral da comunidade é muito cooperativo – usuários do Beancount frequentemente ajudam usuários do Ledger e vice-versa, reconhecendo que todas essas ferramentas têm objetivos semelhantes.

  • Grupos de Chat: Além das listas de discussão, existem canais de chat como o Slack/Discord de Contabilidade em Texto Simples (organizado pela comunidade) e o Gitter do Fava. Estes são menos formais, maneiras mais em tempo real de obter ajuda ou discutir recursos. Por exemplo, alguém pode entrar no Slack para perguntar se alguém tem um importador para um banco específico. Há também um canal Matrix/IRC (historicamente #ledger ou #beancount no IRC) onde alguns usuários de longa data ficam ociosos. Embora não tão populosos quanto as comunidades de software mainstream, esses canais têm pessoas experientes que frequentemente podem responder a perguntas contábeis obscuras.

  • Contribuidores e Membros Chave da Comunidade: Alguns nomes se destacam na comunidade Beancount:

    • "Redstreet" (Red S): Um contribuidor prolífico que escreveu muitos plugins (como beancount-balexpr, sellgains e outros) e frequentemente oferece suporte. Ele também mantém um conjunto de scripts de importação e uma ferramenta chamada bean-download para buscar extratos.
    • Vasily M (Evernight): Autor de alguns frameworks de importação e plugins como beancount-valuation, e contribuições para o Fava relacionadas a investimentos.
    • Stefano Zacchiroli (zack): Um desenvolvedor Debian que criou o beancount-mode para Emacs e seu próprio repositório de plugins. Ele também defendeu a contabilidade em texto simples em ambientes acadêmicos.
    • Simon Michael: Embora seja principalmente o líder do hledger, ele mantém o plaintextaccounting.org que inclui Beancount. Essa polinização cruzada ajudou a levar o Beancount à atenção dos usuários de Ledger/hledger.
    • Frank hell (Tarioch): Contribuidor das Ferramentas Tarioch Beancount, um grande conjunto de importadores e buscadores de preços, especialmente para instituições europeias.
    • Siddhant Goel: Um membro da comunidade que escreve blogs sobre Beancount (por exemplo, seu guia sobre como migrar para a v3) e mantém alguns importadores. Suas postagens de blog ajudaram muitos novos usuários.

    Esses e muitos outros contribuem com código, documentação e ajuda em fóruns, tornando o ecossistema vibrante apesar de seu tamanho relativamente pequeno.

  • Estatísticas do GitHub e Forks: O repositório do Beancount no GitHub acumulou algumas centenas de estrelas (indicando interesse) e forks. Forks notáveis do próprio Beancount são raros – não há um fork divergente bem conhecido que tente ser "Beancount, mas com o recurso X". Em vez disso, quando os usuários queriam algo diferente, eles escreviam um plugin ou usavam outra ferramenta (como hledger) em vez de fazer um fork do Beancount. Poderíamos considerar o hledger uma espécie de fork do Ledger (não do Beancount) e o próprio Beancount uma re-imaginação independente das ideias do Ledger, mas dentro do repositório do Beancount não há grandes projetos "ramificados". A comunidade geralmente se uniu em torno do repositório principal e o estendeu através da interface de plugins, em vez de fragmentar a base de código. Isso provavelmente ocorre porque Martin Blais estava aberto a contribuições externas (sua documentação até tem uma seção reconhecendo contribuições e módulos externos) e a arquitetura de plugins tornou desnecessário manter um fork para a maioria dos novos recursos.

  • Recursos da Comunidade: Existem vários recursos de alta qualidade para aprender e usar Beancount criados pela comunidade:

    • A documentação do Beancount no GitHub Pages (e os Google Docs de origem que Martin mantém) – muito abrangente, incluindo teoria sobre contabilidade e como o Beancount a implementa.

    • Numerosas postagens de blog e notas pessoais – por exemplo, LWN.net teve um artigo "Contando feijões... com Beancount", e muitos blogs pessoais (conforme listado na seção "Blog Posts" do Awesome Beancount) compartilham experiências e dicas. Estes ajudam a construir conhecimento e atrair novos usuários.

    • Palestras e apresentações: Beancount foi apresentado em meetups e conferências (por exemplo, uma palestra PyMunich 2018 sobre como gerenciar finanças com Python/Beancount). Tais palestras introduzem a ferramenta a públicos mais amplos e frequentemente despertam interesse em fóruns como o Hacker News.

  • Projetos Relacionados Notáveis: Além do Fava, alguns outros projetos relacionados ao Beancount têm suas próprias comunidades:

    • Site Plain Text Accounting – mantido por Simon Michael, ele agrega informações sobre todas essas ferramentas e possui um fórum onde as pessoas compartilham o uso de várias ferramentas, incluindo Beancount.
    • Integração de ferramentas financeiras: Alguns usuários integram Beancount com ferramentas de business intelligence ou bancos de dados. Por exemplo, um tópico do Google Groups detalha o uso de PostgreSQL com dados do Beancount via funções personalizadas. Embora não seja mainstream, isso mostra o espírito experimental da comunidade em expandir as capacidades do Beancount (por exemplo, para lidar com conjuntos de dados muito grandes ou consultas complexas além das integradas).

Em resumo, a comunidade do Beancount, embora menor do que as de grandes projetos de código aberto, é altamente engajada e conhecedora. O projeto desfruta de um fluxo constante de melhorias e canais de suporte muito úteis. O espírito colaborativo (compartilhamento de importadores, escrita de plugins, resposta a perguntas) significa que um recém-chegado em 2025 pode contar com um extenso trabalho anterior e a sabedoria da comunidade para configurar seu sistema contábil. O desenvolvimento é ativo no sentido do ecossistema – lançamentos do Fava, desenvolvimento de plugins, etc. – mesmo que as mudanças no núcleo sejam mais ocasionais. O crescimento do ecossistema (evidenciado pela lista Awesome Beancount de dezenas

Desenvolvimentos Recentes e Recursos Futuros

Em 2025, o ecossistema Beancount testemunhou desenvolvimentos significativos nos últimos dois anos, e há discussões em andamento sobre aprimoramentos futuros. Aqui estão alguns desenvolvimentos recentes notáveis e um vislumbre do que pode estar por vir:

  • Lançamento do Beancount 3.0 (2024): Após um longo período em que o Beancount 2.x foi o padrão, a versão 3 foi oficialmente lançada em meados de 2024. Este foi um marco importante porque a v3 representa uma simplificação e modernização da base de código. Martin Blais havia imaginado a v3 como uma oportunidade para “reorganizar e simplificar” ainda mais o sistema. Embora inicialmente se pensasse que seria uma grande reescrita, na prática a atualização para os usuários não foi muito disruptiva. As principais mudanças foram internas: um novo parser, algumas melhorias de desempenho e a extração de componentes opcionais do núcleo. O lançamento foi implementado gradualmente (a v3 estava em beta desde 2022, mas em julho de 2024 tornou-se a versão estável recomendada). Usuários como Siddhant Goel relataram que a migração de 2.x para 3.x foi “em grande parte sem intercorrências”, com apenas algumas mudanças no fluxo de trabalho.

  • Modularização – ferramentas movidas para pacotes separados: Uma das grandes mudanças com o Beancount 3 é que muitas ferramentas que antes residiam no repositório monolítico foram separadas. Por exemplo, o bean-query agora é fornecido pelo pacote beanquery, e o beancount.ingest foi substituído pelo pacote beangulp. Comandos como bean-extract e bean-identify (para importações) foram removidos do núcleo do Beancount. Em vez disso, a filosofia é usar scripts autônomos para importação. Isso significa que, se você atualizar para a v3, você instalará o beangulp e executará scripts de importação (cada importador é basicamente um pequeno programa) em vez de ter um arquivo de configuração central bean-extract. Da mesma forma, as consultas são executadas via beanquery, que pode ser instalado e atualizado independentemente do núcleo do Beancount. Essa abordagem modular foi projetada para facilitar a manutenção e incentivar as contribuições da comunidade. Também reduziu o tamanho do núcleo do Beancount, de modo que o núcleo se concentra puramente na lógica de parsing e contabilidade, enquanto a funcionalidade auxiliar pode evoluir separadamente. Do ponto de vista do usuário, após a atualização, é preciso ajustar os comandos (por exemplo, usar bean-query do beanquery, ou usar o Fava que já abstrai isso). O changelog do Fava observa explicitamente essas mudanças: o Fava agora depende de beanquery e beangulp, e lida com fluxos de trabalho de importação de forma diferente para Beancount 3 vs 2.

  • Melhorias de Desempenho: O desempenho foi uma das motivações para revisitar o design do Beancount. O plano da v3 (conforme descrito no documento “V3 goals” de Martin) incluía a otimização do parser e, possivelmente, tornar o processo de carregamento mais rápido e menos intensivo em memória. Em 2025, algumas dessas melhorias se materializaram. Anedoticamente, usuários com livros-razão muito grandes (dezenas de milhares de transações, ou muitas negociações de ações) relataram melhor desempenho com a versão mais recente. Por exemplo, um usuário que lidava com “transações de microinvestimento” e enfrentava problemas de desempenho observou essas preocupações no Google Group – esse tipo de feedback provavelmente informou a v3. O novo parser é mais eficiente e escrito de forma mais clara, o que poderia ser estendido no futuro. Além disso, o Fava 1.29 mudou para um mecanismo de monitoramento de arquivos mais eficiente (usando a biblioteca watchfiles) para melhorar a capacidade de resposta quando o livro-razão muda. Olhando para o futuro, a comunidade pode explorar o parsing incremental (apenas reprocessar as partes alteradas do arquivo em vez de tudo) para lidar com livros-razão grandes mais rapidamente – isso foi sugerido na documentação como a ideia de “servidor Beancount / escrituração incremental”.

  • Aprimoramentos no Rastreamento de Investimentos: Tem havido um trabalho contínuo para melhorar os relatórios de investimentos e portfólio. Por exemplo, o tratamento do custo médio versus FIFO foi amplamente discutido. Embora o Beancount imponha a correspondência de lotes, alguns usuários preferem o custo médio para certas jurisdições. Existe uma proposta e discussão sobre tornar a escrituração do custo base mais flexível (possivelmente via um plugin ou opção). Em 2025, não há uma opção embutida para custo médio, mas a base na v3 (o redesenho da escrituração) facilita a implementação por plugins. Um plugin da comunidade “Gains Minimizer” foi lançado, que pode sugerir quais lotes vender para minimizar impostos, mostrando o tipo de ferramenta avançada que está sendo construída em torno de investimentos. O Fava também adicionou recursos como uma extensão de resumo de portfólio (com cálculos de taxa de retorno). Em termos de recursos futuros, pode-se esperar mais neste domínio: possivelmente sugestões automatizadas de rebalanceamento de portfólio ou análise de risco, provavelmente como ferramentas externas que leem dados do Beancount (já que os dados estão todos lá).

  • Novos Plugins e Extensões: O ecossistema de plugins cresce continuamente. Adições notáveis recentes incluem:

    • Ferramentas de relatório de orçamento – por exemplo, um simples relatório de orçamento CLI se alguém não usar a interface do usuário do Fava.
    • Criptografia e segurança – a configuração fava-encrypt, permitindo que o Fava seja hospedado online com o livro-razão criptografado em repouso, foi introduzida, abordando a preocupação de auto-hospedar suas finanças.
    • Plugins de qualidade de vida – como autobean-format (um novo formatador que pode lidar com mais casos extremos analisando e reimprimindo o arquivo), e integração beancheck em editores (flymake para Emacs).

    Olhando para o futuro, a comunidade provavelmente continuará preenchendo lacunas por meio de plugins. Por exemplo, podemos ver mais plugins relacionados a impostos (alguns usuários compartilharam scripts para coisas como cálculo de wash sales ou relatórios fiscais locais específicos).

  • Potenciais Recursos Futuros: Com base nas discussões no rastreador de problemas e na lista de e-mails, algumas ideias estão no horizonte (embora não garantidas):

    • Resolução de Tempo: Atualmente, o Beancount rastreia apenas datas (sem timestamps) para transações. Houve perguntas sobre a adição de tempo (para negociações de ações ou ordenação de transações do mesmo dia). Martin Blais decidiu explicitamente que timestamps sub-diários estavam fora do escopo para manter as coisas simples. É improvável que isso mude em breve – portanto, as próximas versões provavelmente não adicionarão resolução de tempo, mantendo a postura de que, se você precisar de tempo, você o incorpora na narração ou em uma conta.
    • Edição GUI Aprimorada: O Fava está continuamente melhorando suas capacidades de edição. Uma possibilidade é um editor web mais completo (com sugestão automática, talvez uma entrada baseada em formulário para novas transações). A base usando tree-sitter no editor do Fava foi lançada. Podemos ver o Fava se tornar não apenas um visualizador, mas um editor mais poderoso, reduzindo a necessidade de abrir um editor de texto para muitas tarefas.
    • Melhor suporte a múltiplos livros-razão: Alguns usuários mantêm vários arquivos Beancount (para diferentes entidades ou para separar finanças pessoais de negócios). Atualmente, incluir arquivos é possível, mas tinha limitações (plugins em arquivos incluídos, etc.). Um plugin recente autobean.include foi criado para incluir com segurança livros-razão externos. No futuro, podemos ver suporte de primeira classe para configurações de múltiplos arquivos – talvez um conceito de “projeto” Beancount com vários arquivos (isso é sugerido por recursos como a configuração beancount.mainBeanFile da extensão VSCode). Isso ajudaria aqueles que executam contabilidade de múltiplas entidades ou desejam modularizar seu livro-razão.
    • Computação em Tempo Real ou Incremental: À medida que os livros-razão crescem, a capacidade de recalcular relatórios rapidamente torna-se importante. Existe uma ideia de um servidor Beancount que permanece em execução e atualiza os resultados à medida que as transações mudam. Isso poderia se manifestar como uma otimização no Fava ou um

Compreendendo Contas a Receber e a Pagar no Beancount

· 3 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Olá a todos! Na postagem de blog de hoje, vamos mergulhar no mundo do Beancount, uma ferramenta de contabilidade de dupla entrada que é amada por muitos por sua simplicidade e poder. Mais especificamente, vamos falar sobre dois conceitos-chave: Contas a Receber e Contas a Pagar.

Compreender esses termos é crucial para usar o Beancount (ou qualquer sistema de contabilidade de dupla entrada) de forma eficaz. Mas não se preocupe se você é um iniciante - vamos detalhar tudo, passo a passo!

Contas a Receber e a Pagar: O Básico

2023-05-30-receiveable-and-payable

Em contabilidade, "contas a receber" e "contas a pagar" são termos usados para rastrear dinheiro que é devido. "Contas a receber" refere-se ao dinheiro que outros lhe devem, enquanto "contas a pagar" refere-se ao dinheiro que você deve a outros.

Vamos a um exemplo:

  1. Contas a Receber (C/R): Suponha que você possua uma livraria e um cliente compre um livro a crédito. O dinheiro que ele lhe deve pelo livro é uma conta a receber.

  2. Contas a Pagar (C/P): Por outro lado, imagine que você peça um novo conjunto de livros a uma editora, mas não pague por eles adiantado. O dinheiro que você deve à editora é uma conta a pagar.

No Beancount, estes são tipicamente rastreados através de contas correspondentes. O principal benefício aqui é que ele lhe fornece uma imagem clara e precisa de sua posição financeira a qualquer momento.

Configurando Contas a Receber e a Pagar no Beancount

A estrutura do seu arquivo Beancount pode ser tão simples ou tão complexa quanto você precisar. Para contas a receber e a pagar, você provavelmente desejará criar contas separadas nas seções de Ativos e Passivos.

Aqui está um exemplo simples:

1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:AccountsPayable

Rastreando Transações

Lado do Recebedor

Após configurar suas contas, você pode rastrear transações que envolvem contas a receber e a pagar. Vejamos um exemplo:

2023-05-29 * "Sold books to customer on credit"
Assets:AccountsReceivable 100 USD
Income:BookSales -100 USD

Aqui, você está adicionando $100 às suas contas a receber porque um cliente lhe deve esse valor. Simultaneamente, você está reduzindo sua receita pelo mesmo valor para manter o equilíbrio (já que você ainda não recebeu o dinheiro).

Quando o cliente finalmente pagar, você registrará assim:

2023-06-01 * "Received payment from customer"
Assets:Banco:Poupança 100 USD
Assets:AccountsReceivable -100 USD

Lado do Pagador

O mesmo princípio se aplica às contas a pagar, mas com sinais invertidos:

2023-05-30 * "Bought books from publisher on credit"
Liabilities:AccountsPayable 200 USD
Expenses:BookPurchases -200 USD

E quando você quitar sua dívida:

2023-06-02 * "Paid off debt to publisher"
Liabilities:AccountsPayable -200 USD
Assets:Banco:ContaCorrente 200 USD

Conclusão

Contas a receber e a pagar estão no cerne de qualquer sistema contábil. Ao rastreá-las com precisão, você obtém uma compreensão abrangente de sua saúde financeira.

Este é apenas um ponto de partida, e o Beancount é capaz de muito mais. Espero que esta postagem de blog ajude a esclarecer esses conceitos importantes. Como sempre, boa contabilidade!

Desvendando um Livro Contábil Beancount: Um Estudo de Caso para Contabilidade Empresarial

· 3 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Na postagem de blog de hoje, vamos desvendar um livro contábil Beancount para empresas, o que o ajudará a entender as complexidades deste sistema de contabilidade de dupla entrada em texto simples.

Desvendando um Livro Contábil Beancount: Um Estudo de Caso para Contabilidade Empresarial

Vamos começar com o código primeiro:

2023-05-22-business-template

1970-01-01 open Assets:Bank:Mercury
1970-01-01 open Assets:Crypto

1970-01-01 open Equity:Bank:Chase

1970-01-01 open Income:Stripe
1970-01-01 open Income:Crypto:ETH

1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:COGS:Contabo
1970-01-01 open Expenses:COGS:AmazonWebServices

1970-01-01 open Expenses:BusinessExpenses
1970-01-01 open Expenses:BusinessExpenses:ChatGPT

2023-05-14 * "CONTABO.COM" "Mercury Checking ••1234"
Expenses:COGS:Contabo 17.49 USD
Assets:Bank:Mercury -17.49 USD

2023-05-11 * "Amazon Web Services" "Mercury Checking ••1234"
Expenses:COGS:AmazonWebServices 14490.33 USD
Assets:Bank:Mercury -14490.33 USD

2023-03-01 * "STRIPE" "Mercury Checking ••1234"
Income:Stripe -21230.75 USD
Assets:Bank:Mercury 21230.75 USD

2023-05-18 * "customer_182734" "0x5190E84918FD67706A9DFDb337d5744dF4EE5f3f"
Assets:Crypto -19 ETH {1,856.20 USD}
Income:Crypto:ETH 19 ETH @@ 35267.8 USD

Entendendo o Código

  1. Abertura de Contas: O código começa abrindo uma série de contas em 01-01-1970. Estas incluem uma mistura de contas de ativo (Assets:Bank:Mercury e Assets:Crypto), uma conta de patrimônio líquido (Equity:Bank:Chase), contas de receita (Income:Stripe e Income:Crypto:ETH), e contas de despesa (Expenses:COGS, Expenses:COGS:AmazonWebServices, Expenses:BusinessExpenses e Expenses:BusinessExpenses:ChatGPT).

  2. Transações: Em seguida, ele prossegue para registrar uma série de transações entre 01-03-2023 e 18-05-2023.

    • A transação de 14-05-2023 representa um pagamento de $17.49 para CONTABO.COM da conta Mercury Checking ••1234. Isso é registrado como uma despesa (Expenses:COGS:Contabo) e uma dedução correspondente da conta Assets:Bank:Mercury.

    • Da mesma forma, a transação de 11-05-2023 representa um pagamento de $14490.33 para Amazon Web Services da mesma conta bancária. Isso é registrado em Expenses:COGS:AmazonWebServices.

    • A transação de 01-03-2023 mostra a receita da STRIPE sendo depositada na conta Mercury Checking ••1234, totalizando $21230.75. Isso é registrado como receita (Income:Stripe) e uma adição à conta bancária (Assets:Bank:Mercury).

    • A última transação de 18-05-2023 representa uma transação de criptomoeda envolvendo 19 ETH de um cliente. Isso é rastreado em Assets:Crypto e Income:Crypto:ETH. O {1,856.20 USD} mostra o preço do ETH no momento da transação, enquanto o @@ 35267.8 USD especifica o valor total da transação de 19 ETH.

Em todas as transações, o princípio da contabilidade de dupla entrada é mantido, garantindo que a equação Ativos = Passivos + Patrimônio Líquido seja sempre verdadeira.

Considerações Finais

Este livro contábil Beancount oferece um sistema simples, porém robusto, para rastrear transações financeiras. Como visto na transação final, o Beancount é flexível o suficiente para contabilizar ativos não tradicionais, como criptomoedas, o que é um testemunho de sua utilidade em nosso cenário financeiro cada vez mais digital.

Esperamos que esta análise o ajude a entender melhor a estrutura e os recursos do Beancount, seja você um contador experiente ou um iniciante tentando controlar suas finanças pessoais. Fique atento à nossa próxima postagem de blog, onde nos aprofundaremos em operações avançadas do Beancount.

Beancount: Folha de Consulta Rápida

· 2 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Exemplo de Nome de Conta

Assets:US:BofA:Checking

cheatsheet-en

Tipos de Conta

Assets          +
Liabilities -
Income -
Expenses +
Equity -

Commodities

CNY, EUR, CAD, AUD
GOOG, AAPL, RBF1005
HOME_MAYST, AIRMILES
HOURS

Diretivas

Sintaxe geral

YYYY-MM-DD <Directive> <Parameters...>

Abertura e Fechamento de Contas

2001-05-29 open Expenses:Restaurant
2001-05-29 open Assets:Checking USD,EUR ; Restrições de moeda

2015-04-23 close Assets:Checking

Declaração de Commodities (Opcional)

1998-07-22 commodity AAPL
nome: "Apple Computer Inc."

Preços

2015-04-30 price AAPL   125.15 CNY
2015-05-30 price AAPL 130.28 CNY

Notas

2013-03-20 note Assets:Checking "Ligado para perguntar sobre o reembolso"

Documentos

2013-03-20 document Assets:Checking "caminho/para/extrato.pdf"

Transações

2015-05-30 * "Alguma narração sobre esta transação"
Liabilities:CreditCard -101.23 CNY
Expenses:Restaurant 101.23 CNY

2015-05-30 ! "Cable Co" "Phone Bill" #tag ˆlink
id: "TW378743437" ; Metadados
Expenses:Home:Phone 87.45 CNY
Assets:Checking ; Você pode deixar um valor de fora

Lançamentos

  ...    123.45 USD                             Simples
... 10 GOOG {502.12 USD} Com custo por unidade
... 10 GOOG {{5021.20 USD}} Com custo total
... 10 GOOG {502.12 # 9.95 USD} Com ambos os custos
... 1000.00 USD @ 1.10 CAD Com preço por unidade
... 10 GOOG {502.12 USD} @ 1.10 CAD Com custo e preço
... 10 GOOG {502.12 USD, 2014-05-12} Com data
! ... 123.45 USD ... Com sinalizador

Asserções de Saldo e Preenchimento

; Afirma o valor apenas para a moeda fornecida:
2015-06-01 balance Liabilities:CreditCard -634.30 CNY

; Inserção automática de transação para cumprir a seguinte asserção:
2015-06-01pad Assets:Checking Equity:Opening-Balances

Eventos

2015-06-01 event "localização" "Nova Iorque, EUA"
2015-06-30 event "endereço" "123 May Street"

Opções

option "title" "Meu Livro Razão Pessoal"

Outros

pushtag #trip-to-peru
...
poptag #trip-to-peru
; Comentários começam com um ponto e vírgula

A Magia da Contabilidade em Texto Simples com Beancount

· 6 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Descubra a Magia da Contabilidade em Texto Simples com Beancount

Beancount.io banner

Introdução

2023-04-18-introduction-to-beancount

Bem-vindo a um mundo onde a contabilidade não é mais uma tarefa assustadora. Hoje, apresentamos o Beancount, uma ferramenta de contabilidade em texto simples poderosa, flexível e intuitiva. O Beancount permite que você assuma o controle de suas finanças, fornecendo uma abordagem transparente e direta para gerenciar seu dinheiro.

Neste guia abrangente, vamos nos aprofundar nos conceitos básicos do Beancount, explicar seus conceitos centrais e guiá-lo por seus recursos simples, mas poderosos. Ao final deste blog, você terá uma compreensão sólida do Beancount e estará pronto para começar a usá-lo para organizar e analisar sua vida financeira.

O que é Beancount?

Beancount é um sistema de contabilidade em texto simples de código aberto criado por Martin Blais. Inspirado no sistema Ledger de John Wiegley, o Beancount visa fornecer um método robusto e confiável para gerenciar finanças pessoais e de pequenas empresas usando arquivos de texto simples. Com o Beancount, você pode rastrear suas receitas, despesas, investimentos e muito mais com facilidade.

Por que Beancount?

A contabilidade em texto simples oferece várias vantagens sobre os sistemas de contabilidade tradicionais baseados em planilhas ou software:

  • Transparência: Os arquivos Beancount são legíveis por humanos, tornando fácil entender e auditar seus dados financeiros.
  • Flexibilidade: O Beancount pode ser facilmente personalizado para atender às suas necessidades específicas, e você pode usar seu editor de texto e sistema de controle de versão favoritos para gerenciar seus dados financeiros.
  • Portabilidade: Seus dados financeiros podem ser acessados em qualquer dispositivo, e é fácil transferir entre sistemas ou compartilhar com outras pessoas.
  • À prova de futuro: Arquivos de texto simples são universalmente compatíveis, garantindo que seus dados financeiros permanecerão acessíveis, mesmo com a evolução da tecnologia.

Conceitos Centrais do Beancount

Para usar o Beancount de forma eficaz, é crucial entender seus conceitos centrais:

  • Transações: Eventos financeiros, como receitas, despesas ou transferências entre contas, são registrados como transações.
  • Contas: As transações envolvem uma ou mais contas, como ativos, passivos, receitas ou despesas.
  • Contabilidade de partidas dobradas: O Beancount impõe a contabilidade de partidas dobradas, garantindo que cada transação tenha débitos e créditos equilibrados.
  • Diretivas: O Beancount usa um conjunto de diretivas para definir transações, aberturas de contas e outros eventos financeiros.

Começando com Beancount

Para começar a usar o Beancount, siga estes passos simples:

  • Instale o Beancount: Instale o Beancount em seu sistema usando as instruções de instalação fornecidas para seu sistema operacional.
  • Crie seu arquivo Beancount: Crie um novo arquivo de texto simples com a extensão .beancount (por exemplo, minhas_financas.beancount).
  • Defina suas contas: Use a diretiva "open" para definir as contas que você usará em suas transações.
  • Registre transações: Use a diretiva "txn" para registrar suas transações financeiras.

Ou simplesmente cadastre-se em https://beancount.io. Aqui estão alguns exemplos de contabilidade em texto simples -

Exemplo 1: Transação Básica

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

Neste exemplo, abrimos duas contas, Assets:Checking e Expenses:Groceries. Em 10 de abril de 2023, registramos uma transação de compra de mantimentos no valor de US50.Atransac\ca~oreduzosaldodeAssets:CheckingemUS 50. A transação reduz o saldo de Assets:Checking em US 50 (débito) e aumenta o saldo de Expenses:Groceries em US$ 50 (crédito).

Exemplo 2: Transação de Receita e Despesa

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

Neste exemplo, abrimos três contas: Assets:Checking, Income:Salary e Expenses:Rent. Em 5 de abril de 2023, registramos uma transação de pagamento de salário de US2000.Atransac\ca~oaumentaosaldodeAssets:CheckingemUS 2000. A transação aumenta o saldo de Assets:Checking em US 2000 (crédito) e diminui o saldo de Income:Salary em US2000(deˊbito).Em6deabrilde2023,registramosumatransac\ca~odepagamentodealugueldeUS 2000 (débito). Em 6 de abril de 2023, registramos uma transação de pagamento de aluguel de US 1000. A transação reduz o saldo de Assets:Checking em US1000(deˊbito)eaumentaosaldodeExpenses:RentemUS 1000 (débito) e aumenta o saldo de Expenses:Rent em US 1000 (crédito).

Exemplo 3: Transferência Entre Contas

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

Neste exemplo, abrimos duas contas: Assets:Checking e Assets:Savings. Em 15 de abril de 2023, registramos uma transação para transferir US500dacontacorrenteparaacontapoupanc\ca.Atransac\ca~oreduzosaldodeAssets:CheckingemUS 500 da conta corrente para a conta poupança. A transação reduz o saldo de Assets:Checking em US 500 (débito) e aumenta o saldo de Assets:Savings em US$ 500 (crédito).

Esses exemplos ilustram os conceitos básicos do sistema de contabilidade de partidas dobradas do Beancount. Ao registrar corretamente as transações, os usuários podem manter registros precisos de suas atividades financeiras e gerar relatórios para obter insights sobre sua situação financeira.

Gerando Relatórios e Analisando Dados

O Beancount vem com um conjunto de ferramentas poderosas para gerar relatórios financeiros, incluindo balanços patrimoniais, demonstrações de resultados e muito mais. Você também pode usar o Fava, uma interface de usuário baseada na web para o Beancount, para visualizar e interagir com seus dados financeiros. O https://beancount.io é construído sobre o Fava com licença MIT.

Conclusão

Abrace o poder e a simplicidade da contabilidade em texto simples com o Beancount. Ao entender seus conceitos centrais e seguir os passos descritos neste guia, você estará no caminho certo para gerenciar suas finanças pessoais ou de pequenas empresas com facilidade e precisão. À medida que você se sentir mais confortável com o Beancount, poderá explorar recursos avançados e personalizações para adaptar o sistema às suas necessidades exclusivas.

Seja para rastrear seus gastos, planejar o futuro ou obter insights sobre seus hábitos financeiros, o Beancount oferece a flexibilidade e a transparência necessárias para atingir seus objetivos. Com sua abordagem amigável, o Beancount tem o potencial de revolucionar a maneira como você gerencia suas finanças e capacitá-lo a assumir o controle de seu futuro financeiro.

Agora que você tem uma base sólida em Beancount, é hora de embarcar em sua jornada de contabilidade em texto simples. Diga adeus às planilhas complicadas e ao software confuso, e dê as boas-vindas ao mundo do Beancount. Boa contabilidade!

Introdução ao Beancount.io

· 5 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Por Que a Contabilidade Moderna Importa

Ainda gerencia seus investimentos com planilhas? Embora as planilhas sejam versáteis, elas podem se tornar complicadas e propensas a erros à medida que sua carteira de investimentos cresce. Apresentamos o Beancount.io – uma plataforma de rastreamento de investimentos sofisticada e fácil de usar, projetada especificamente para gerenciar carteiras de ações e criptomoedas. Construído com engenheiros e minimalistas financeiros em mente, o Beancount.io combina recursos poderosos com uma interface intuitiva para otimizar sua experiência de rastreamento de investimentos.

2019-09-07-introduction-to-beancount

Expenses

Income Statement

Balance Sheet

Contabilidade de Partidas Dobradas: A Base da Precisão

Beancount.io é construído sobre os princípios da contabilidade de partidas dobradas – uma metodologia comprovada pelo tempo, usada por instituições financeiras em todo o mundo. Este sistema garante precisão matemática através de um conceito simples, mas poderoso: cada transação financeira deve equilibrar-se perfeitamente.

Na contabilidade de partidas dobradas, cada transação requer pelo menos duas entradas – um débito (+) e um crédito (-) – em diferentes contas. Este sistema de verificação integrado torna virtualmente impossível registrar transações desequilibradas, garantindo que seus registros financeiros permaneçam precisos e confiáveis.

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

Como você pode ver nos dois exemplos acima, toda transação deve satisfazer a equação contábil.

Assets = Liabilities + Equity(aka Net Assets)

Usamos a sintaxe Beancount de Martin Blais e o projeto web Fava de Jakob Schnitzer para construir este site. E ele irá alertá-lo se alguma transação tiver pernas que não somam zero.

Error Alert

Agora você entende como impomos a correção do livro-razão. Mas você pode perguntar o que são essas "contas"?

Compreendendo as Contas: A Analogia do Balde de Água

Pense em suas contas financeiras como um sistema de baldes de água interconectados, onde o dinheiro flui como água entre eles. Essa analogia torna a contabilidade de partidas dobradas intuitiva: quando você transfere dinheiro de uma conta para outra, é como derramar água de um balde para outro – a quantidade total de água (dinheiro) no sistema permanece constante.

Beancount.io introduz cinco tipos de contas.

  1. Receita — Seu valor é sempre negativo ou a débito. Isso ocorre porque você está ganhando dinheiro, e então o dinheiro está debitando da conta de "Receita" e creditando em seus "Ativos".
  2. Despesas — Seu valor é sempre positivo ou a crédito. Isso ocorre porque você está gastando dinheiro, e o dinheiro está fluindo dos "Ativos" ou "Passivos" para as "Despesas".
  3. Passivos — Seu valor é positivo ou zero. Suas dívidas de cartão de crédito são um bom exemplo, que aumentam e diminuem em ciclos.
  4. Ativos — Seu valor é positivo ou zero. Seu dinheiro ou casas sempre valem alguns preços.
  5. Patrimônio Líquido — Seus ativos líquidos. O sistema calculará automaticamente para você. Patrimônio Líquido = Ativos - Passivos e reflete o quão rico você é.

Agora você pode abrir suas contas personalizadas com as palavras-chave acima:

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

Rastreamento Avançado de Investimentos com Commodities

Beancount.io se destaca no rastreamento de investimentos diversos, de ações a criptomoedas. Vamos explorar como ele lida com cenários de investimento complexos. Por exemplo, veja como você registraria a compra de 10 Bitcoins a US$ 100 cada em 2014:

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

E então, três anos depois, você os vende (originalmente com custos de US100porunidadeanotadoscom100.00USD)aoprec\codeUS 100 por unidade anotados com `{100.00 USD}`) ao preço de **US 10.000 por unidade** anotado com @ 10,000.00 USD.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

Ou a mesma transação com @@ 20,000.00 USD significa que ao preço de US$ 20.000 no total.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

A soma de todas as pernas da transação, incluindo -2 BTC {100.00 USD}, ainda é, como sempre, zero.

A etiqueta de custos {100.00 USD} é importante porque você pode ter comprado a mesma commodity a custos diferentes.

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

Se você quiser simplificar o processo, pode configurar a conta no início com FIFO ou LIFO. FIFO significa 'primeiro a entrar, primeiro a sair', enquanto LIFO significa 'último a entrar, primeiro a sair'. Nos EUA, o IRS usa FIFO para calcular seu PnL e impostos de acordo.

1970-01-01 open Assets:Trade:Positions "FIFO"

E então, quando você o vende de forma abreviada como -2 BTC {}, o beancount aplicará a estratégia FIFO automaticamente e venderá a commodity mais antiga.

Começando com Beancount.io

Beancount.io é uma plataforma moderna de gestão financeira baseada em nuvem que transforma seus registros de transações baseados em texto em demonstrações financeiras abrangentes, incluindo demonstrações de resultados, balanços patrimoniais e balancetes. Ao combinar a confiabilidade de arquivos de texto simples com poderosas ferramentas de visualização, o Beancount.io ajuda você a manter controle preciso sobre sua vida financeira, enquanto obtém insights valiosos sobre o desempenho de seus investimentos.

Comece sua jornada financeira com Beancount.io - Grátis durante nosso período promocional!