پرش به محتوای اصلی

شروع سریع Beancount CLI

دستور bea را نصب کنید، یک دفتر کل محلی Beancount ایجاد کنید، اولین خرید خود را ثبت کنید و موجودیهای خود را بررسی کنید.

یک دفتر کل محلی ایجاد کنید و اولین خرید خود را با bea، ابزار خط فرمان Beancount.io ثبت کنید. حسابداری محلی به حساب Beancount.io نیاز ندارد.

این راهنمای گام‌به‌گام با 1,000 دلار آمریکا در حساب جاری شروع می‌شود. پس از خرید قهوه به مبلغ 12.50 دلار، موجودی 987.50 دلار را تأیید خواهید کرد.

1. نصب دستور​

با Homebrew در macOS یا لینوکس:

brew install bex-co/tap/bea
bea --version

اگر از Homebrew استفاده نمی‌کنید، uv را نصب کرده و از uv tool install beancount-io استفاده کنید. بسته پایتون به نسخه 3.12 یا بالاتر نیاز دارد. Homebrew در حین نصب موتور حسابداری را فراهم می‌کند. با PyPI، uv را در دسترس نگه دارید: اولین دستور محلی موتور مدیریت‌شده را دانلود می‌کند، سپس دستورات بعدی به‌صورت آفلاین از آن استفاده می‌کنند. نیازی به نصب جداگانه Beancount ندارید.

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 10

5. دفاتر خود را در وضعیت خوبی نگه دارید​

پس از ویرایش دستی فایل، bea check را اجرا کنید. برای تراز کردن ستون‌ها در محل، bea format -i main.bean را اجرا کنید. بدون -i، متن قالب‌بندی‌شده به stdout می‌رود و فایل تغییر نمی‌کند. از bea format main.bean --check استفاده کنید وقتی اسکریپتی باید در صورت نیاز به قالب‌بندی شکست بخورد.

برای کار از دایرکتوری دیگر، فایل ریشه را به صورت صریح انتخاب کنید:

bea --file ~/my-books/main.bean check

ریشه با --file سپس BEA_FILE و پس از آن main.bean در دایرکتوری کاری انتخاب می‌شود. گزینه‌های سراسری قبل از فرمان قرار می‌گیرند. قالب‌بندی آرگومان فایل یا دایرکتوری خود را می‌گیرد.

ادامه با سوابق خودتان​

برای بررسی به‌روزرسانی‌ها از bea upgrade --check استفاده کنید. برای فراخوانی مدیر بسته‌ای که نسخه شما را نصب کرده است bea upgrade را اجرا کنید. از bea --help یا bea add transaction --help برای بررسی گزینه‌های موجود در نسخه نصب‌شده استفاده کنید.

منبع: https://beancount.io/fa/docs/Basics/bea-cli