Awesome Beancount
Um guia selecionado para o ecossistema Beancount. O Beancount é um sistema de contabilidade poderoso e de código aberto que utiliza um formato simples baseado em texto para gerenciar suas finanças com o rigor da contabilidade por partidas dobradas. Esta página combina listas selecionadas pela comunidade e visões gerais do ecossistema em um único recurso abrangente.
Por que Contabilidade em Texto Plano?
A contabilidade em texto plano (PTA - Plain Text Accounting) é uma metodologia para gerenciar finanças usando arquivos de texto simples e ferramentas de linha de comando poderosas. Esta abordagem oferece total propriedade dos seus dados, garante a longevidade e oferece uma flexibilidade incomparável para automação e análise.
- Hub Oficial de PTA: Plain Text Accounting
- Uma Introdução Suave: Accounting for the simple minds with plain text accounting
- De Apps Web para CLI: Command line accounting: From mint.com to Ledger
O Ecossistema Beancount
O ecossistema Beancount é uma coleção de ferramentas, plugins e recursos construídos em torno de um motor central. Cada componente desempenha um papel específico na criação de um fluxo de trabalho completo de gestão financeira.
1. Motor Principal e Recursos Oficiais
Estes são os elementos fundamentais do Beancount, mantidos pelo criador e colaboradores oficiais.
| Recurso | Descrição |
|---|---|
| Beancount (Núcleo) | O motor que lê seu arquivo de livro-razão, aplica as regras de partidas dobradas e gera relatórios. Ele fornece utilitários de linha de comando essenciais como bean-check e bean-format. Todas as outras ferramentas são construídas sobre ele. |
| Homepage | beancount.github.io |
| Código-Fonte | github.com/beancount/beancount |
| Documentação | GitHub Pages e Google Docs |
| Contribuições Externas | Lista oficial de contribuições da comunidade |
| Beanquery | Uma ferramenta de consulta poderosa, semelhante ao SQL (v3), para executar consultas avançadas (ex: SELECT ... FROM ... WHERE ...) em seu livro-razão para gerar análises personalizadas. |
2. Interfaces de Usuário
Estas ferramentas fornecem interfaces visuais para explorar e editar seus dados financeiros.
| Ferramenta | Descrição |
|---|---|
| Fava | O painel web definitivo e completo para o Beancount. Oferece gráficos interativos, tabelas detalhadas, edição no navegador e um sistema de extensões para adicionar recursos como orçamentos. |
| Fava-GTK | Uma aplicação nativa para desktop GNOME que encapsula o Fava para uma experiência de desktop integrada. |
| Beancount Mobile | Um aplicativo móvel de entrada de dados para adicionar transações em qualquer lugar. |
| Beancount Telegram Bot | Um bot do Telegram para adicionar transações rapidamente ao seu livro-razão via chat. |
3. Importação de Transações
A importação é o processo de converter dados de instituições financeiras (como extratos bancários em CSV ou PDF) em lançamentos do Beancount.
| Ferramenta | Descrição |
|---|---|
| Beangulp (v3) | O framework moderno e independente para construir importadores. Ele processa arquivos externos através de scripts Python (plugins) para gerar diretivas Beancount. |
| Smart Importer | Uma ferramenta que aprimora os importadores com aprendizado de máquina (machine learning) para prever e atribuir categorias automaticamente. |
| Beancount Reds Ingestor | Uma coleção de importadores com uma biblioteca comum para lidar com arquivos CSV e OFX. |
| double-entry-generator | Um importador baseado em regras focado em serviços chineses como Alipay e WeChat Pay. |
Importadores da Comunidade (Por País)
Uma vasta coleção de scripts para bancos e serviços específicos, mantida pela comunidade.
- China
- Alipay / 支付宝: deb-sig/double-entry-generator, wzyboy/importer
- China Merchants Bank (CMB): Cartão de Débito, Cartão de Crédito
- WeChat Pay / 微信支付: deb-sig/double-entry-generator
- França
- Caisse d'Epargne: beancount-ce
- Boursorama, Amex: Beancount-myTools
- Alemanha
- Commerzbank: beancount-commerzbank
- Deutsche Kredit Bank (DKB): beancount-dkb
- ING: beancount-ing
- N26: beancount-n26
- Volksbank & GLS-Bank: beancount-importer-volksbank
- Índia
- SBI, BOI, Paytm, HSBC, ICICI: beancount-importers-india
- Países Baixos
- ABN AMRO: beancount-abnamro
- Suíça
- Geral: tariochbctools (BCGE, Neon, Raiffeisen, ZKB, Fidelity)
- Finpension: drnuke-bean
- PostFinance: tariochbctools, drnuke-bean
- Reino Unido
- Monzo, Revolut, Wise: Evernight/beancount-importers
- Revolut, Wise: tariochbctools
- EUA
- Amex, Chase, Citi, Schwab: mterwill/gist
- Capital One: mtlynch/beancount-capitalone
- Chase: mtlynch/beancount-chase-bank, ArthurFDLR/beancount-chase
- Clipper: beancount-clipper
- Mercury: mtlynch/beancount-mercury
- Blockchain
4. Suporte a Editores e Ferramentas
Ferramentas que integram o Beancount ao seu ambiente de desenvolvimento para simplificar a edição e a manutenção.
- Suporte a IDE: Plugins que oferecem realce de sintaxe, preenchimento automático e verificação de saldo em tempo real.
- VSCode
- Emacs
- Vim
- Zed
- Sublime Text
- Atom
- Beancount Language Server (para qualquer editor compatível com LSP)
- Automação e Utilitários:
bean-add: Adicione transações de forma interativa a partir da linha de comando.beancount-black: Um formatador de código opinativo para arquivos Beancount.beancount-categorizer: Categorize transações automaticamente com regras regex.beanahead: Administre e projete transações futuras.
- Ferramentas de Migração de Dados: Utilitários para converter dados de outros sistemas de contabilidade.
- De GnuCash: henriquebastos/gc-to-bc, dtrai2/gc-to-bc
- De Ledger/hledger: travisdahlke/gist, zacchiro/ledger2beancount
- De YNAB: hoostus/beancount-ynab
5. Plugins (Extensões do Livro-Razão)
Módulos Python internos que são executados durante o processamento para aplicar regras personalizadas, automatizar transações ou adicionar novas funcionalidades.
- Orçamento:
- fava-envelope: Uma extensão do Fava para orçamento no estilo envelope.
- Automação e Verificações:
- autobean.share: Divisão de despesas e gestão de dívidas.
- autobean.sorted: Garante que as transações estejam em ordem cronológica.
- beancount-checkclosed: Verifica automaticamente se há saldo zero em contas encerradas.
- Manipulação de Dados:
- autobean.narration: Gera automaticamente descrições (narrations) de transações.
- beancount-lazy-plugins.filter_map: Aplica operações a um grupo filtrado de transações.
6. Fontes de Preços
Scripts que buscam preços históricos e atuais para commodities, ações e moedas para acompanhar os valores dos investimentos.
- beancount-exchangerates: Para moedas fiduciárias via APIs como
frankfurter.dev. - pricehist: Um buscador de preços de múltiplas fontes.
- beancount-cryptoassets: Para buscar preços de criptomoedas.
- tariochbctools: Inclui uma fonte de preços para a Interactive Brokers.
Aprendizado e Comunidade
Livros e Guias Detalhados
- Tracking Personal Finances using Python: Um livro que fornece um guia abrangente para construir um sistema de finanças pessoais com o Beancount. (Website)
- Série de Blogs em Chinês (BYVoid): Parte 1: Por quê?, Parte 2: Débitos e Créditos
Posts de Blog Selecionados
- Inglês
- Francês
- Chinês
Comunidade
- Lista de Discussão: Google Groups (Fórum de discussão principal)
- Chat ao Vivo (IRC): #beancount no web.libera.chat
- Telegram (Chinês): t.me/beancount_zh
Serviços Comerciais e Aplicativos
Para usuários que desejam o poder do Beancount sem gerenciar a infraestrutura por conta própria.
| Serviço | Descrição |
|---|---|
| Beancount.io | Uma plataforma SaaS (Software como Serviço) que fornece uma instância Beancount e Fava pronta para uso. Também oferece aplicativos móveis dedicados para iOS e Android. |
