Pular para o conteúdo principal

4 postagens marcado com "software financeiro"

Ver todas as tags

O Ecossistema Beancount: Uma Análise Abrangente

· 39 min de leitura
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

Reintroduzindo o Plano Gratuito para Novos Clientes

· 2 min de leitura
Mike Thrift
Mike Thrift
Marketing Manager

Temos o prazer de anunciar que, a partir de 1º de maio de 2023, reintroduziremos o plano gratuito para novos clientes. Esta decisão surge após a realização de melhorias significativas em nossa plataforma e a otimização de nossos recursos, a fim de melhor atender a todos os nossos clientes, tanto os gratuitos quanto os pagos.

Apresentando o Novo Plano Gratuito para Novos Clientes

O plano gratuito sempre foi uma parte essencial de nossa visão de fornecer um serviço acessível e fácil de usar para todos. Acreditamos que as mudanças que fizemos nos últimos meses nos permitirão oferecer uma experiência ainda melhor para nossos usuários, mantendo a qualidade do serviço para nossos clientes do plano Pro.

2023-04-28-start-serving-free-users

Novos clientes que se registrarem após 1º de maio de 2023 terão acesso ao plano Gratuito.

Seu apoio e lealdade foram fundamentais para tornar financeiramente possível esta reintrodução do plano gratuito. É através de suas contribuições que pudemos investir em nossa infraestrutura e sistemas de suporte, garantindo que possamos continuar a oferecer o serviço de alta qualidade que você espera, ao mesmo tempo em que expandimos o acesso à nossa plataforma para novos usuários. Seu compromisso com nossa visão nos ajudou a crescer e evoluir, e somos verdadeiramente gratos por sua parceria contínua. Juntos, estamos construindo uma comunidade próspera e capacitando usuários de todas as esferas da vida a alcançar seus objetivos.

Se você tiver alguma dúvida ou preocupação, não hesite em nos contatar. Estamos sempre aqui para ouvir seu feedback e resolver quaisquer problemas que você possa ter. Agradecemos seu apoio contínuo e esperamos fornecer o melhor serviço possível.

A Magia da Contabilidade em Texto Simples com Beancount

· 6 min de leitura
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 US$ 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 US$ 2000. A transação aumenta o saldo de Assets:Checking em US$ 2000 (crédito) e diminui o saldo de Income:Salary em US$ 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 US$ 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 US$ 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 de leitura
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 US$ 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!