Основные встроенные плагины Beancount, которые стоит знать
Сила Beancount заключается не только в его текстовом формате, но и в возможности расширения через плагины. Встроенные плагины — это стандартные модули, которые расширяют функциональность Beancount, автоматизируют рутинные задачи и обеспечивают соблюдение лучших практик бухгалтерского учета. В этом подробном руководстве мы рассмотрим все встроенные плагины, доступные в Beancount, и способы их эффективного использования.
Что такое плагины Beancount?
Плагины Beancount — это модули Python, которые обрабатывают записи вашего журнала для добавления возможностей автоматизации, валидации или трансформации. Они запускаются на этапе загрузки файла жу рнала и могут:
- Автоматизировать повторяющиеся задачи (например, создание объявлений счетов)
- Проверять целостность данных (например, поиск дубликатов транзакций)
- Трансформировать записи (например, генерировать записи цен на основе транзакций)
- Принудительно применять правила учета (например, один актив на счет)
Как использовать плагины
Чтобы включить плагин в файле Beancount, добавьте директиву plugin в начале вашего журнала:
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.implicit_prices"
Некоторые плагины принимают параметры конфигурации:
plugin "beancount.plugins.check_commodity" "USD,EUR,CAD"
Категории встроенных плагинов
Встроенные плагины Beancount делятся на четыре основные категории:
1. Плагины автоматизации
2. Плагины валидации
3. Плагины трансформации
4. Мета-плагины
1. Плагины автоматизации
Эти плагины автоматизируют повторяющиеся задачи по ведению учета, экономя ваше время и уменьшая количество р учных ошибок.
auto_accounts — Автоматическое объявление счетов
Что он делает: Автоматически вставляет директивы Open для счетов, которые фигурируют в транзакциях, но не были объявлены явно.
Зачем его использовать: Избавляет от необходимости вручную объявлять каждый счет перед его использованием. Идеально подходит для быстрого старта или для пользователей, предпочитающих минимум шаблонного кода.
Пример:
plugin "beancount.plugins.auto_accounts"
2026-01-01 * "Кофейня"
Expenses:Food:Coffee 4.50 USD
Assets:Cash -4.50 USD
Без плагина вам пришлось бы вручную добавить:
2025-12-01 open Expenses:Food:Coffee
2025-12-01 open Assets:Cash
Когда использовать: Идеально подходит для начинающих или тех, кто хочет сделать журнал менее громоздким. Однако явное объявление счетов помогает отлавливать опечатки.
close_tree — Автоматическое закрытие иерархии счетов
Что он делает: При закрытии родительского счета этот плагин автоматически закрывает все его дочерние счета.
Зачем его использовать: Поддерживает согласованность иерархии счетов. Если вы закрываете Assets:Investments, все подсчета, такие как Assets:Investments:Stocks и Assets:Investments:Bonds, будут закрыты автоматически.
Пример:
plugin "beancount.plugins.close_tree"
2025-06-30 close Assets:Investments
; Эти счета будут закрыты автоматически:
; Assets:Investments:Stocks
; Assets:Investments:Bonds
; Assets:Investments:RealEstate
Когда использовать: При реструктуризации иерархии счетов или закрытии целых категорий счетов.
implicit_prices — Автоматическая генерация записей цен
Что он делает: Синтезирует директивы Price из позиций транзакций, которые включают стоимость (@) или общую цену (@@).
Зачем его использовать: Автоматически заполняет базу данных цен на основе ваших транзакций, что позволяет получать точные отчеты о рыночной стоимости без ручного ввода цен.
Пример:
plugin "beancount.plugins.implicit_prices"
2026-01-02 * "Покупка акций AAPL"
Assets:Investments:Stocks 10 AAPL @ 150.00 USD
Assets:Cash -1500.00 USD
Это автоматически генерирует:
2026-01-02 price AAPL 150.00 USD
Когда использовать: Важен для отслеживания инвестиций и мультивалютного учета, когда требуется автоматическая история цен.
2. Плагины валидации
Эти плагины обеспечивают целостность данных и соблюдение правил бухгалтерского учета, выявляя ошибки до того, как они станут проблемой.