Перейти к основному содержимому

Справочник по CLI Beancount

Найдите команды bea, параметры, поведение отчётов, JSON-вывод, коды выхода и исправления для распространённых ошибок локальной бухгалтерской книги.

Используйте этот справочник, чтобы найти команды bea и их поведение. Для первого реестра следуйте краткому руководству по CLI. Чтобы закрыть полный месяц от начала до конца, пройдите Ваш первый месяц с bea. Для банковских файлов используйте руководство по импорту.

Команды с кратким описанием​

КомандаНазначение
bea init [DIRECTORY]Создать реестр с типовыми счетами
bea add TYPEДобавить директиву с датой
bea add transactions --from FILE.jsonДобавить пакет транзакций
bea import SOURCEПредпросмотр выгрузки; добавьте --apply для записи
bea list TYPEСписок директив с фильтрацией
bea checkПроверить весь реестр
bea format PATHВыровнять файл или рекурсивно отформатировать каталог
bea query [BQL]Выполнить запрос или открыть интерактивную оболочку запросов
bea report TYPEСформировать финансовые отчёты
bea balance [ACCOUNT...]Вывести остатки по подходящим счетам
bea ask [QUESTION]Использовать опциональную облачную ИИ-помощь с локальным реестром
bea cloud …Войти и управлять облачными реестрами
bea doctor COMMANDИзучить контекст реестра и диагностику
bea example [OPTIONS]Сгенерировать пример реестра
bea treeify [INPUT]Отобразить имена счетов в виде текстового дерева
bea ingest COMMANDОпределить, извлечь или заархивировать с конфигурацией Beangulp
bea price [OPTIONS]Изучить, обновить или экспортировать управляемые цены; иначе получить котировки через опциональный Beanprice
bea engine COMMANDИзучить управляемый движок или включить опциональные функции
bea upgrade [--check]Обновить через владеющий пакетный менеджер или проверить наличие обновления

Глобальные опции и пути​

Глобальные параметры указываются перед командой:

bea --file ~/my-books/main.bean check
bea --json list transaction --limit 100
ПараметрПоведение
--file / -f PATHВыбрать корневой реестр; переопределяет BEA_FILE и ./main.bean
--jsonСтруктурированный вывод; также отключает запросы CLI
--no-inputОтключить запросы; отсутствие обязательных данных приводит к выходу 2
--yes / -yПодтвердить операции, например удаление в облаке; не даёт разрешение на запись ИИ
--debugВключить трассировку исключений
--offlineРазрешать управляемые цены из локального кеша без загрузки
--strict-pricesОшибка загрузки, когда управляемый источник устарел или недоступен
--strictОтказаться от частичных ответов даже в терминале; --allow-errors команды возвращает это поведение
--versionПоказать установленную версию без сетевого запроса
--help / -hПоказать справку; также доступно в подкомандах
--show-completionВывести автодополнение оболочки
--install-completionУстановить автодополнение оболочки
--shell NAMEВыбрать bash, zsh, fish, powershell или pwsh вместо автоопределения оболочки

init создаёт собственный целевой каталог или файл и игнорирует BEA_FILE. Он принимает глобальный --file вместо своего аргумента каталога. format использует собственную позиционную цель. Укажите имя файла или каталог. Глобальный --file не выбирает цель форматирования.

Создать риджер​

bea init [DIRECTORY] по умолчанию использует текущий каталог. Каталог создаёт main.bean; путь .bean или .beancount напрямую задаёт имя нового файла.

ПараметрПоведение
--currency / -c SYMBOLОперационная валюта; обязательна в неинтерактивном режиме, интерактивно по умолчанию USD
--date YYYY-MM-DDСамая ранняя дата истории или открытия; иначе запрос или сегодняшняя дата
--opening-balance "ACCOUNT NUMBER"Повторяется для шаблонных счетов активов и обязательств; суммы используют операционную валюту

Шаблон открывает Assets:Checking, Assets:Savings, Assets:Cash, Liabilities:CreditCard, Income:Salary, Income:Interest, Expenses:Groceries, Expenses:Dining, Expenses:Rent, Expenses:Transport, Expenses:Utilities, Expenses:Fees, Expenses:Uncategorized и Equity:OpeningBalances.

