پرش به محتوای اصلی
Beancount.io Logo
مرجع خط فرمان Beancount

مرجع خط فرمان Beancount

دستورهای bea، گزینه‌ها، رفتار گزارش‌ها، خروجی JSON، کدهای خروجی و رفع خطاهای رایج دفتر کل محلی را بیابید.

از این مرجع برای جستجوی دستورهای 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 ask [QUESTION]استفاده از کمک هوش مصنوعی میزبانی‌شده اختیاری با یک دفتر کل محلی
bea cloud …ورود و مدیریت دفترهای کل میزبانی‌شده
bea upgrade [--check]ارتقا با مدیر بسته مربوطه، یا بررسی وجود به‌روزرسانی

گزینه‌های سراسری و مسیرها

گزینه‌های سراسری قبل از دستور قرار می‌گیرند:

bea --file ~/my-books/main.bean check
bea --json list transaction --limit 100
گزینهرفتار
--file / -f PATHانتخاب دفتر کل ریشه؛ BEA_FILE و ./main.bean را نادیده می‌گیرد
--jsonخروجی ساختاریافته؛ همچنین اعلان‌های خط فرمان را غیرفعال می‌کند
--no-inputغیرفعال‌کردن اعلان‌ها؛ ورودی الزامی از دست رفته با کد 2 خارج می‌شود
--yes / -yتأیید عملیات‌هایی مانند حذف ابری؛ به هوش مصنوعی اجازه نوشتن نمی‌دهد
--debugشامل ردیابی استثناها
--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, و 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 را به یک حساب بازشده به یورو و -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 از حروف یونیکد و نام‌های ریشه پیکربندی‌شده پشتیبانی می‌کند.

یک مانده، حساب را در ابتدای تاریخ خود بررسی می‌کند. نحو تلورانس پشتیبانی می‌شود، مانند --amount "1538 ~ 1 EUR". تلورانس باید غیرمنفی باشد.

از add balance --pad-from Equity:OpeningBalances برای نوشتن یک پد و اظهارنظر مانده آن با هم استفاده کنید. پد به طور پیش‌فرض روز قبل است؛ --pad-date می‌تواند روز قبلی دیگری را انتخاب کند. هر دو حساب باید فعال باشند. یک پد مستقل برای مصرف آن به یک مانده بعدی نیاز دارد. --allow-errors می‌تواند آن حالت میانی را مرحله‌بندی کند اما نمی‌تواند یک حساب پد نامعتبر را دور بزند.

add price یک تکرار دقیق تاریخ/کالا/قیمت در سراسر ریشه و includes آن را رد می‌کند. با کد 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"

مقصد نسبت به دایرکتوری ریشه است. باید از قبل شامل شده باشد؛ نام‌گذاری یک فایل نامرتبط رد می‌شود. دستورهای افزودن، واردات و نوشتن‌های تعاملی هوش مصنوعی از این جداسازی پشتیبانی می‌کنند.

نوشتن‌ها کل دفتر کل کاندید، از جمله پلاگین‌ها و ذخیره‌سازی هزینه-لوت را اعتبارسنجی می‌کنند. تغییر همزمان در ریشه یا گراف include آن با کد 4 خارج می‌شود. یک مقصد فقط-خواندنی با کد 3 خارج می‌شود. افزودن‌های موفق از همان ترازبندی bea format استفاده می‌کنند، که ممکن است ستون‌های موجود در آن مقصد را دوباره تراز کند.

فهرست‌کردن دستورها

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 TEXTتراکنش، باز کردن، بستن، مانده، پد، یادداشت، سندزیررشته حساب غیرحساس به بزرگی/کوچکی حروف
--currency / -c SYMBOLقیمت، کالانماد دقیق غیرحساس به بزرگی/کوچکی حروف؛ قیمت کالای پایه خود را فیلتر می‌کند
--sort newest/oldestتراکنشپیش‌فرض جدیدترین؛ قبل از محدودیت اعمال می‌شود
--flag CHARACTERتراکنشفیلتر ورودی‌هایی مانند ! قبل از محدودیت
--detailsتراکنشرندر نحو Beancount، هر پستینگ، فراداده و مکان‌های منبع

انواع دیگر دستورها ترتیب زمانی را حفظ می‌کنند. جدول تراکنش فیلترشده با حساب، ستون مبلغ خود را MATCHING POSTING AMOUNTS برچسب‌گذاری می‌کند. جزئیات و JSON همچنان شامل همه پستینگ‌های هر تراکنش انتخاب‌شده هستند. جزئیات ورودی‌های بارگذاری‌شده، از جمله مبالغ استنتاج‌شده را رندر می‌کنند؛ آن‌ها گزیده‌های خام منبع نیستند.

بررسی، قالب‌بندی و کوئری

bea check ریشه و includes را اعتبارسنجی می‌کند. برای خطاهای دفتر کل با کد 1 خارج می‌شود و گزینه --allow-errors ندارد. کوئری‌ها، فهرست‌ها و گزارش‌ها نیز خطاهای بارگذار را رد می‌کنند مگر اینکه به صراحت گزینه --allow-errors خود را منتقل کنید.

