Создайте локальную книгу учёта и запишите первую покупку с помощью bea — инструмента командной строки Beancount.io. Для локальной бухгалтерии не требуется аккаунт Beancount.io.
Этот пример начинается с 1000 USD на чековом счёте. После покупки кофе за 12.50 USD вы проверите баланс в 987.50 USD.
1. Установите команду
Через Homebrew на macOS или Linux:
brew install bex-co/tap/bea
bea --versionЕсли вы не используете Homebrew, установите uv и затем выполните uv tool install beancount-io. Для Python требуется версия 3.12 или новее.
2. Создайте книгу учёта
Выберите новый каталог. В этом примере создаётся файл main.bean в ~/my-books:
bea --no-input init ~/my-books --currency USD --date 2026-08-01 \
--opening-balance "Assets:Checking 1000"
cd ~/my-booksШаблон открывает счета для чекового, сберегательного, наличных, кредитной карты, доходов и расходов. Начальный баланс вычитается из счёта Equity:OpeningBalances.
Для своей книги выберите самую раннюю дату, с которой хотите начать. Все счета шаблона открываются на эту дату. Начальный баланс должен быть описан на этот день. Кредитная карта использует отрицательную сумму.
Команда init никогда не перезаписывает существующую книгу. Новые файлы являются приватными на POSIX-системах: только владелец может их читать и записывать. Чтобы поделиться с локальным пользователем, измените права с помощью chmod 640 main.bean.
Для интерактивной настройки выполните bea init ~/my-books в терминале. Мастер запросит валюту, дату начала и начальный баланс.
3. Запишите покупку
bea add transaction --date 2026-08-02 --narration "Coffee" \
--posting "Expenses:Dining 12.50" \
--posting "Assets:Checking"В операции используется валюта счёта USD. Beancount автоматически заполняет вторую проводку как -12.50 USD. Для покупок, совершённых сегодня, можно опустить --date.
Каждая операция проверяется на соответствие всей книге перед заменой файла. Неизвестный счёт или несбалансированная операция вызовут ошибку.
4. Проверьте результат
bea check
bea list transaction --limit 10
bea report balance-sheetСписок операций показывает новые записи первыми, с их суммами. Балансовый отчёт показывает 987.50 USD на чековом счёте.
Для прямого запроса:
bea query "SELECT account, sum(position) WHERE account = 'Assets:Checking' GROUP BY account"Для структурированного вывода поместите глобальную опцию --json перед командой:
bea --json list transaction --limit 105. Поддерживайте книгу в порядке
Запустите bea check после ручного редактирования файла. Выполните bea format main.bean для выравнивания колонок. Используйте bea format main.bean --check, если скрипт должен завершиться с ошибкой при необходимости форматирования.
Для работы из другого каталога выберите корневой файл явно:
bea --file ~/my-books/main.bean checkКорневой файл выбирается через --file, затем BEA_FILE и, наконец, main.bean в рабочем каталоге. Глобальные опции указываются перед командой. Форматирование принимает собственный файл или каталог.
Продолжение работы
- Импорт банковской выписки с предпросмотром и дедупликацией.
- Справочник команд и опций для счетов, инвестиций, отчётов и автоматизации.
- Организация книги через несколько файлов. Используйте
--intoдля включения файлов с проверкой корневого. - Веб-интерфейс, если вы предпочитаете формы вместо команд терминала.
Проверяйте обновления с помощью bea upgrade --check. Выполните bea upgrade для вызова менеджера пакетов, установившего вашу копию. Используйте bea --help или bea add transaction --help, чтобы просмотреть доступные опции в вашей установленной версии.