Начальные остатки сальдируются против Equity:OpeningBalances. Долг указывается отрицательным. Ввод валюты приводится к верхнему регистру. Пользовательские символы допустимы; символ, который не состоит из трёх заглавных букв, вызывает предупреждение об опечатке. Это не проверка реестра валют ISO.

Существующие файлы никогда не перезаписываются. Новые файлы используют права только для владельца, режим 0600 в POSIX. Последующие записи add и import сохраняют права и уважают назначения только для чтения. Форматирование на месте использует нативный форматтер и сообщает о собственных файловых ошибках.

Добавить транзакции​

bea add transaction -n "Groceries" --payee "Corner Market" \
  -p "Expenses:Groceries 30" -p "Assets:Checking" \
  --flag '!' --tag household --link receipt-42 --meta 'receipt:IMG_42.jpg'
ПараметрПоведение
--posting / -p POSTINGОбязателен; повторяется для каждого проводки
--date YYYY-MM-DDПо умолчанию сегодня
--flag CHARACTERПо умолчанию *; используйте !, чтобы пометить транзакцию для проверки
--payee TEXTНеобязательный контрагент
--narration / -n TEXTНеобязательное назначение; отсутствующий текст отображается как (no narration)
--tag TAG, --link LINKПовторяемые; допускается необязательный ведущий # или ^
--meta KEY:VALUEПовторяемые метаданные транзакции
--into FILEЗаписать во включаемый файл с проверкой корня
--allow-errorsЯвно разрешить ошибки семантической валидации; синтаксис всё равно должен разбираться

Одна проводка может опускать сумму. Нумерованные проводки могут опускать валюту, когда у счёта есть одна допустимая валюта или в реестре есть одна совместимая операционная валюта. В противном случае укажите символ.

Нативный синтаксис проводки поддерживает арифметику, например 84/2 EUR, стоимости, например {100 USD}, общие стоимости {{1000 USD}} и цены @ или @@. Используйте десятичные суммы, например 1000, а не экспоненциальную запись, например 1e3.

Для обмена валюты нужен фактический курс транзакции. Например, проведите 100 EUR @ 1.08 USD на счёт, открытый в EUR, и -108 USD на расчётный счёт. Покупка инвестиции может провести 2 AAPL {100 USD} на счёт, открытый в AAPL, и -200 USD на расчётный счёт. Добавьте датированные котировки price, когда отчётам нужна рыночная оценка.

Метаданные принимают простые строки, например --meta 'receipt:IMG_42.jpg'. Нативные числа, логические значения, даты и суммы сохраняют свои типы. Примеры включают --meta 'reviewed:TRUE', --meta 'received:2026-08-03' и --meta 'fee:2.50 USD'. Внутренние кавычки задают строку: --meta 'code:"1234"'. Ключи должны быть разными; filename и lineno зарезервированы.

Одиночные добавления, массовые добавления и импорты заменяют переносы строк в контрагентах, назначениях и строковых метаданных пробелами. Кавычки и обратные слэши сохраняют своё содержимое.

Добавить другие директивы​

Все эти команды требуют --date YYYY-MM-DD. Они также принимают --into FILE и --allow-errors.

ТипОбязательные поляДополнительные параметры
open--account / -aПовторяйте --currency / -c, чтобы ограничить валюты
close--account / -a—
balance--account / -a, --amount "NUMBER CURRENCY"--pad-from ACCOUNT, --pad-date YYYY-MM-DD
pad--account / -a, --source / -s—
note--account / -a, --comment / --message / -m—
event--type / -t, --description / -d—
price--currency / --commodity / -c, --amount "NUMBER CURRENCY"Валюта задаёт оцениваемый товар
commodity--currency / --commodity / -c—
document--account / -a, --filename / --pathПовторяемые --tag и --link
custom--type / -tПовторяемые --value / -v KIND:VALUE

Имена счетов имеют корень с заглавной буквы и сегменты, разделённые двоеточиями. Каждый субсчёт начинается с заглавной буквы или цифры. Beancount поддерживает буквы Unicode и настроенные имена корней.

Директива balance проверяет счёт на начало своей даты. Поддерживается синтаксис допуска, например --amount "1538 ~ 1 EUR". Допуск должен быть неотрицательным.

