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
5. Плагины (расширения книги)
Встраиваемые Python-модули, которые запускаются во время обработки для применения пользовательских правил, автоматизации транзакций или добавления новых функций.
- Бюджетирование:
- fava-envelope: расширение для Fava для бюджетирования методом конвертов.
- Автоматизация и проверки:
- autobean.share: разделение расходов и управление долгами.
- autobean.sorted: гарантирует хронологический порядок транзакций.
- beancount-checkclosed: автоматическая проверка нулевого баланса на закрытых счетах.
- Манипуляция данными:
- autobean.narration: автоматическая генерация описаний (narration) транзакций.
- beancount-lazy-plugins.filter_map: применяет операции к отфильтрованной группе транзакций.
6. Источники цен
Скрипты, которые загружают исторические и текущие цены на товары, акции и валюты для отслеживания стоимости инвестиций.
- beancount-exchangerates: Для фиатных валют через API, такие как
frankfurter.dev. - pricehist: Мульти-источниковый загрузчик цен.
- beancount-cryptoassets: Для получения цен на криптовалюты.
- tariochbctools: Включает источник цен для Interactive Brokers.
Обучение и сообщество
Книги и подробные руководства
- Tracking Personal Finances using Python: Книга, представляющая собой исчерпывающее руководство по созданию системы управления личными финансами с помощью Beancount. (Сайт)
- Серия статей в блоге на китайском (BYVoid): Часть 1: Почему?, Часть 2: Дебет и кредит
Избранные записи в блогах
- Английский
- Французский
- Китайский
Сообщество
- Список рассылки: Google Groups (Основной форум для обсуждений)
- Живой чат (IRC): #beancount на web.libera.chat
- Telegram (китайский): t.me/beancount_zh
Коммерческие сервисы и приложения
Для пользователей, которые хотят использовать мощь Beancount без самостоятельного управления инфраструктурой.
| Сервис | Описание |
|---|---|
| Beancount.io | SaaS-платформа (программное обеспечение как услуга), предоставляющая готовый к работе экземпляр Beancount и Fava. Она также предлагает специализированные мобильные приложения для iOS и Android. |