Перейти к контенту

Awesome Beancount

Курируемое руководство по экосистеме Beancount. Beancount — это мощная система учета с открытым исходным кодом, использующая простой текстовый формат для управления финансами со всей строгостью двойной записи. Эта страница объединяет списки, отобранные сообществом, и обзоры экосистемы в один исчерпывающий ресурс.

Почему учет в текстовом формате?

Учет в текстовом формате (Plain Text Accounting, PTA) — это методология управления финансами с использованием простых текстовых файлов и мощных инструментов командной строки. Этот подход дает вам полное владение своими данными, гарантирует долговечность и предлагает непревзойденную гибкость для автоматизации и анализа.


Экосистема 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 BotTelegram-бот для быстрого добавления транзакций в ваш журнал через чат.

3. Импорт транзакций

Импорт — это процесс преобразования данных из финансовых учреждений (например, банковских CSV или PDF) в записи Beancount.

ИнструментОписание
Beangulp (v3)Современный автономный фреймворк для создания импортеров. Он обрабатывает внешние файлы с помощью скриптов на Python (плагинов) для генерации директив Beancount.
Smart ImporterИнструмент, дополняющий импортеры машинным обучением для автоматического прогнозирования и назначения категорий.
Beancount Reds IngestorКоллекция импортеров с общей библиотекой для обработки файлов CSV и OFX.
double-entry-generatorИмпортер на основе правил, ориентированный на китайские сервисы, такие как Alipay и WeChat Pay.

Сообщество импортеров (по странам)

Обширная коллекция скриптов для конкретных банков и сервисов, поддерживаемая сообществом.

4. Поддержка в редакторах и инструменты

Инструменты для интеграции Beancount в вашу среду разработки для упрощения редактирования и обслуживания.

  • Поддержка IDE: Плагины, обеспечивающие подсветку синтаксиса, автодополнение и проверку баланса «на лету».
  • Автоматизация и утилиты:
    • bean-add: интерактивное добавление транзакций из командной строки.
    • beancount-black: строгий форматер кода для файлов Beancount.
    • beancount-categorizer: автоматическая категоризация транзакций с помощью правил на основе регулярных выражений.
    • beanahead: управление и прогнозирование будущих транзакций.
  • Инструменты миграции данных: Утилиты для конвертации данных из других систем учета.

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: Дебет и кредит

Избранные записи в блогах

Сообщество


Коммерческие сервисы и приложения

Для пользователей, которые хотят использовать мощь Beancount без самостоятельного управления инфраструктурой.

СервисОписание
Beancount.ioSaaS-платформа (программное обеспечение как услуга), предоставляющая готовый к работе экземпляр Beancount и Fava. Она также предлагает специализированные мобильные приложения для iOS и Android.