Используйте add balance --pad-from Equity:OpeningBalances, чтобы записать pad и его проверку баланса вместе. Pad по умолчанию относится к предыдущему дню; --pad-date может выбрать другой более ранний день. Оба счёта должны быть активны. Отдельный pad требует более поздней проверки баланса, чтобы быть использованным. --allow-errors может подготовить это промежуточное состояние, но не может обойти недопустимый счёт pad.

add price пропускает точный дубликат по дате, товару и цене в корне и его включениях. Он завершается с кодом 0 и указывает существующее расположение. Другие даты или цены являются новыми добавлениями.

Пути документов разрешаются рядом с файлом, содержащим директиву. При --into years/2026.bean параметр --filename receipt.pdf означает years/receipt.pdf, а не файл рядом с рабочим каталогом вашей оболочки.

Виды пользовательских значений: text, number, amount, account, bool и date. Например, бюджет может использовать --value "text:travel" --value "amount:500 USD".

Массивный JSON ввод​

bea add transactions --from transactions.json принимает массив JSON:

[
  {
    "date": "2026-08-04",
    "narration": "Groceries",
    "postings": [
      { "account": "Expenses:Groceries", "amount": "45.00 USD" },
      { "account": "Assets:Checking" }
    ],
    "meta": { "receipt": "R-43", "reviewed": true }
  }
]

Каждая транзакция требует date и postings. Необязательные поля: flag, payee, narration, tags, links и meta.

Проводка использует либо amount, либо units, например {"number":"45.00","currency":"USD"}. Опустите оба для сальдирующей проводки. Поля проводки также включают cost, price, flag и meta. Стоимости содержат number и currency, с необязательными date и label. Цены содержат number и currency.

Используйте строки для десятичных значений. Метаданные используют обычные строки и логические значения или тегированные значения, такие как {"kind":"number","value":"1.125"}, {"kind":"date","value":"2026-08-04"} и {"kind":"amount","number":"2.50","currency":"USD"}. Необязательное расположение source транзакции никогда не записывается как метаданные.

По умолчанию используется атомарный пакет: любая отклонённая строка оставляет реестр без изменений и завершает работу с кодом 1. --partial записывает допустимое подмножество и всё равно завершается с кодом 1, если какие-либо строки отклонены. Ошибки JSON описывают результат в error.result; индексы строк там начинаются с нуля. Номера строк для людей начинаются с единицы.

Массовое добавление принимает --into и --allow-errors. Оно не выполняет дедупликацию. Используйте bea import для проверки банковских выгрузок.

Разделение журналов и безопасность записи​

Держите --file указывающим на корень. Добавьте --into, чтобы выбрать существующий включаемый файл:

bea --file ~/my-books/main.bean add transaction --into 2026.bean \
  --date 2026-08-02 -n "Groceries" \
  -p "Expenses:Groceries 30" -p "Assets:Checking"

Назначение указывается относительно корневого каталога. Оно должно уже быть включено; указание несвязанного файла отклоняется. Команды добавления, импорты и интерактивные записи ИИ поддерживают такое разделение.

Записи проверяют полный реестр-кандидат, включая плагины и учёт партий затрат. Параллельное изменение корня или графа его включений завершается с кодом 4. Назначение только для чтения завершается с кодом 3. Успешные добавления выравнивают только новые строки. Существующие байты остаются неизменными. Используйте bea format -i PATH, когда нужно заново выровнять весь файл.

Списки директив​

bea list TYPE поддерживает одиннадцать типов: transaction, open, close, balance, pad, note, event, price, commodity, document и custom.

ПараметрПрименяется кПоведение
--limit / -l NВсе типыПоложительный лимит; по умолчанию 50
--from-date, --to-dateВсе типыВключительные границы YYYY-MM-DD
--allow-errorsВсе типыРазрешить частичные данные, несмотря на ошибки загрузчика
--account / -a TEXTTransaction, open, close, balance, pad, note, documentПодстрока счёта без учёта регистра
--currency / -c SYMBOLPrice, commodityТочный символ без учёта регистра; price фильтрует свою базовую валюту
--sort newest/oldestTransactionПо умолчанию newest; применяется до лимита
--flag CHARACTERTransactionФильтровать записи, например !, до лимита
--detailsTransactionПоказать синтаксис Beancount, каждую проводку, метаданные и расположения источников