قالب‌بندی یک فایل .bean/.beancount یا یک دایرکتوری را می‌گیرد. یک دایرکتوری به صورت بازگشتی جستجو می‌شود.

حالت قالب‌بندیمی‌نویسد؟رفتار خروج
bea format PATHبله0 پس از موفقیت
bea format PATH --dry-runخیر0 حتی وقتی فایل‌ها تغییر می‌کردند
bea format PATH --checkخیر1 وقتی قالب‌بندی لازم است؛ 0 وقتی تمیز است

هر حالت خطاهای نحوی را بر اساس فایل و خط گزارش می‌کند، آن فایل‌ها را رد می‌کند و با کد 1 خارج می‌شود. یک اجرای معمولی بازگشتی همچنان می‌تواند فایل‌های معتبر را قالب‌بندی کند. JSON در شکست، scanned, formatted, skipped, dry_run, و check را در error.result گزارش می‌کند.

bea query "BQL" یک کوئری Beancount را اجرا می‌کند. حذف BQL یک پوسته تعاملی باز می‌کند؛ exit یا quit آن را می‌بندد. یک آرگومان کوئری در حالت غیرتعاملی الزامی است. جدول پیش‌فرض BQL یک ردیف به ازای هر پستینگ دارد. جدول‌های کوئری دقت را حفظ می‌کنند. نتایج خالی (no rows) را در stderr چاپ می‌کنند؛ JSON یک data.rows خالی و فراداده ستون در data.columns برمی‌گرداند.

گزارش‌های مالی

گزارشخروجی
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.

فیلترهای زمانی شامل یک سال، ماه، تاریخ، سه‌ماهه، هفته یا بازه هستند، مانند 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 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 سراسری الزامی است

ایجاد همچنین --clone و --dir را می‌پذیرد. برای کلون‌کردن به دسترسی Git و SSH نیاز است. اگر کلون پس از ایجاد شکست بخورد، دفتر کل میزبانی‌شده همچنان وجود دارد. دستورهای محلی دفتر کل شما را به طور خودکار آپلود نمی‌کنند. هیچ گزینه سراسری --ledger وجود ندارد.

JSON و کدهای خروج

--json سراسری نتایج موفق را در stdout قرار می‌دهد:

{
  "bea": "0.1.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 را بررسی کنید. یک دسته جزئی می‌تواند ردیف‌های پذیرفته‌شده را بنویسد، قالب‌بندی بازگشتی می‌تواند فایل‌های معتبر را تغییر دهد و ایجاد-و-کلون می‌تواند قبل از خروج با کد غیرصفر، یک دفتر کل میزبانی‌شده ایجاد کند.

اعلان‌های خط فرمان توسط --no-input, حالت JSON, stdin غیرترمینال یا CI درست غیرفعال می‌شوند. حذف ابری همچنان به --yes صریح نیاز دارد. واردات زمانی که تطابق‌ها نیاز به بررسی دارند، به یک تصمیم تکراری صریح نیاز دارند.

استثناهای خروج: Ask JSON را رد می‌کند؛ ورود ابری به تعامل نیاز دارد؛ خروج موفق ابری و کلون هیچ شیء موفقیت JSON برنمی‌گردانند. راهنما، نسخه و تکمیل خروجی متنی را حفظ می‌کنند. upgrade می‌تواند خروجی مدیر بسته خود را به stderr جریان دهد، از جمله در حالت JSON.

تنظیمات، به‌روزرسانی‌ها و حالت ذخیره‌شده

متغیر محیطیهدف
BEA_FILEدفتر کل ریشه پیش‌فرض پس از --file
BEA_CONFIG_DIRنادیده‌گرفتن دایرکتوری پیکربندی کاربر
XDG_CONFIG_HOMEدر غیر این صورت از $XDG_CONFIG_HOME/bea استفاده کنید و در صورت نبود به ~/.config/bea برگردید
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غیرفعال‌کردن اعلان‌های به‌روزرسانی غیرفعال در صورت درست بودن
CIغیرفعال‌کردن اعلان‌های خط فرمان و اعلان‌های به‌روزرسانی غیرفعال در صورت درست بودن

مقادیر درست عبارتند از 1, true, yes, و on، بدون حساسیت به بزرگی/کوچکی حروف و فاصله‌های اطراف. حالت پیکربندی شامل اعتبارنامه‌ها، تاریخچه اعلان Ask، مهارت‌های کاربر، مسیرهای importer به خاطر سپرده‌شده و کش‌های بررسی به‌روزرسانی است. قفل‌های نوشتن در زیر 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 استفاده کنید
یک پرچم سراسری می‌گوید «گزینه‌ای وجود ندارد»آن را قبل از دستور حرکت دهید، مانند 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 برای بررسی نسخه نصب‌شده خود استفاده کنید. مرجع مخزن منبع شامل مثال‌های اضافی و تعریف‌های دقیق مدل دستور است.