Перейти до основного вмісту

Довідник Beancount CLI

Знайдіть команди 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]Скористатися необов'язковою хмарною AI-допомогою з локальним реєстром
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Підтвердити операції, як-от видалення в хмарі; не надає дозволу на AI-запис
--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. Подальші записи додавання та імпорту зберігають дозволи та поважають призначення лише для читання. Форматування на місці використовує нативний форматувальник і повідомляє про власні помилки файлової системи.

Додати транзакції​

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 та налаштовані назви коренів.

Баланс перевіряє рахунок на початок своєї дати. Підтримується синтаксис допуску, як-от --amount "1538 ~ 1 EUR". Допуск має бути невід'ємним.

Використовуйте add balance --pad-from Equity:OpeningBalances, щоб записати підкладку та її ствердження балансу разом. Підкладка за замовчуванням припадає на попередній день; --pad-date може вибрати інший раніший день. Обидва рахунки мають бути активними. Окрема підкладка потребує пізнішого балансу, щоб її поглинути. --allow-errors може зафіксувати цей проміжний стан, але не може обійти недійсний рахунок підкладки.

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"

Призначення відносне кореневого каталогу. Воно має вже бути включеним; називання не пов'язаного файлу відхиляється. Команди додавання, імпорти та інтерактивні AI-записи підтримують це розділення.

Записи перевіряють повний реєстр-кандидат, включаючи плагіни та бронювання партій витрат. Одночасна зміна кореня або його графа включень завершується кодом 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За замовчуванням найновіші; застосовується перед межею
--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. Усі, крім пробного балансу, також приймають --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 пропускає AI-залежності. Користувачі 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 не підтримується.

Запити виконуються локально. Запитання, контекст навичок та результати інструментів надсилаються до хмарної AI-служби Beancount.io. Інтерактивні записи попередньо переглядаються, підтверджуються, перевіряються та записуються атомарно. Вони приймають --into. Глобальний --yes не надає дозволу на AI-запис. Режим однієї відповіді не застосовує запропоновані записи.

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/NAMEКлонування через SSH; необов'язковий --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
Рахунок неактивнийПрочитайте зазначені дати відкриття/закриття; виправте дату транзакції або історію рахунку
Підкладка не використанаЗавершіть її пізніше ствердження балансу; використайте add balance --pad-from для атомарної пари
Конвертація валюти неповнаДодайте ціни, що покривають названі в помилці дати, або огляньте units
Документ не знайденоРозв'яжіть його шлях поряд із файлом директиви, включаючи призначення --into
Реєстр змінився під час записуОгляньте новий вміст, потім повторіть із свіжого попереднього перегляду
Визначення оболонки не вдалосяВкажіть оболонку, як-от bea --shell zsh --show-completion

Використовуйте bea COMMAND --help, щоб оглянути вашу встановлену версію. Довідник вихідного репозиторію містить додаткові приклади та точні визначення моделі директив.

Джерело: https://beancount.io/uk/docs/bea-cli-reference