Другие типы директив сохраняют хронологический порядок. Таблица транзакций с фильтром по счёту помечает столбец суммы как MATCHING POSTING AMOUNTS. Детали и JSON всё равно включают все проводки каждой выбранной транзакции. Детали отображают загруженные записи, включая выведенные суммы; это не необработанные фрагменты источника.

Проверка, форматирование и запросы​

bea check проверяет корень и включения. Он завершается с кодом 0 без вывода при успехе и с кодом 1 при ошибках реестра. Глобальный --json возвращает конверт валидации. Для check нет параметра --allow-errors.

Запросы, списки и отчёты предупреждают и возвращают частичные результаты в интерактивном терминале. Глобальный --strict, --json, --no-input, истинный CI или нетерминальный stdin делают чтения строгими. Их параметр --allow-errors явно разрешает частичные результаты.

Форматирование принимает файлы или рекурсивно ищет в каталоге. В опубликованном пакете 0.2.0 путь обязателен, несмотря на stdin по умолчанию, указанный в справке. Глобальный --file не выбирает цель форматирования.

Режим форматированияЗаписывает?Поведение выхода
bea format PATHФорматированный текст в stdout; источник не изменяется0 после успеха
bea format -i PATHПерезаписывает источник0 после успеха
bea format PATH -o formatted.beanЗаписывает указанный выходной файл0 после успеха
bea format PATH --dry-runФайлы не изменяются0 даже когда требуется форматирование
bea format PATH --checkФайлы не изменяются1 когда требуется форматирование; 0 когда всё чисто

Форматирование выравнивает текст; оно не проверяет синтаксис реестра или бухгалтерию. Запускайте bea check отдельно. При глобальном --json выберите -i, -o FILE, --check или --dry-run, чтобы stdout мог нести конверт. Не перенаправляйте stdout поверх входного файла: используйте -i, чтобы перезаписать его.

bea query "BQL" выполняет запрос Beancount. Если BQL опущен, запросы читаются из stdin или открывается оболочка, когда stdin является терминалом. Используйте .exit, exit или quit, чтобы закрыть оболочку. Таблица BQL по умолчанию содержит одну строку на проводку. Таблицы запросов сохраняют точность.

Параметр запросаПоведение
--format / -f csvЭкспортировать CSV вместо текстовой таблицы
--output / -o FILEЗаписать результат в файл
--numberify / -mРазделить текстовые или CSV значения инвентаря на числовые столбцы по валютам
--no-errors / -qСкрыть диагностику загрузчика; не включает частичные результаты
--source URIИспользовать URI источника нативного Beanquery

Выберите реестр до команды, например bea --file main.bean query -f csv -o balances.csv "SELECT account, sum(position) GROUP BY account". Глобальный --json использует конверт продукта с data.rows и data.columns; он отличается от рендеринга CSV. В опубликованном релизе 0.2.0 используйте перенаправление оболочки для сохранения JSON, например bea --json query "SELECT account, sum(position) GROUP BY account" > result.json: параметры запроса -o и -m не применяются к JSON в этом релизе.

Нативные инструменты и опциональные функции​

bea doctor context main.bean 42 показывает контекст транзакции на строке 42. bea doctor --help перечисляет другие диагностические команды. bea example -o example.bean создаёт пример истории. bea treeify accounts.txt отображает иерархические имена из текстового файла; опустите файл, чтобы читать stdin. Эти команды передают нативные аргументы. Примеры выше называют эти аргументы явно.

Включите опциональные инструменты один раз с помощью bea engine enable beanprice для получения котировок или bea engine enable beangulp для рабочих процессов импорта. Включение требует сетевого доступа; Beangulp также требует системную библиотеку libmagic. Используйте bea engine status, чтобы проверить доступность. bea price --help и bea ingest --help описывают свои интерфейсы. bea import --csv и bea add price не нуждаются ни в одной из опциональных функций.

Управляемые включения цен​

Live Prices — это отдельный рабочий процесс управляемых включений. Облачные реестры разрешают поддерживаемые URL цен; совместимые версии bea также поддерживают управляемые включения и локальный экспорт цен. Проверьте руководство по управляемым ценам для конкретной версии, если ваша установленная версия не распознаёт эти команды.

