Beancount برگزیده
یک راهنمای منتخب برای اکوسیستم Beancount. Beancount یک سیستم حسابداری قدرتمند و متنباز است که از یک قالب متنی ساده برای مدیریت امور مالی شما با دقت حسابداری دوطرفه استفاده میکند. این صفحه لیستهای جمعآوری شده توسط جامعه و بررسیهای کلی اکوسیستم را در یک منبع جامع ترکیب میکند.
چرا حسابداری متنساده؟
حسابداری متنساده (PTA) روشی برای مدیریت امور مالی با استفاده از فایلهای متنی ساده و ابزارهای قدرتمند خط فرمان است. این رویکرد به شما مالکیت کامل دادههایتان را میدهد، ماندگاری آنها را تضمین میکند و انعطافپذیری بینظیری برای اتوماسیون و تحلیل ارائه میدهد.
- مرکز رسمی PTA: Plain Text Accounting
- مقدمهای ساده: حسابداری برای ذهنهای ساده با حسابداری متنساده
- از وباپلیکیشنها تا خط فرمان: حسابداری خط فرمان: از mint.com به Ledger
اکوسیستم 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 تمرکز دارد. |
واردکنندههای جامعه (بر اساس کشور)
مجموعهای گسترده از اسکریپتها برای بانکها و سرویسهای خاص که توسط جامعه نگهداری میشود.
- چین
- Alipay / 支付宝: deb-sig/double-entry-generator, wzyboy/importer
- بانک بازرگانان چین (CMB): کارت نقدی، کارت اعتباری
- WeChat Pay / 微信支付: deb-sig/double-entry-generator
- فرانسه
- Caisse d'Epargne: beancount-ce
- Boursorama, Amex: Beancount-myTools
- آلمان
- Commerzbank: beancount-commerzbank
- Deutsche Kredit Bank (DKB): beancount-dkb
- ING: beancount-ing
- N26: beancount-n26
- Volksbank & GLS-Bank: beancount-importer-volksbank
- هند
- SBI, BOI, Paytm, HSBC, ICICI: beancount-importers-india
- هلند
- ABN AMRO: beancount-abnamro
- سوئیس
- عمومی: tariochbctools (BCGE, Neon, Raiffeisen, ZKB, Fidelity)
- Finpension: drnuke-bean
- PostFinance: tariochbctools, drnuke-bean
- بریتانیا
- Monzo, Revolut, Wise: Evernight/beancount-importers
- Revolut, Wise: tariochbctools
- ایالات متحده
- Amex, Chase, Citi, Schwab: mterwill/gist
- Capital One: mtlynch/beancount-capitalone
- Chase: mtlynch/beancount-chase-bank, ArthurFDLR/beancount-chase
- Clipper: beancount-clipper
- Mercury: mtlynch/beancount-mercury
- بلاکچین
۴. پشتیبانی ویرایشگر و ابزارها
ابزارهایی که Beancount را در محیط توسعه شما ادغام میکنند تا ویرایش و نگهداری را سادهتر کنند.
- پشتیبانی IDE: پلاگینهایی که قابلیتهایی مانند برجستهسازی نحو (syntax highlighting)، تکمیل خودکار و بررسی آنی موجودی را فراهم میکنند.
- VSCode
- Emacs
- Vim
- Zed
- Sublime Text
- Atom
- Beancount Language Server (برای هر ویرایشگر سازگار با LSP)
- اتوماسیون و ابزارهای کاربردی:
bean-add: افزودن تراکنشها بهصورت تعاملی از خط فرمان.beancount-black: یک فرمتکننده کد با ساختار مشخص برای فایلهای Beancount.beancount-categorizer: دستهبندی خودکار تراکنشها با استفاده از قوانین عبارت باقاعده (regex).beanahead: مدیریت و پیشبینی تراکنشهای آینده.
- ابزارهای انتقال داده: ابزارهایی برای تبدیل دادهها از سایر سیستمهای حسابداری.
- از GnuCash: henriquebastos/gc-to-bc, dtrai2/gc-to-bc
- از Ledger/hledger: travisdahlke/gist, zacchiro/ledger2beancount
- از YNAB: hoostus/beancount-ynab
۵. پلاگینها (افزونههای دفتر کل)
ماژولهای پایتون درون دفتر کل (In-ledger) که هنگام پردازش برای اجرا ی قوانین سفارشی، خودکارسازی تراکنشها یا افزودن ویژگیهای جدید اجرا میشوند.
- بودجهبندی:
- fava-envelope: یک افزونه Fava برای بودجهبندی به روش پاکتی (envelope-style).
- اتوماسیون و بررسیها:
- autobean.share: تقسیم هزینهها و مدیریت بدهی.
- autobean.sorted: اطمینان از اینکه تراکنشها به ترتیب زمانی مرتب شدهاند.
- beancount-checkclosed: بررسی خودکار برای موجودی صفر در حسابهای بستهشده.
- دستکاری دادهها:
- autobean.narration: تولید خودکار شرح تراکنشها.
- beancount-lazy-plugins.filter_map: اعمال عملیات روی گروه فیلتر شدهای از تراکنشها.
۶. منابع قیمت
اسکریپتهایی که قیمتهای تاریخی و جاری کالاها، سهام و ارزها را برای ردیابی ارزش سرمایهگذاری دریافت میکنند.
- beancount-exchangerates: برای ارزهای فیات از طریق APIهایی مانند
frankfurter.dev. - pricehist: یک دریافتکننده قیمت چندمنبعی.
- beancount-cryptoassets: برای دریافت قیمت ارزهای دیجیتال.
- tariochbctools: شامل یک منبع قیمت برای Interactive Brokers.
آموزش و انجمن
کتابها و راهنماهای جامع
- ردیابی امور مالی شخصی با استفاده از پایتون: کتابی که راهنمایی جامع برای ساخت یک سیستم مالی شخصی با Beancount ارائه میدهد. (وبسایت)
- مجموعه وبلاگ چینی (BYVoid): بخش ۱: چرا؟، بخش ۲: بدهکار و بستانکار
پستهای منتخب وبلاگ
- انگلیسی
- فرانسوی
- چینی
انجمن
- لیست پستی: Google Groups (انجمن اصلی گفتگو)
- گفتگوی زنده (IRC): #beancount در web.libera.chat
- تلگرام (چینی): t.me/beancount_zh
خدمات و اپلیکیشنهای تجاری
برای کاربرانی که قدرت Beancount را بدون مدیریت زیرساخت توسط خودشان میخواهند.
| سرویس | توضیحات |
|---|---|
| Beancount.io | یک پلتفرم SaaS (نرمافزار به عنوان سرویس) که یک نمونه آماده Beancount و Fava را ارائه میدهد. همچنین اپلیکیشنهای موبایل اختصاصی برای iOS و Android ارائه میکند. |
