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

Beancount برگزیده

یک راهنمای منتخب برای اکوسیستم Beancount. Beancount یک سیستم حسابداری قدرتمند و متن‌باز است که از یک قالب متنی ساده برای مدیریت امور مالی شما با دقت حسابداری دوطرفه استفاده می‌کند. این صفحه لیست‌های جمع‌آوری شده توسط جامعه و بررسی‌های کلی اکوسیستم را در یک منبع جامع ترکیب می‌کند.

چرا حسابداری متن‌ساده؟

حسابداری متن‌ساده (PTA) روشی برای مدیریت امور مالی با استفاده از فایل‌های متنی ساده و ابزارهای قدرتمند خط فرمان است. این رویکرد به شما مالکیت کامل داده‌هایتان را می‌دهد، ماندگاری آن‌ها را تضمین می‌کند و انعطاف‌پذیری بی‌نظیری برای اتوماسیون و تحلیل ارائه می‌دهد.


اکوسیستم Beancount

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

۱. هسته اصلی و منابع رسمی

این‌ها عناصر بنیادی Beancount هستند که توسط سازنده و مشارکت‌کنندگان رسمی نگهداری می‌شوند.

منبعتوضیحات
Beancount (هسته)موتور پردازشی که فایل دفتر کل شما را می‌خواند، قوانین حسابداری دوطرفه را اجرا می‌کند و گزارش‌ها را تولید می‌کند. این هسته ابزارهای خط فرمان پایه‌ای مانند bean-check و bean-format را فراهم می‌کند. تمام ابزارهای دیگر بر پایه این ساخته شده‌اند.
صفحه اصلیbeancount.github.io
سورس کدgithub.com/beancount/beancount
مستنداتGitHub Pages و Google Docs
مشارکت‌های خارجیلیست رسمی مشارکت‌های جامعه
Beanqueryیک ابزار پرس‌وجوی قدرتمند و مشابه SQL (نسخه ۳) برای اجرای پرس‌وجوهای پیشرفته (مانند SELECT ... FROM ... WHERE ...) روی دفتر کل شما جهت تولید تحلیل‌های سفارشی.

۲. رابط‌های کاربری

این ابزارها رابط‌های بصری برای بررسی و ویرایش داده‌های مالی شما فراهم می‌کنند.

ابزارتوضیحات
Favaداشبورد وب نهایی و کامل برای Beancount. این ابزار نمودارهای تعاملی، جداول جزئیات، ویرایش در مرورگر و یک سیستم افزونه برای افزودن قابلیت‌هایی مانند بودجه‌بندی را ارائه می‌دهد.
Fava-GTKیک اپلیکیشن دسکتاپ بومی GNOME که Fava را برای یک تجربه دسکتاپ یکپارچه بسته‌بندی می‌کند.
Beancount Mobileیک اپلیکیشن موبایل برای ثبت داده‌ها جهت افزودن تراکنش‌ها در حین حرکت.
Beancount Telegram Botیک ربات تلگرام برای افزودن سریع تراکنش‌ها به دفتر کل از طریق چت.

۳. وارد کردن تراکنش‌ها

وارد کردن (Importing) فرآیند تبدیل داده‌ها از موسسات مالی (مانند فایل‌های CSV بانکی یا PDF) به ورودی‌های Beancount است.

ابزارتوضیحات
Beangulp (v3)فریم‌ورک مدرن و مستقل برای ساخت واردکننده‌ها. این ابزار فایل‌های خارجی را از طریق اسکریپت‌های پایتون (پلاگین‌ها) پردازش می‌کند تا دستورالعمل‌های Beancount را تولید کند.
Smart Importerابزاری که واردکننده‌ها را با یادگیری ماشین تقویت می‌کند تا به‌طور خودکار دسته‌بندی‌ها را پیش‌بینی و تخصیص دهد.
Beancount Reds Ingestorمجموعه‌ای از واردکننده‌ها با یک کتابخانه مشترک برای مدیریت فایل‌های CSV و OFX.
double-entry-generatorیک واردکننده مبتنی بر قانون که بر سرویس‌های چینی مانند Alipay و WeChat Pay تمرکز دارد.

واردکننده‌های جامعه (بر اساس کشور)

مجموعه‌ای گسترده از اسکریپت‌ها برای بانک‌ها و سرویس‌های خاص که توسط جامعه نگهداری می‌شود.

۴. پشتیبانی ویرایشگر و ابزارها

ابزارهایی که Beancount را در محیط توسعه شما ادغام می‌کنند تا ویرایش و نگهداری را ساده‌تر کنند.

  • پشتیبانی IDE: پلاگین‌هایی که قابلیت‌هایی مانند برجسته‌سازی نحو (syntax highlighting)، تکمیل خودکار و بررسی آنی موجودی را فراهم می‌کنند.
  • اتوماسیون و ابزارهای کاربردی:
    • bean-add: افزودن تراکنش‌ها به‌صورت تعاملی از خط فرمان.
    • beancount-black: یک فرمت‌کننده کد با ساختار مشخص برای فایل‌های Beancount.
    • beancount-categorizer: دسته‌بندی خودکار تراکنش‌ها با استفاده از قوانین عبارت باقاعده (regex).
    • beanahead: مدیریت و پیش‌بینی تراکنش‌های آینده.
  • ابزارهای انتقال داده: ابزارهایی برای تبدیل داده‌ها از سایر سیستم‌های حسابداری.

۵. پلاگین‌ها (افزونه‌های دفتر کل)

ماژول‌های پایتون درون دفتر کل (In-ledger) که هنگام پردازش برای اجرای قوانین سفارشی، خودکارسازی تراکنش‌ها یا افزودن ویژگی‌های جدید اجرا می‌شوند.

  • بودجه‌بندی:
    • fava-envelope: یک افزونه Fava برای بودجه‌بندی به روش پاکتی (envelope-style).
  • اتوماسیون و بررسی‌ها:
    • autobean.share: تقسیم هزینه‌ها و مدیریت بدهی.
    • autobean.sorted: اطمینان از اینکه تراکنش‌ها به ترتیب زمانی مرتب شده‌اند.
    • beancount-checkclosed: بررسی خودکار برای موجودی صفر در حساب‌های بسته‌شده.
  • دست‌کاری داده‌ها:

۶. منابع قیمت

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

  • beancount-exchangerates: برای ارزهای فیات از طریق APIهایی مانند frankfurter.dev.
  • pricehist: یک دریافت‌کننده قیمت چندمنبعی.
  • beancount-cryptoassets: برای دریافت قیمت ارزهای دیجیتال.
  • tariochbctools: شامل یک منبع قیمت برای Interactive Brokers.

آموزش و انجمن

کتاب‌ها و راهنماهای جامع

پست‌های منتخب وبلاگ

انجمن


خدمات و اپلیکیشن‌های تجاری

برای کاربرانی که قدرت Beancount را بدون مدیریت زیرساخت توسط خودشان می‌خواهند.

سرویستوضیحات
Beancount.ioیک پلتفرم SaaS (نرم‌افزار به عنوان سرویس) که یک نمونه آماده Beancount و Fava را ارائه می‌دهد. همچنین اپلیکیشن‌های موبایل اختصاصی برای iOS و Android ارائه می‌کند.