КомандаНазначение
bea price statusИзучить свежесть, ревизию, время наблюдения и ошибки для каждого источника
bea price refreshРазрешить ленты сейчас и сообщить, какие источники изменились
bea --offline balanceЧитать управляемые цены только из локального кеша
bea --strict-prices checkОтклонить загрузку с устаревшими или недоступными управляемыми ценами
bea price export --output auditЭкспортировать самодостаточный реестр с локальными файлами цен для внешних инструментов

CLI разрешает URL из списка разрешённых без отправки учётных данных и отказывается от перенаправлений. Поэтому лента, перенаправляющая на облачный вход, недоступна для свежей локальной загрузки; вход на сайт не аутентифицирует запрос цен CLI. Проверьте price status на ошибки источников. Используйте кешированные данные, доступную поддерживаемую ленту или локальные датированные цены по обстоятельствам.

price export записывает файлы лент в prices/ и переписывает включения на локальные относительные пути. Внешние Beancount, Fava и Beanquery могут загрузить эту экспортированную копию. Недоступный источник отказывает в экспорте, если не используется --allow-errors, что может оставить его маркер источника без цен.

Ваша собственная датированная цена переопределяет управляемую цену для той же даты и пары. Записи лент доступны только для чтения. Неудачные обновления сохраняют ранее проверенную ревизию, которая может быть устаревшей. Другие аргументы bea price всё равно передаются в Beanprice; если файл задания котировок называется status, передайте ./status, чтобы отличить его от подкоманды.

Homebrew устанавливает и CLI, и его управляемый движок. С PyPI первая команда с поддержкой движка загружает закреплённые зависимости; держите uv в PATH и разрешите сетевой доступ для этого первого запуска. Последующие локальные команды переиспользуют движок офлайн. Клиенты устанавливают только beancount-io, без отдельного пакета Beancount или нативных консольных скриптов для управления.

Финансовые отчёты​

ОтчётВывод
bea report overviewАктивы, обязательства, доходы, расходы, чистый капитал и интервальные ряды
bea report income-statementДеревья доходов/расходов, чистая прибыль и строки периодов
bea report balance-sheetДеревья активов/обязательств/капитала и производная сверка
bea report trial-balanceОстатки по счетам

Все отчёты принимают --conversion / -x, --time / -t, --account / -a и --allow-errors. Все, кроме trial balance, также принимают --interval / -i: по умолчанию monthly, либо quarterly, yearly, weekly или daily.

bea balance [ACCOUNT...] выводит поддеревья остатков для счетов, соответствующих подстрокам без учёта регистра, или весь реестр, когда вы не называете ни одного. Он принимает --conversion / -x, --time / -t и --allow-errors и не принимает интервал или параметр счёта.

Временные фильтры включают год, месяц, дату, квартал, неделю или диапазон, например 2026, 2026-08, 2026-08-31, 2026-Q3, 2026-W32 или "2026-01 - 2026-08". Относительные периоды включают year, quarter, month, week, day и смещения, например month-1. Фильтры счетов сохраняют каждую проводку подходящей транзакции.

Конвертация по умолчанию использует единственную операционную валюту реестра. Иначе она по умолчанию использует units, сохраняя товары раздельно. at_cost использует стоимости приобретения. at_value использует рыночные стоимости с запасным вариантом по стоимости.

Явная конвертация валюты требует цен на каждую дату оценки или раньше, включая даты интервалов. Ошибка отсутствующей цены называет фактический пробел, например No EUR → USD price on or before 2026-01-31. Более поздняя котировка не может заполнить более ранний пробел. Добавьте исторически подходящую цену, используйте --conversion units или выберите --allow-errors, чтобы изучить частичные значения.

Частичные отчёты сохраняют исходные валюты и помечают объединённые итоги как недоступные. JSON включает valuation: "partial", missing_prices и missing_price_dates. Затронутые итоги чистой прибыли и чистого капитала равны null в запрошенной валюте.

Доходы, обязательства и капитал обычно используют отрицательные знаки Beancount. Чистая прибыль — это -(income + expenses), положительная для выигрыша. Та же конвенция применяется к строкам периодов отчёта о прибылях и убытках. Сверка балансового отчёта выводится для отчёта; она не записывает директивы. equity_reconciled указывает, доступна ли полная сверка.

