Awesome Beancount
Beancount 生态系统的精选指南。Beancount 是一款功能强大的开源会计系 统,它使用简单的文本格式,通过严谨的双录入复式记账法来管理你的财务。本页面将社区精选列表和生态系统概览整合为一个全面的资源。
为什么要进行纯文本会计?
纯文本会计 (PTA) 是一种使用简单的文本文件和强大的命令行工具来管理财务的方法。这种方法让你拥有数据的完整所有权,确保数据的持久性,并为自动化和分析提供了无与伦比的灵活性。
- 官方 PTA 枢纽: Plain Text Accounting
- 入门简介: Accounting for the simple minds with plain text accounting
- 从 Web 应用到命令行: Command line accounting: From mint.com to Ledger
Beancount 生态系统
Beancount 生态系统是围绕核心引擎构建的工具、插件和资源的集合。每个组件在创建完整的财务管理工作流中都发挥着特定作用。
1. 核心引擎与官方资源
这些是 Beancount 的基础要素,由创建者和官方贡献者维护。
| 资源 | 描述 |
|---|---|
| Beancount (核心) | 读取你的账本文件、强制执行复式记账规则并生成报告的引擎。它提供了 bean-check 和 bean-format 等核心命令行工具。所有其他工具都构建于此。 |
| 主页 | beancount.github.io |
| 源代码 | github.com/beancount/beancount |
| 文档 | GitHub Pages 和 Google Docs |
| 外部贡献 | 官方社区贡献列表 |
| Beanquery | 一个强大的、类似 SQL 的查询工具 (v3),用于对你的账本运行高级查询(例如 SELECT ... FROM ... WHERE ...)以生成自定义分析。 |
2. 用户界面
这些工具提供了用于探索和编辑财务数据的可视化界面。
| 工具 | 描述 |
|---|---|
| Fava | Beancount 的权威、全功能 Web 仪表板。它提供交互式图表、下钻式表格、浏览器内编辑以及用于添加预算等功能的扩展系统。 |
| Fava-GTK | 一个包装了 Fava 的原生 GNOME 桌面应用程序,提供无缝的桌面体验。 |
| Beancount Mobile | 一款用于在移动端随时随地添加交易的数据录入应用。 |
| Beancount Telegram Bot | 一个 Telegram 机器人,通过聊天快速向你的账本添加交易。 |
3. 交易导入
导入是指将来自金融机构的数据(如银行 CSV 或 PDF)转换为 Beancount 条目的过程。
| 工具 | 描述 |
|---|---|
| Beangulp (v3) | 用于构建导入器的现代独立框架。它通过 Python 脚本(插件)处理外部文件以生成 Beancount 指令。 |
| Smart Importer | 一个通过机器学习增强导入器的工具,可自动预测并分配类别。 |
| Beancount Reds Ingestor | 一组导入器的集合,包含用于处理 CSV 和 OFX 文件的通用库。 |
| double-entry-generator | 一个基于规则的导入器,专注于支付宝和微信支付等中国服务。 |
社区导入器(按国家/地区)
由社区维护的针对特定银行和服务的庞大脚本集合。
- 中国
- Alipay / 支付宝:deb-sig/double-entry-generator, wzyboy/importer
- 招商银行 (CMB):借记卡,信用卡
- WeChat Pay / 微信支付:deb-sig/double-entry-generator
- 法国
- Caisse d'Epargne: beancount-ce
- Boursorama, Amex: Beancount-myTools
- 德国
- Commerzbank: beancount-commerzbank
- Deutsche Kredit Bank (DKB): beancount-dkb
- ING: beancount-ing
- N26: beancount-n26
- Volksbank & GLS-Bank: beancount-importer-volksbank
- 印度
- SBI, BOI, Paytm, HSBC, ICICI: beancount-importers-india
- 荷兰
- ABN AMRO: beancount-abnamro
- 瑞士
- 常规:tariochbctools (BCGE, Neon, Raiffeisen, ZKB, Fidelity)
- Finpension: drnuke-bean
- PostFinance: tariochbctools, drnuke-bean
- 英国
- Monzo, Revolut, Wise: Evernight/beancount-importers
- Revolut, Wise: tariochbctools
- 美国
- 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
- 区块链
4. 编辑器支持与工具
将 Beancount 集成到你的开发环境中,以简化编辑和维护工作的工具。
- IDE 支持: 提供语法高亮、自动补全和实时余额检查的插件。
- VSCode
- Emacs
- Vim
- Zed
- Sublime Text
- Atom
- Beancount Language Server(适用于任何兼容 LSP 的编辑器)
- 自动化与实用工具:
bean-add:从命令行交互式地添加交易。beancount-black:一个规范的 Beancount 文件代码格式化工具。beancount-categorizer:使用正则表达式规则自动对交易进行分类。beanahead:管理并预测未来的交易。
- 数据迁移工具: 将数据从其他会计系统转换的实用工具。
- 来自 GnuCash:henriquebastos/gc-to-bc, dtrai2/gc-to-bc
- 来自 Ledger/hledger:travisdahlke/gist, zacchiro/ledger2beancount
- 来自 YNAB:hoostus/beancount-ynab