Awesome Beancount
Курируемое руководство по экосистеме Beancount. Beancount — это мощная система учета с открытым исходным кодом, использующая простой текстовый формат для управления финансами со всей строгостью двойной записи. Эта страница объединяет списки, отобранные сообществом, и обзоры экосистемы в один исчерпывающий ресурс.
Почему учет в текстовом формате?
Учет в текстовом формате (Plain Text Accounting, PTA) — это методология управления финансами с использованием простых текстовых файлов и мощных инструментов командной строки. Этот подход дает вам полное владение своими данными, гарантирует долговечность и предлагает непревзойденную гибкость для автоматизации и анализа.
- Официальный хаб PTA: Plain Text Accounting
- Мягкое введение: Бухгалтерия для простых умов с помощью PTA
- От веб-приложений к CLI: Бухгалтерия в командной строке: От mint.com до Ledger
Экосистема Beancount
Экосистема Beancount — это набор инструментов, плагинов и ресурсов, построенных вокруг основного движка. Каждый компонент играет определенную роль в создании полного рабочего процесса управления финансами.
1. Основной движок и официальные ресурсы
Это основополагающие элементы Beancount, поддерживаемые создателем и официальными контрибьюторами.
| Ресурс | Описание |
|---|---|
| Beancount (Core) | Движок, который читает файл вашего журнала, применяет правила двойной записи и генерирует отчеты. Он предоставляет основные утилиты командной строки, такие как bean-check и bean-format. Все остальные инструменты построены на его основе. |
| Домашняя страница | beancount.github.io |
| Исходный код | github.com/beancount/beancount |
| Документация | GitHub Pages и Google Docs |
| Внешние вклады | Официальный список вкладов сообщества |
| Beanquery | Мощный SQL-подобный инструмент запросов (v3) для выполнения сложных запросов (например, SELECT ... FROM ... WHERE ...) к вашему журналу для создания пользовательских анализов. |
2. Пользовательские интерфейсы
Эти инструменты предоставляют визуальные интерфейсы для изучения и редактирования ваших финансовых данных.
| Инструмент | Описание |
|---|---|
| Fava | Основной полнофункциональный веб-интерфейс для Beancount. Он предоставляет интерактивные графики, детализированные таблицы, редактирование в браузере и систему расширений для добавления таких функций, как бюджетирование. |
| Fava-GTK | Нативное приложение для рабочего стола GNOME, которое оборачивает Fava для бесшовной работы на десктопе. |
| 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 и WeChat Pay. |
Сообщество импортеров (по странам)
Обширная коллекция скриптов для конкретных банков и сервисов, поддерживаемая сообществом.
- Китай
- Alipay / 支付宝: deb-sig/double-entry-generator, wzyboy/importer
- China Merchants Bank (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