JSON отчёта также указывает период, эксклюзивную дату окончания, дату на момент отчёта, конвертацию, фильтр счёта и статус валидации реестра. Проверьте эти поля перед сравнением итогов.

Дополнительная помощь ИИ​

bea ask требует как дополнительный компонент ask, так и учётные данные Beancount.io из bea cloud login или BEA_TOKEN. Установка Homebrew по умолчанию опускает зависимости ИИ. Пользователи Homebrew могут выполнить:

bea cloud login
uvx --from 'beancount-io[ask]' bea ask "What did I spend last month?" --print

Для установки через uv установите beancount-io[ask] и запустите bea ask напрямую. --print / -p отвечает один раз и завершается. В противном случае сессия терминала интерактивна, а необязательный вопрос предзаполняет её ввод. Неинтерактивное использование требует вопроса. Режим JSON не поддерживается.

Запросы выполняются локально. Вопросы, контекст навыков и результаты инструментов отправляются в облачный сервис ИИ Beancount.io. Интерактивные записи предварительно просматриваются, подтверждаются, проверяются и записываются атомарно. Они принимают --into. Глобальный --yes не даёт разрешение на запись ИИ. Режим одного ответа не применяет предложенные записи.

Ask читает NAME/SKILL.md из .agents/skills/ в рабочем каталоге и из skills/ в каталоге пользовательской конфигурации. Определения проекта побеждают по имени. Каждый файл требует полей YAML name и description. Полные инструкции загружаются по требованию. О структуре файлов и рабочем примере см. Расширение bea ask с помощью навыков.

Хостированные реестры​

КомандаПараметры и поведение
bea cloud loginИнтерактивный вход через браузер или устройство
bea cloud logoutПопытка удалённого выхода и очистка сохранённых учётных данных
bea cloud statusУчётная запись, источник учётных данных и срок действия
bea cloud ledger list--page по умолчанию 1; --limit по умолчанию 50, максимум API 100
bea cloud ledger show OWNER/NAMEИзучить облачный реестр
bea cloud ledger create NAME--description / -d, --private / --public; по умолчанию приватный
bea cloud ledger clone OWNER/NAMESSH-клонирование; необязательный --dir PATH
bea cloud ledger delete OWNER/NAMEБезвозвратное удаление; требуется подтверждение или глобальный --yes

С глобальным --json команды bea cloud status, bea cloud ledger list, bea cloud ledger show, bea cloud ledger create и bea cloud ledger delete выводят стандартный конверт. Вход требует взаимодействия; успешный выход и клонирование не возвращают объект успеха JSON.

Создание также принимает --clone и --dir. Для клонирования требуются доступ Git и SSH. Если клонирование не удалось после создания, облачный реестр всё равно существует. Локальные команды не загружают ваш реестр автоматически. Глобального параметра --ledger нет.

JSON и коды завершения​

Глобальный --json помещает успешные результаты в stdout:

{
  "bea": "0.2.0",
  "target": { "file": "/home/alice/my-books/main.bean" },
  "data": [],
  "truncated": false,
  "limit": 50
}

bea — установленная версия; data зависит от команды. Цели идентифицируют файл, каталог, сервер или отсутствие цели. Включённые записи также идентифицируют into. Десятичные суммы и даты используют строки. Ограниченные списки включают limit и truncated.

Ошибки записывают {"error":{"category":"validation","message":"…","exit_code":1}} в stderr. Ошибка также может включать details, result, бэкенд request_id и traceback при --debug.

КодКатегорияЗначение
0—Успех, включая предпросмотры и намеренные пропуски дубликатов
1validationОшибка реестра/схемы, сбой проверки форматирования или другой сбой времени выполнения
2usageНеверные аргументы, отсутствующая цель/ввод или отсутствующие опциональные зависимости
3authОшибка аутентификации или разрешений
4conflictПараллельное редактирование, требуется проверка импорта, существующая цель init или неясный результат удалённой записи

Проверьте error.result перед повторной попыткой изменения. Частичный пакет может записать принятые строки, рекурсивное форматирование может изменить допустимые файлы, а создание с клонированием может создать облачный реестр до выхода с ненулевым кодом. О скрипте, который читает этот конверт с помощью jq и ветвится по этим кодам, см. Автоматизация бухгалтерии с bea.

Запросы CLI отключаются --no-input, режимом JSON, нетерминальным stdin или истинным CI. Удаление в облаке всё равно требует явного --yes. Импорты требуют явного решения о дубликатах, когда совпадения нужно проверить.

Исключения вывода: doctor, example, treeify, вызовы price, переданные в Beanprice, и ingest сохраняют нативный вывод и статус выхода даже при глобальном --json; конверт и категории выхода выше не описывают эти переданные результаты. Ask отклоняет JSON; облачный вход требует взаимодействия; успешные облачный выход и клонирование не возвращают объект успеха JSON. Справка, версия и автодополнение сохраняют текстовый вывод. upgrade может транслировать вывод своего пакетного менеджера в stderr, в том числе в режиме JSON.

Настройки, обновления и сохраненное состояние​

Переменная окруженияНазначение
BEA_FILEКорневой реестр по умолчанию после --file
BEA_CONFIG_DIRПереопределить каталог пользовательской конфигурации
XDG_CONFIG_HOMEИначе использовать $XDG_CONFIG_HOME/bea, с откатом на ~/.config/bea
XDG_DATA_HOMEБаза управляемого движка PyPI; иначе ~/.local/share/bea/engine/
XDG_CACHE_HOMEБаза каталога кеша; иначе ~/.cache/bea
BEA_TOKENПереопределение облачных учётных данных; имеет приоритет над сохранёнными учётными данными и не сохраняется
BEA_API_URLБаза API; по умолчанию https://api.v3.beancount.io
BEA_DASHBOARD_URLБаза входа через браузер; по умолчанию https://beancount.io
BEA_NO_UPDATE_NOTIFIERОтключить пассивные уведомления об обновлениях, когда истинно
MANAGED_PRICE_ORIGINSРазделённые запятыми источники из списка разрешённых; по умолчанию https://beancount.io; пусто отключает управляемые включения
MANAGED_PRICE_OFFLINEИстинное значение использует только кешированные управляемые цены, как --offline
MANAGED_PRICE_STRICTИстинное значение отклоняет устаревшие или недоступные управляемые источники, как --strict-prices
CIОтключить запросы CLI и пассивные уведомления об обновлениях, когда истинно

Истинные значения: 1, true, yes и on, без учёта регистра и окружающих пробелов. Состояние конфигурации включает учётные данные, историю запросов Ask, пользовательские навыки, запомненные пути импортёров и кеши проверки обновлений. Блокировки записи находятся в locks/ каталога кеша, вне вашего каталога реестра.

bea upgrade --check сообщает версии и способ установки без обновления. bea upgrade вызывает brew upgrade bea, uv tool upgrade beancount-io или pipx upgrade beancount-io. Редактируемые установки получают руководство по ручному обновлению. Пассивные проверки выполняются не чаще раза в день в интерактивных установленных копиях; явный upgrade --check всё равно запускается, когда пассивное уведомление отключено.

Удаляйте с помощью соответствующего менеджера: brew uninstall bea, uv tool uninstall beancount-io или pipx uninstall beancount-io. Ваши файлы реестра и пользовательская конфигурация остаются.

Общие исправления​

СимптомСледующий шаг
Реестр не найденВыберите --file PATH, войдите в каталог реестра или используйте bea init для новых книг
Глобальный флаг говорит «No such option»Переместите его перед командой, как в bea --file main.bean check
Счёт неизвестенОткройте его с помощью bea add open --date YYYY-MM-DD --account ACCOUNT
Счёт неактивенПрочитайте указанные даты открытия/закрытия; исправьте дату транзакции или историю счёта
Pad не использованЗавершите его более поздней проверкой баланса; используйте add balance --pad-from для атомарной пары
Конвертация валюты неполнаДобавьте цены, покрывающие даты, указанные в ошибке, или изучите units
Документ не найденРазрешите его путь рядом с файлом директивы, включая назначение --into
Реестр изменился во время записиИзучите новое содержимое, затем повторите с свежего предпросмотра
Определение оболочки не удалосьУкажите оболочку, например bea --shell zsh --show-completion

Используйте bea COMMAND --help, чтобы изучить вашу установленную версию. Справочник по исходному репозиторию содержит дополнительные примеры и точные определения модели директив.

Источник: https://beancount.io/ru/docs/bea-cli-reference