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

10 پست با برچسب "بین‌کانت"

مشاهده همه برچسب‌ها

راهنمای جامع حسابداری ارز دیجیتال با Beancount.io

· 13 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

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

این واقعیت تلخ است: هر تراکنش کریپتو به طور بالقوه مشمول مالیات است و سازمان امور مالیاتی (IRS) در حال نظارت است. چه یک دارنده معمولی بیت‌کوین باشید و چه یک کاربر حرفه‌ای DeFi که موقعیت‌های خود را در ده‌ها پروتکل مدیریت می‌کنید، نگهداری سوابق مالی دقیق اختیاری نیست – بلکه برای انطباق (با قوانین) و وضوح مالی ضروری است.

مشکل چیست؟ نرم‌افزارهای حسابداری سنتی پشتیبانی بومی محدودی برای پیچیدگی‌های کریپتو دارند. در حالی که ابزارهایی مانند کوییک‌بوکس می‌توانند با افزونه‌های اضافی کریپتو را مدیریت کنند، و اکسل می‌تواند داده‌های بلاک‌چین را با اسکریپت وارد کند، اکثر راه‌حل‌ها برای حسابداری جامع کریپتو نیاز به سفارشی‌سازی قابل توجهی دارند.

راه‌حل چیست؟ سیستم حسابداری متن ساده Beancount.io که بر اساس زبان قدرتمند متن‌باز Beancount ساخته شده است. نکته مهم: Beancount یک زبان حسابداری دوطرفه متن‌باز است که توسط مارتین بلیس ایجاد شده، در حالی که Beancount.io یک سرویس میزبانی تجاری است که یک رابط کاربری دوستانه و زیرساخت ابری برای Beancount فراهم می‌کند. این راهنما هم اصول اساسی Beancount و هم نحوه استفاده موثر از آن‌ها را از طریق پلتفرم Beancount.io پوشش می‌دهد.

راهنمای کامل حسابداری ارزهای دیجیتال

کابوس حسابداری رمزارز (و چرا بدتر می‌شود)

سبد رمزارز شما در همه جا پراکنده است

بیایید در مورد وضعیت شما صادق باشیم. شما احتمالاً موارد زیر را دارید:

  • ۳-۵ صرافی مختلف (کوین‌بیس برای خریدهای آسان، بایننس برای آلت‌کوین‌ها، کراکن برای آن یک توکن خاص...)
  • کیف پول‌های متعدد (متامسک برای دیفای، لجر برای نگهداری بلندمدت، آن کیف پول قدیمی که فراموش کرده‌اید...)
  • موقعیت‌های دیفای در بیش از ۱۰ پروتکل (یونی‌سواپ، کامپاند، آوه، و هر ییلد فارم جدیدی که توجه شما را جلب کرده است)
  • پاداش‌های استیکینگ که از اعتبارسنج‌های مختلف به آرامی وارد می‌شوند
  • ایردراپ‌های تصادفی که مانند هدایای کریسمس رمزارزی در کیف پول شما ظاهر می‌شوند

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

انواع تراکنش‌هایی که حسابداری سنتی را به چالش می‌کشند

فعالیت‌های رمزارزی شما شامل انواع تراکنش‌هایی است که سیستم‌های حسابداری سنتی در ابتدا برای مدیریت آن‌ها طراحی نشده بودند:

  • زیان ناپایدار ناشی از تأمین نقدینگی (سعی کنید این را به QuickBooks توضیح دهید)
  • وام‌های فلش که میلیون‌ها را در یک تراکنش واحد وام می‌گیرند و بازپرداخت می‌کنند
  • فارم سود که در آن برای تأمین نقدینگی، ۵ توکن مختلف کسب می‌کنید
  • پل‌های بین‌زنجیره‌ای که دارایی‌ها را در یک شبکه ناپدید کرده و در شبکه‌ای دیگر ظاهر می‌کنند
  • مشتقات استیکینگ مانند stETH که ارزش را متفاوت از دارایی پایه انباشت می‌کنند
  • توکن‌های حاکمیتی DAO که برای استفاده از پروتکل‌ها دریافت کردید

میدان مین رعایت مالیاتی

این‌ها مواردی هستند که خواب را از چشمان سرمایه‌گذاران رمزارز می‌ربایند:

  • هر معامله‌ای مشمول مالیات است (بله، حتی آن مبادله ETH به USDC)
  • ردیابی مبنای بهای تمام شده با صدها ریزتراکنش غیرممکن می‌شود
  • پاداش‌های استیکینگ درآمد محسوب می‌شوند به محض دریافت آن‌ها (با ارزش منصفانه بازار)
  • پاداش‌های دیفای درآمد هستند حتی اگر هنوز نتوانید آن‌ها را بفروشید
  • سازمان امور مالیاتی (IRS) فرم 8949 را می‌خواهد که هر تراکنش در آن فهرست شده باشد
  • جریمه‌ها سنگین هستند در صورت اشتباه

نرم‌افزار حسابداری سنتی برای این پیچیدگی نیازمند سفارشی‌سازی قابل توجهی است. در حالی که راه‌حل‌هایی وجود دارند، اغلب به افزونه‌ها، اسکریپت‌ها یا فرآیندهای دستی اضافی برای مدیریت دامنه کامل فعالیت‌های رمزارزی نیاز دارند.

ورود به Beancount.io: راهکار حسابداری رمزارز که منتظرش بودید

اگر به شما بگویم سیستمی حسابداری وجود دارد که دقیقاً برای مدیریت این هرج و مرج طراحی شده است، چه؟ Beancount.io فقط یک ابزار حسابداری دیگر نیست—این یک انقلاب حسابداری متنی ساده است که پیچیدگی رمزارز را طوری مدیریت می‌کند که گویی برای همین کار متولد شده است.

چرا Beancount.io در حسابداری رمزارز پیشتاز است

🔍 شفافیت کامل: هر محاسبه‌ای قابل مشاهده است. بدون جعبه سیاه، بدون الگوریتم‌های "به ما اعتماد کنید". شما دقیقاً می‌بینید که مبنای هزینه شما چگونه محاسبه می‌شود، سودها چگونه محاسبه می‌شوند و هر ساتوشی به کجا رفته است.

📊 انعطاف‌پذیری نامحدود: هر ساختار حسابی که نیاز دارید ایجاد کنید. موقعیت‌های دیفای (DeFi)، مشتقات استیکینگ، دارایی‌های بین‌زنجیره‌ای، یا آن توکن عجیب و غریبی که از رأی‌گیری DAO به دست آورده‌اید را ردیابی کنید. اگر بتوانید آن را تصور کنید، می‌توانید آن را ردیابی کنید.

🎯 مبنای هزینه دقیق: ردیابی مبتنی بر لات با شناسایی خاص. دقیقاً انتخاب کنید که کدام بیت‌کوین را برای نتایج مالیاتی بهینه می‌فروشید. FIFO، LIFO، یا انتخاب لات‌های دلخواه شما — انتخاب با شماست.

🔗 مقاوم در برابر آینده: فرمت متن ساده به این معنی است که داده‌های شما برای همیشه متعلق به شماست. بدون قفل شدن به فروشنده، بدون فرمت‌های اختصاصی، بدون ایمیل‌های "متاسفیم، ما در حال تعطیلی هستیم".

⚡ قدرت اسکریپت‌پذیری: واردات را خودکار کنید، گزارش‌های سفارشی ایجاد کنید و با هر ابزری یکپارچه شوید. از آنجا که سبد رمزارز شما منحصر به فرد است، حسابداری شما نیز باید همینطور باشد.

راه‌اندازی مرکز فرماندهی رمزارز شما

ساخت معماری حساب‌های شما

این را به مثابه طراحی نقشه راه برای امپراتوری رمزارز خود در نظر بگیرید. ما در حال ایجاد ساختاری هستیم که می‌تواند همه چیز را از اولین خرید بیت‌کوین شما گرفته تا استراتژی‌های پیچیده دیفای چند پروتکلی مدیریت کند:

نکته: مثال‌ها از 1970-01-01 به عنوان تاریخ بازگشایی حساب موقت استفاده می‌کنند. برای استفاده واقعی، آن را با تاریخ‌های واقعی بازگشایی حساب‌های خود جایگزین کنید، به خصوص اگر از ابزارهای واردات خودکار استفاده می‌کنید که تراکنش‌ها را بر اساس تاریخ فیلتر می‌کنند.

; حساب‌های صرافی
1970-01-01 open Assets:Crypto:Coinbase:USD
1970-01-01 open Assets:Crypto:Coinbase:BTC
1970-01-01 open Assets:Crypto:Coinbase:ETH
1970-01-01 open Assets:Crypto:Binance:USD
1970-01-01 open Assets:Crypto:Binance:BTC
1970-01-01 open Assets:Crypto:Binance:ETH
1970-01-01 open Assets:Crypto:Binance:ADA

; حساب‌های کیف پول
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:MetaMask:UNI
1970-01-01 open Assets:Crypto:Wallet:Ledger:BTC
1970-01-01 open Assets:Crypto:Wallet:Ledger:ETH

; حساب‌های پروتکل دیفای
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:Staking:Ethereum:ETH
1970-01-01 open Assets:Crypto:Mining:BTC

; حساب‌های درآمد
1970-01-01 open Income:Crypto:Staking:ETH
1970-01-01 open Income:Crypto:Mining:BTC
1970-01-01 open Income:Crypto:Airdrops
1970-01-01 open Income:Crypto:DeFi:Yield
1970-01-01 open Income:CapitalGains:Crypto
1970-01-01 open Income:Crypto:Trading:Margin

; حساب‌های هزینه
1970-01-01 open Expenses:Crypto:Fees:Trading
1970-01-01 open Expenses:Crypto:Fees:Network
1970-01-01 open Expenses:Crypto:Fees:Withdrawal

; حساب‌های اضافی برای سناریوهای پیشرفته
1970-01-01 open Assets:Crypto:Binance:BTC-Margin
1970-01-01 open Liabilities:Crypto:Binance:Borrowed
1970-01-01 open Liabilities:Crypto:Binance:BTC
1970-01-01 open Assets:Checking
1970-01-01 open Expenses:Crypto:Mining:Electricity

تعاریف کالاها

ارزهای دیجیتال خود را به عنوان کالا با فراداده مناسب تعریف کنید:

1970-01-01 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"
price-source: "coinbase"

1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"
price-source: "coinbase"

1970-01-01 commodity ADA
name: "Cardano"
asset-class: "cryptocurrency"
price-source: "binance"

1970-01-01 commodity USDC
name: "USD Coin"
asset-class: "stablecoin"
price-source: "coinbase"

1970-01-01 commodity UNI
name: "Uniswap"
asset-class: "cryptocurrency"
price-source: "coinbase"

1970-01-01 commodity UNI-V2-ETH-USDC
name: "Uniswap V2 ETH-USDC LP Token"
asset-class: "liquidity-pool"

تسلط بر تراکنش‌های رمزارزی: از ساده تا پیشرفته

آماده‌اید Beancount.io را در عمل ببینید؟ بیایید سناریوهای واقعی را بررسی کنیم که سیستم‌های حسابداری دیگر را دچار مشکل می‌کنند، اما در اینجا به شکلی ظریف و کارآمد مدیریت می‌شوند.

۱. اولین خرید بیت‌کوین شما (نقطه آغاز)

هر سفر کریپتو از جایی شروع می‌شود. در اینجا نحوه ثبت آن لحظه تغییردهنده زندگی که اولین بیت‌کوین خود را خریدید، آمده است:

2024-01-15 * "Buy 0.5 BTC on Coinbase"
Assets:Crypto:Coinbase:BTC 0.5 BTC {30000.00 USD}
Assets:Crypto:Coinbase:USD -15025.00 USD
Expenses:Crypto:Fees:Trading 25.00 USD

2. سودگیری (یا کاهش زیان) حرفه‌ای

لحظه حقیقت: فروش رمزارزهای شما. اینجاست که اکثر سیستم‌های حسابداری دچار مشکل می‌شوند، اما Beancount.io با ردیابی دقیق مبنای بهای تمام‌شده می‌درخشد:

2024-03-20 * "فروش 0.3 BTC در Coinbase"
Assets:Crypto:Coinbase:BTC -0.3 BTC {30000.00 USD}
Assets:Crypto:Coinbase:USD 10470.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Income:CapitalGains:Crypto 1440.00 USD ; 10470 - (0.3 × 30000) - 30 = 1440

3. پاداش‌های استیکینگ: کسب درآمد در خواب

درآمد غیرفعال در بهترین حالت خود. اما به خاطر داشته باشید، سازمان امور مالیاتی (IRS) ایجاب می‌کند که پاداش‌های استیکینگ هنگام دریافت، بر اساس ارزش بازار منصفانه در زمان دریافت (طبق دستورالعمل دارایی‌های دیجیتال IRS، ۲۰۲۴)، به عنوان درآمد مشمول مالیات گزارش شوند. در حالی که دعوی حقوقی در جریان است (جارت علیه ایالات متحده)، موضع رسمی فعلی، گزارش‌دهی فوری را الزامی می‌کند. در اینجا نحوه ردیابی صحیح آن‌ها آمده است:

2024-02-01 * "ETH Staking Rewards"
Assets:Staking:Ethereum:ETH 0.05 ETH {2500.00 USD}
Income:Crypto:Staking:ETH 125.00 USD

4. کشت سود دیفای: جایی که اوضاع هیجان‌انگیز می‌شود 🌶️

به حسابداری پیشرفته دیفای خوش آمدید. کشت سود دیفای شامل تراکنش‌های پیچیده چند-توکنی است که نیازمند ردیابی پیشرفته هستند. در ادامه نحوه حسابداری صحیح یک موقعیت نقدینگی یونی‌سواپ آمده است:

; Initial liquidity provision
2024-01-10 * "Add liquidity to ETH-USDC pool"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -25000 USDC {1.00 USD}
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V2-ETH-USDC {500.00 USD}

; Claiming rewards
2024-02-10 * "Claim Uniswap LP rewards"
Assets:Crypto:Wallet:MetaMask:UNI 50 UNI {8.00 USD}
Income:Crypto:DeFi:Yield 400.00 USD

۵. انتقال بین صرافی‌ها

انتقال بیت‌کوین از کوین‌بیس به کیف پول لجر:

2024-01-20 * "Transfer BTC from Coinbase to Ledger"
Assets:Crypto:Coinbase:BTC -1.0 BTC {30000.00 USD}
Assets:Crypto:Wallet:Ledger:BTC 0.9995 BTC {30000.00 USD}
Expenses:Crypto:Fees:Withdrawal 0.0005 BTC {30000.00 USD}

سناریوهای پیشرفته ارز دیجیتال

معاملات مارجین

ثبت موقعیت‌های اهرمی:

; باز کردن موقعیت لانگ اهرمی (قرض گرفتن بیت‌کوین)
2024-02-15 * "Open 2x leveraged BTC position"
Assets:Crypto:Binance:BTC-Margin 1.0 BTC {35000.00 USD}
Liabilities:Crypto:Binance:BTC -1.0 BTC {35000.00 USD}
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Binance:USD -50.00 USD

; بستن موقعیت با سود
2024-02-20 * "Close leveraged BTC position"
Assets:Crypto:Binance:BTC-Margin -1.0 BTC {35000.00 USD}
Assets:Crypto:Binance:USD 37950.00 USD
Liabilities:Crypto:Binance:BTC 1.0 BTC {35000.00 USD}
Income:Crypto:Trading:Margin -2900.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD

ایردراپ‌ها و فورک‌ها

ثبت توزیع‌های رایگان توکن:

2024-03-01 * "دریافت ایردراپ UNI"
Assets:Crypto:Wallet:MetaMask:UNI 400 UNI {8.00 USD}
Income:Crypto:Airdrops 3200.00 USD

عملیات استخراج

برای ماینرهای ارز دیجیتال:

2024-01-01 * "پاداش استخراج بیت‌کوین"
Assets:Crypto:Mining:BTC 0.1 BTC {45000.00 USD}
Income:Crypto:Mining:BTC 4500.00 USD

; هزینه‌های استخراج
2024-01-31 * "هزینه‌های برق استخراج"
Expenses:Crypto:Mining:Electricity 800.00 USD
Assets:Checking -800.00 USD

گزارش‌دهی مالیاتی و انطباق

ردیابی بهای تمام‌شده

Beancount.io به‌طور خودکار بهای تمام‌شده را با استفاده از سیستم مبتنی بر لات ردیابی می‌کند:

; Multiple purchases at different prices
2024-01-01 * "Buy BTC batch 1"
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD

2024-02-01 * "Buy BTC batch 2"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD

; Selling specific lots (FIFO, LIFO, or specific identification)
2024-03-01 * "Sell BTC using FIFO"
Assets:Crypto:Coinbase:BTC -0.5 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD 22470.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Income:CapitalGains:Crypto 2440.00 USD ; 22470 - 20000 - 30 = 2440

تولید گزارش‌های مالیاتی

برای تولید گزارش‌های مالیاتی، از سیستم کوئری و افزونه‌های Beancount استفاده کنید:

  • فرم 8949: سود و زیان سرمایه (از طریق bean-query یا افزونه‌های شخص ثالث)
  • جدول D: خلاصه سود سرمایه (نیاز به اسکریپت‌نویسی اضافی دارد)
  • فرم 1040: درآمد حاصل از استیکینگ، ماینینگ، ایردراپ (از طریق گزارش‌های سفارشی)
  • گزارش‌های جزئی تراکنش: برای اهداف حسابرسی

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

بهترین روش‌ها برای حسابداری رمزارزها

1. مغایرت‌گیری منظم

  • وارد کردن هفتگی داده‌های صرافی
  • تأیید ماهانه مانده کیف پول‌ها
  • بررسی متقابل با کاوشگرهای بلاک‌چین

2. مستندسازی مناسب

  • تمام تأییدیه‌های تراکنش را ذخیره کنید
  • هدف هر تراکنش را مستند کنید
  • سوابق قیمت‌های بازار را در زمان تراکنش نگهداری کنید

3. تفکیک کسب‌وکار و شخصی

; سرمایه‌گذاری‌های رمزارزی شخصی
Assets:Personal:Crypto:Coinbase:BTC

; عملیات رمزارزی کسب‌وکار
Assets:Business:Crypto:Treasury:BTC

۴. ردیابی تمام منابع درآمد

  • پاداش‌های استیکینگ (مشمول مالیات بر درآمد)
  • پاداش‌های ماینینگ (مشمول مالیات بر درآمد)
  • ایردراپ‌ها (مشمول مالیات بر اساس ارزش بازار منصفانه)
  • بازده دیفای (مشمول مالیات بر درآمد)

5. مدیریت کارمزدها

تمام کارمزدها را به صورت جداگانه برای کسر مالیات صحیح ردیابی کنید:

Expenses:Crypto:Fees:Trading     ; کارمزدهای معاملاتی صرافی
Expenses:Crypto:Fees:Network ; کارمزدهای شبکه بلاکچین
Expenses:Crypto:Fees:Withdrawal ; کارمزدهای برداشت

یکپارچه‌سازی با ابزارهای محبوب رمزارز

یکپارچه‌سازی API صرافی‌ها

Beancount.io می‌تواند با صرافی‌های اصلی یکپارچه شود:

  • Coinbase Pro API: واردات خودکار تراکنش‌ها
  • Binance API: به‌روزرسانی لحظه‌ای موجودی
  • Kraken API: همگام‌سازی داده‌های تاریخی

تحلیل بلاکچین

اتصال به کاوشگرهای بلاکچین:

  • Etherscan: تأیید تراکنش‌های اتریوم
  • Blockchain.info: ردیابی تراکنش‌های بیت‌کوین
  • BscScan: نظارت بر بایننس اسمارت چین

ردیابی سبد سرمایه

همگام‌سازی با ابزارهای مدیریت سبد سرمایه:

  • کوین‌ترکر: تولید گزارش مالیاتی
  • کوینلی: تجمیع چند صرافی
  • بلاک‌فولیو: ردیابی سبد سرمایه موبایلی

سلب مسئولیت‌های مهم

تذکر مالیاتی و حقوقی: این راهنما اطلاعات عمومی در مورد حسابداری ارزهای دیجیتال با استفاده از بین‌کانت ارائه می‌دهد و به منزله مشاوره مالیاتی، حقوقی یا مالی حرفه‌ای نیست. نحوه برخورد مالیاتی با تراکنش‌های ارز دیجیتال بسته به حوزه قضایی و شرایط فردی متفاوت است. سناریوهای پیچیده مانند پل‌های بین‌زنجیره‌ای، زیان ناپایدار و وام‌های فلش ممکن است تحت مقررات فعلی پیامدهای مالیاتی نامشخصی داشته باشند. برای راهنمایی خاص در مورد اینکه آیا تراکنش‌ها به منزله واگذاری‌های مشمول مالیات هستند، به سوالات متداول IRS Q-15 تا Q-18 (2024) مراجعه کنید یا با مقررات مالیاتی محلی مشورت نمایید. همیشه قبل از اتخاذ تصمیمات مربوط به مالیات، با یک متخصص مالیاتی واجد شرایط یا حسابدار رسمی (CPA) آشنا با مالیات ارزهای دیجیتال در حوزه قضایی خود مشورت نمایید.

توضیح نرم‌افزاری: مثال‌ها در این راهنما از گرامر استاندارد بین‌کانت استفاده می‌کنند. در حالی که Beancount.io یک رابط کاربری دوستانه برای بین‌کانت ارائه می‌دهد، اصول حسابداری زیربنایی برای هر پیاده‌سازی بین‌کانت کاربرد دارند.

نتیجه‌گیری

حسابداری رمزارزها نیازی نیست پیچیده و طاقت‌فرسا باشد. با سیستم قدرتمند حسابداری متن ساده Beancount که از طریق پلتفرم Beancount.io در دسترس است، می‌توانید:

  • شفافیت کامل را حفظ کنید: هر تراکنش قابل مشاهده و حسابرسی است
  • از رعایت قوانین مالیاتی اطمینان حاصل کنید: ردیابی صحیح مبنای هزینه و گزارش‌دهی درآمد
  • با سبد دارایی خود مقیاس‌پذیری داشته باشید: مدیریت معاملات ساده تا استراتژی‌های پیچیده دیفای
  • به‌طور یکپارچه ادغام شوید: اتصال به صرافی‌ها، کیف پول‌ها و ابزارهای مالیاتی
  • سوابق خود را برای آینده تضمین کنید: فرمت متن ساده دسترسی طولانی‌مدت را تضمین می‌کند

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

مثال‌های این راهنما یک پایه و اساس مستحکم را فراهم می‌کنند، اما به یاد داشته باشید که حسابداری رمزارزها یک حوزه در حال تکامل است. از تغییرات نظارتی مطلع بمانید، با متخصصان مالیاتی مشورت کنید و شیوه‌های حسابداری خود را در صورت لزوم تطبیق دهید.

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

حسابداری دیفای ساده شده: ردیابی کشت سود، استخرهای نقدینگی و پاداش‌های استیکینگ با حسابداری متن ساده

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

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

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

حسابداری دیفای ساده شد

درک چالش‌های حسابداری دیفای

پیچیدگی تراکنش‌های دیفای

پروتکل‌های دیفای چالش‌های حسابداری ایجاد می‌کنند که در مالی سنتی وجود ندارند:

  • تراکنش‌های چند-توکنی: عملیات واحد شامل چندین ارز دیجیتال
  • سود مرکب خودکار: پاداش‌هایی که به صورت خودکار بازسرمایه‌گذاری می‌شوند
  • زیان ناپایدار: تغییرات ارزش به دلیل واگرایی قیمت در استخرهای نقدینگی
  • بهینه‌سازی کارمزد گس: ساختارهای کارمزد پیچیده در شبکه‌های مختلف
  • حاکمیت پروتکل: حقوق رأی‌دهی و توزیع توکن‌های حاکمیتی
  • تعاملات بین-پروتکلی: تراکنش‌هایی که چندین پلتفرم دیفای را در بر می‌گیرند

پیامدهای مالیاتی فعالیت‌های دیفای

سازمان امور مالیاتی آمریکا (IRS) فعالیت‌های دیفای را به عنوان رویدادهای مشمول مالیات در نظر می‌گیرد:

  • تأمین نقدینگی: ممکن است هنگام واریز دارایی‌ها، رویدادهای مشمول مالیات را ایجاد کند
  • پاداش‌های کشت سود (ییلد فارمینگ): در زمان دریافت به عنوان درآمد عادی و با ارزش منصفانه بازار مشمول مالیات هستند
  • زیان ناپایدار: پیامدهای مالیاتی بالقوه هنگام برداشت از استخرها
  • توکن‌های حاکمیتی: ایردراپ‌ها و پاداش‌ها به عنوان درآمد مشمول مالیات هستند
  • پاداش‌های استیکینگ: در زمان دریافت به عنوان درآمد مشمول مالیات هستند

راه‌اندازی حساب‌های دیفای در Beancount.io

ساختار حساب جامع

یک سلسله مراتب حساب دقیق ایجاد کنید که تمام فعالیت‌های دیفای را پوشش دهد:

; Wallet Accounts
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:MetaMask:DAI
1970-01-01 open Assets:Crypto:Wallet:MetaMask:WBTC

; Uniswap V3 Liquidity Pools
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:DeFi:Uniswap:DAI-USDC-LP
1970-01-01 open Assets:DeFi:Uniswap:WBTC-ETH-LP

; Compound Protocol
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:DeFi:Compound:cETH
1970-01-01 open Assets:DeFi:Compound:cDAI

; Aave Protocol
1970-01-01 open Assets:DeFi:Aave:aUSDC
1970-01-01 open Assets:DeFi:Aave:aETH
1970-01-01 open Assets:DeFi:Aave:DebtETH

; Staking Protocols
1970-01-01 open Assets:Staking:Ethereum:ETH
1970-01-01 open Assets:Staking:Lido:stETH
1970-01-01 open Assets:Staking:RocketPool:rETH

; Income Accounts
1970-01-01 open Income:DeFi:Yield:Uniswap
1970-01-01 open Income:DeFi:Yield:Compound
1970-01-01 open Income:DeFi:Yield:Aave
1970-01-01 open Income:DeFi:Staking:Ethereum
1970-01-01 open Income:DeFi:Governance:Tokens
1970-01-01 open Income:DeFi:Airdrops

; Expense Accounts
1970-01-01 open Expenses:DeFi:Gas:Ethereum
1970-01-01 open Expenses:DeFi:Gas:Polygon
1970-01-01 open Expenses:DeFi:Gas:Arbitrum
1970-01-01 open Expenses:DeFi:ImpermanentLoss

کالاهای ویژه دیفای

توکن‌ها و توکن‌های LP را با فراداده مناسب تعریف کنید:

1970-01-01 commodity UNI-V3-ETH-USDC
name: "توکن LP یونی‌سواپ V3 ETH-USDC"
asset-class: "liquidity-pool"
protocol: "uniswap-v3"

1970-01-01 commodity cUSDC
name: "کامپاند USDC"
asset-class: "lending-token"
protocol: "compound"

1970-01-01 commodity stETH
name: "اتریوم استیک شده لیدو"
asset-class: "staking-derivative"
protocol: "lido"

ردیابی فعالیت‌های رایج دیفای

۱. تأمین نقدینگی یونی‌سواپ

افزودن نقدینگی به یک استخر

2024-01-15 * "افزودن نقدینگی به استخر Uniswap V3 جفت ETH-USDC"
Assets:Crypto:Wallet:MetaMask:ETH -5.0 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -12500 USDC
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V3-ETH-USDC {250.00 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

مطالبه کارمزدهای LP

2024-02-15 * "Claim Uniswap LP fees"
Assets:Crypto:Wallet:MetaMask:ETH 0.2 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC 300 USDC
Income:DeFi:Yield:Uniswap 820.00 USD
Expenses:DeFi:Gas:Ethereum 0.005 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.005 ETH {2600.00 USD}

حذف نقدینگی با زیان ناپایدار

2024-03-15 * "حذف نقدینگی از استخر ETH-USDC"
Assets:DeFi:Uniswap:ETH-USDC-LP -100 UNI-V3-ETH-USDC {250.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH 4.8 ETH {2800.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC 12800 USDC
Expenses:DeFi:ImpermanentLoss 240.00 USD ; محاسبه IL
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2800.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2800.00 USD}

2. وام‌دهی پروتکل کامپاند

واریز دارایی‌ها به کامپاند

2024-01-20 * "واریز USDC به کامپاند"
Assets:Crypto:Wallet:MetaMask:USDC -10000 USDC
Assets:DeFi:Compound:cUSDC 500 cUSDC {20.00 USD}
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

کسب سود مرکب

2024-02-20 * "تعلق سود مرکب"
Assets:DeFi:Compound:cUSDC 5.2 cUSDC {20.50 USD}
Income:DeFi:Yield:Compound 106.60 USD

دریافت پاداش‌های COMP

2024-02-20 * "دریافت توکن‌های حاکمیتی COMP"
Assets:Crypto:Wallet:MetaMask:COMP 12 COMP {85.00 USD}
Income:DeFi:Governance:Tokens 1020.00 USD
Expenses:DeFi:Gas:Ethereum 0.006 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.006 ETH {2600.00 USD}

3. عملیات پروتکل Aave

واریز و وام‌گیری

; واریز ETH به عنوان وثیقه
2024-01-25 * "Deposit ETH to Aave"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:DeFi:Aave:aETH 10 aETH {2500.00 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

; وام گرفتن USDC در ازای وثیقه ETH
2024-01-25 * "Borrow USDC from Aave"
Assets:Crypto:Wallet:MetaMask:USDC 15000 USDC
Liabilities:DeFi:Aave:DebtUSDC -15000 USDC
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

بازپرداخت وام‌ها با بهره

2024-03-25 * "Repay USDC loan to Aave"
Liabilities:DeFi:Aave:DebtUSDC 15000 USDC
Expenses:DeFi:Interest:Aave 450 USDC ; Interest accrued
Assets:Crypto:Wallet:MetaMask:USDC -15450 USDC
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2700.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2700.00 USD}

4. استیکینگ اتریوم

استیکینگ مستقیم اتریوم

2024-01-10 * "استیک کردن ETH در اتریوم 2.0"
Assets:Crypto:Wallet:MetaMask:ETH -32 ETH {2500.00 USD}
Assets:Staking:Ethereum:ETH 32 ETH {2500.00 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

پاداش‌های استیکینگ

2024-02-10 * "پاداش‌های استیکینگ ETH"
Assets:Staking:Ethereum:ETH 0.15 ETH {2600.00 USD}
Income:DeFi:Staking:Ethereum 390.00 USD

استیکینگ نقدشونده با لیدو

2024-01-12 * "استیک کردن ETH با لیدو"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Staking:Lido:stETH 10 stETH {2500.00 USD}
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

سناریوهای پیشرفته دیفای

راهبردهای ییلد فارمینگ

کشت سود چند پروتکلی

; مرحله ۱: واریز USDC به کامپاند
2024-01-30 * "واریز USDC به کامپاند برای کشت سود"
Assets:Crypto:Wallet:MetaMask:USDC -20000 USDC
Assets:DeFi:Compound:cUSDC 1000 cUSDC {20.00 USD}

; مرحله ۲: قرض گرفتن DAI در ازای cUSDC
2024-01-30 * "قرض گرفتن DAI از کامپاند"
Assets:Crypto:Wallet:MetaMask:DAI 15000 DAI
Liabilities:DeFi:Compound:DebtDAI -15000 DAI

; مرحله ۳: تأمین نقدینگی DAI-USDC برای یونی‌سواپ
2024-01-30 * "افزودن نقدینگی DAI-USDC برای کشت سود"
Assets:Crypto:Wallet:MetaMask:DAI -15000 DAI
Assets:Crypto:Wallet:MetaMask:USDC -5000 USDC ; USDC اضافی
Assets:DeFi:Uniswap:DAI-USDC-LP 200 UNI-V3-DAI-USDC {100.00 USD}

عملیات دیفای بین‌زنجیره‌ای

پل زدن دارایی‌ها

2024-02-05 * "Bridge ETH to Polygon"
Assets:Crypto:Wallet:MetaMask:ETH -5 ETH {2600.00 USD}
Assets:Crypto:Wallet:Polygon:ETH 5 ETH {2600.00 USD}
Expenses:DeFi:Bridge:Fees 0.01 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2600.00 USD}

وام‌های آنی و آربیتراژ

2024-02-10 * "فرصت آربیتراژ با وام آنی"
; وام آنی
Assets:Crypto:Temp:FlashLoan 100000 USDC
Liabilities:DeFi:Aave:FlashLoan -100000 USDC

; معامله آربیتراژ
Assets:Crypto:Temp:FlashLoan -100000 USDC
Assets:Crypto:Temp:Arbitrage 101500 USDC

; بازپرداخت وام آنی
Liabilities:DeFi:Aave:FlashLoan 100000 USDC
Assets:Crypto:Temp:Arbitrage -100090 USDC ; شامل کارمزدها

; سود
Assets:Crypto:Wallet:MetaMask:USDC 1410 USDC
Income:DeFi:Arbitrage:Profit 1410.00 USD

ملاحظات گزارش مالیاتی دیفای

شناسایی درآمد

تمام پاداش‌های دی‌فای به عنوان درآمد عادی مشمول مالیات هستند:

; ردیابی تمام منابع درآمد به صورت جداگانه
Income:DeFi:Yield:Uniswap ; کارمزد LP
Income:DeFi:Yield:Compound ; سود کسب شده
Income:DeFi:Staking:Ethereum ; پاداش‌های استیکینگ
Income:DeFi:Governance:Tokens ; ایردراپ توکن‌های حاکمیتی
Income:DeFi:Airdrops ; ایردراپ‌های پروتکل

کسورات هزینه

هزینه‌های قابل کسر را پیگیری کنید:

Expenses:DeFi:Gas:Ethereum          ; کارمزد گس
Expenses:DeFi:Gas:Polygon ; کارمزدهای لایه ۲
Expenses:DeFi:Interest:Aave ; هزینه‌های استقراض
Expenses:DeFi:ImpermanentLoss ; زیان ناپایدار از موقعیت‌های ارائه‌دهنده نقدینگی

ردیابی سود سرمایه

برای محاسبه دقیق سود سرمایه، از حسابداری مبتنی بر لات استفاده کنید:

; مبنای بهای تمام‌شده متفاوت برای یک توکن مشابه
Assets:DeFi:Compound:cUSDC 100 cUSDC {20.00 USD} ; دسته ۱
Assets:DeFi:Compound:cUSDC 100 cUSDC {21.00 USD} ; دسته ۲

بهترین روش‌ها برای حسابداری دیفای

1. ثبت بلادرنگ تراکنش‌ها

  • تراکنش‌ها را بلافاصله پس از انجام ثبت کنید
  • برای تأیید از هش‌های تراکنش استفاده کنید
  • ممپول را برای تراکنش‌های در انتظار پایش کنید

2. ردیابی بهینه‌سازی کارمزد گس

; ردیابی استراتژی‌های بهینه‌سازی کارمزد گس
Expenses:DeFi:Gas:Ethereum:Standard ; کارمزد گس استاندارد
Expenses:DeFi:Gas:Ethereum:Fast ; کارمزد گس سریع
Expenses:DeFi:Gas:Ethereum:Instant ; کارمزد گس فوری

۳. مدیریت ریسک پروتکل

; ردیابی ریسک‌های خاص پروتکل
Expenses:DeFi:Risk:SmartContract ; شکست‌های قرارداد هوشمند
Expenses:DeFi:Risk:Liquidation ; رویدادهای انحلال
Expenses:DeFi:Risk:Slippage ; هزینه‌های لغزش

۴. تطبیق خودکار

  • تنظیم فیدهای قیمت خودکار
  • استفاده از APIهای پروتکل برای تأیید مانده
  • پیاده‌سازی وارد کردن خودکار تراکنش‌ها

5. استانداردهای مستندسازی

  • نگهداری یادداشت‌های مفصل تراکنش
  • مستندسازی منطق استراتژی
  • نگهداری سوابق تعامل پروتکل

یکپارچه‌سازی با ابزارهای دیفای

پیگیری سبد سرمایه

  • DeBank: نمای کلی سبد دیفای
  • Zapper: داشبورد چند پروتکلی
  • Zerion: کیف پول و ردیاب دیفای

گزارشگری مالیاتی

  • Koinly: محاسبات مالیاتی دیفای
  • CoinTracker: پشتیبانی چند پروتکلی
  • TokenTax: گزارشگری تخصصی دیفای

پلتفرم‌های تحلیلی

  • DeFi Pulse: تحلیل پروتکل‌ها
  • DeFiLlama: ردیابی TVL و بازده
  • APY.vision: ردیابی زیان ناپایدار

نتیجه‌گیری

پیچیدگی حسابداری دیفای نباید شما را از مشارکت در انقلاب مالی غیرمتمرکز بازدارد. با سیستم قدرتمند حسابداری متنی ساده Beancount.io، می‌توانید:

  • ردیابی تراکنش‌های پیچیده: مدیریت یکپارچه تعاملات چند پروتکلی
  • اطمینان از انطباق مالیاتی: شناسایی صحیح درآمد و ردیابی هزینه‌ها
  • نظارت بر عملکرد سبد دارایی: بینش‌های بلادرنگ در مورد موقعیت‌های دیفای
  • مدیریت ریسک: ردیابی زیان ناپایدار و ریسک‌های پروتکل
  • مقیاس‌پذیری عملیات: از استیکینگ ساده تا استراتژی‌های پیچیده ییلد فارمینگ

کلید موفقیت در حسابداری دیفای، ثبات، دقت و دسته‌بندی صحیح است. با پروتکل‌های پایه شروع کنید و به تدریج با آشنایی بیشتر با الگوهای حسابداری، به استراتژی‌های پیچیده‌تر گسترش دهید.

آماده‌اید تا بر حسابداری دیفای مسلط شوید؟ سفر خود را با Beancount.io آغاز کنید و امروز کنترل سبد مالی غیرمتمرکز خود را در دست بگیرید.

خودکارسازی هزینه‌های کسب‌وکارهای کوچک با بین‌کانت و هوش مصنوعی

· 1 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

صاحبان کسب‌وکارهای کوچک به طور متوسط ۱۱ ساعت در ماه را صرف دسته‌بندی دستی هزینه‌ها می‌کنند – تقریباً سه هفته کاری کامل در سال به ورود داده‌ها اختصاص می‌یابد. یک نظرسنجی QuickBooks در سال ۲۰۲۳ نشان می‌دهد که ۶۸٪ از صاحبان کسب‌وکار، ردیابی هزینه را آزاردهنده‌ترین وظیفه دفترداری خود می‌دانند، با این حال تنها ۱۵٪ از آن‌ها راه‌حل‌های خودکارسازی را پذیرفته‌اند.

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

![چگونه دسته‌بندی هزینه‌های کسب‌وکارهای کوچک را با حسابداری متن ساده خودکار کنیم: راهنمای گام به گام برای کاربران بین‌کانت](https://opengraph-image.blockeden.xyz/api/og-beancount-io?title=%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1%D8%B3%D8%A7%D8%B2%DB%8C%20%D9%87%D8%B2%DB%8C%D9%86%E2%80%8C%D9%87%D8%A7%DB%8C%20%DA%A9%D8%B3%D8%A8%E2%80%8C%D9%88%DA%A9%D8%A7%D8%B1%D9%87%D8%A7%DB%8C%20%DA%A9%D9%88%DA%86%DA%A9%20%D8%A8%D8%A7%20%D8%A8%DB%8C%D9%86%E2%80

حسابداری متن ساده مبتنی بر هوش مصنوعی، زمان مغایرت‌گیری را متحول می‌کند

· 1 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

بر اساس تحقیقات مک‌کینزی در سال ۲۰۲۳، تیم‌های مالی مدرن معمولاً ۶۵ درصد از زمان خود را به مغایرت‌گیری دستی و اعتبارسنجی داده‌ها اختصاص می‌دهند. در Beancount.io، ما شاهد هستیم که تیم‌ها با استفاده از گردش کارهای مبتنی بر هوش مصنوعی، زمان بررسی هفتگی خود را از ۵ ساعت به تنها ۱ ساعت کاهش می‌دهند، در حالی که استانداردهای دقت سخت‌گیرانه را حفظ می‌کنند.

حسابداری متن ساده از قبل شفافیت و کنترل نسخه را ارائه می‌دهد. با یکپارچه‌سازی قابلیت‌های پیشرفته هوش مصنوعی، ما تطبیق تراکنش‌های خسته‌کننده، یافتن مغایرت‌ها و دسته‌بندی دستی را که به طور سنتی فرآیندهای مغایرت‌گیری را سنگین می‌کنند، حذف می‌کنیم.

![2025-05-24-how-ai-powered-reconciliation-in-plain-text-accounting-reduces-manual-review-time-by-80](https://opengraph-image.blockeden.xyz/api/og-beancount-io?title=AI-Powered%20Plain%20Text%20

تشخیص تقلب با هوش مصنوعی در حسابداری متنی ساده

· 5 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

کلاهبرداری مالی به طور متوسط ۵ درصد از درآمد سالانه کسب‌وکارها را هزینه می‌کند و زیان‌های جهانی در سال ۲۰۲۱ از ۴.۷ تریلیون دلار فراتر رفت. در حالی که سیستم‌های حسابداری سنتی برای همگام شدن با جرایم مالی پیچیده با مشکل مواجه هستند، حسابداری متنی ساده همراه با هوش مصنوعی راه‌حلی قوی برای حفاظت از یکپارچگی مالی ارائه می‌دهد.

همانطور که سازمان‌ها از صفحات گسترده (spreadsheets) سنتی به سیستم‌های حسابداری متنی ساده مانند Beancount.io روی می‌آورند، در حال کشف توانایی هوش مصنوعی برای شناسایی الگوها و ناهنجاری‌های ظریفی هستند که حتی حسابرسان باتجربه نیز ممکن است از آن‌ها غافل شوند. بیایید بررسی کنیم که چگونه این ادغام فناوری امنیت مالی را افزایش می‌دهد، کاربردهای واقعی را بررسی کنیم و راهنمایی عملی برای پیاده‌سازی ارائه دهیم.

2025-05-22-how-ai-powered-fraud-detection-in-plain-text-accounting-protects-financial-records

چرا حسابداری سنتی ناکافی است

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

جداسازی سیستم‌های سنتی از سایر ابزارهای کسب‌وکار، نقاط کور ایجاد می‌کند. تحلیل در لحظه (Real-time analysis) دست و پا گیر می‌شود و منجر به تأخیر در تشخیص تقلب و زیان‌های بالقوه قابل توجه می‌شود. حسابداری متنی ساده، که با نظارت هوش مصنوعی تقویت شده است، این نقاط ضعف را با ارائه سوابق شفاف و قابل ردیابی که در آن هر تراکنش به راحتی قابل حسابرسی است، برطرف می‌کند.

درک نقش هوش مصنوعی در امنیت مالی

الگوریتم‌های مدرن هوش مصنوعی در تشخیص ناهنجاری‌های مالی از طریق تکنیک‌های مختلف برتری دارند:

  • تشخیص ناهنجاری با استفاده از جنگل‌های ایزوله (isolation forests) و روش‌های خوشه‌بندی (clustering methods)
  • یادگیری نظارت‌شده (supervised learning) از موارد تقلب تاریخی
  • پردازش زبان طبیعی (natural language processing) برای تحلیل توضیحات تراکنش
  • یادگیری مستمر و سازگاری با الگوهای در حال تکامل

یک شرکت فناوری متوسط اخیراً این موضوع را از نزدیک تجربه کرد، زمانی که هوش مصنوعی تراکنش‌های خرد پراکنده در چندین حساب را پرچم‌گذاری کرد – یک طرح اختلاس که از حسابرسی‌های سنتی پنهان مانده بود. بر اساس تجربه دست اول ما، استفاده از هوش مصنوعی برای تشخیص تقلب منجر به کاهش قابل توجه زیان‌های ناشی از تقلب در مقایسه با اتکا صرف به روش‌های مرسوم می‌شود.

داستان‌های موفقیت واقعی

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

مثال دیگر مربوط به یک شرکت خدمات مالی است که در آن هوش مصنوعی الگوهای نامنظم پردازش پرداخت را تشخیص داد. سیستم تراکنش‌هایی را پرچم‌گذاری کرد که به صورت جداگانه عادی به نظر می‌رسیدند اما در تحلیل جمعی، الگوهای مشکوکی را تشکیل می‌دادند. این امر منجر به کشف یک عملیات پیچیده پولشویی شد که ماه‌ها از دید پنهان مانده بود.

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

برای ادغام تشخیص تقلب با هوش مصنوعی در گردش کار Beancount خود:

  1. نقاط آسیب‌پذیری خاص را در فرآیندهای مالی خود شناسایی کنید.
  2. ابزارهای هوش مصنوعی طراحی شده برای محیط‌های متنی ساده را انتخاب کنید.
  3. الگوریتم‌ها را بر روی داده‌های تراکنش تاریخی خود آموزش دهید.
  4. ارجاع متقابل خودکار با پایگاه‌های داده خارجی را برقرار کنید.
  5. پروتکل‌های واضحی برای بررسی ناهنجاری‌های پرچم‌گذاری شده توسط هوش مصنوعی ایجاد کنید.

در آزمایش‌های خودمان، سیستم‌های هوش مصنوعی زمان بررسی تقلب را به طور قابل توجهی کاهش دادند. نکته کلیدی در ایجاد یک گردش کار یکپارچه است که در آن هوش مصنوعی به جای جایگزینی، نظارت انسانی را تقویت می‌کند.

تخصص انسانی در کنار هوش ماشینی

موثرترین رویکرد، ترکیب قدرت پردازش هوش مصنوعی با قضاوت انسانی است. در حالی که هوش مصنوعی در تشخیص الگو و نظارت مستمر برتری دارد، کارشناسان انسانی زمینه و تفسیر حیاتی را ارائه می‌دهند. یک نظرسنجی اخیر Deloitte نشان داد که شرکت‌هایی که از این رویکرد ترکیبی استفاده می‌کنند، ۴۲ درصد کاهش در مغایرت‌های مالی را تجربه کرده‌اند.

متخصصان مالی نقش‌های حیاتی در موارد زیر ایفا می‌کنند:

  • اصلاح الگوریتم‌های هوش مصنوعی
  • بررسی تراکنش‌های پرچم‌گذاری شده
  • تمایز بین الگوهای مشروع و مشکوک
  • توسعه استراتژی‌های پیشگیرانه بر اساس بینش‌های هوش مصنوعی

ایجاد امنیت مالی قوی‌تر

حسابداری متنی ساده با تشخیص تقلب هوش مصنوعی مزایای متعددی را ارائه می‌دهد:

  • سوابق شفاف و قابل حسابرسی
  • تشخیص ناهنجاری در لحظه
  • یادگیری تطبیقی از الگوهای جدید
  • کاهش خطای انسانی
  • مسیرهای حسابرسی جامع

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

ادغام هوش مصنوعی در حسابداری متنی ساده، پیشرفت قابل توجهی در امنیت مالی است. همانطور که تکنیک‌های تقلب پیچیده‌تر می‌شوند، این ترکیب شفافیت و

اکوسیستم بین‌کانت: یک تحلیل جامع

· 42 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

قابلیت‌های اصلی و فلسفه Beancount

Beancount یک سیستم حسابداری دوطرفه متن‌باز است که از فایل‌های متنی ساده برای ثبت تراکنش‌ها استفاده می‌کند. در هسته خود، Beancount دفتر کل شما را به عنوان یک مجموعه داده تعریف شده توسط یک گرامر ساده و دقیق در نظر می‌گیرد. هر رویداد مالی (تراکنش‌ها، افتتاح حساب‌ها، قیمت کالاها و غیره) یک دستورالعمل در یک فایل متنی است که Beancount آن را به یک پایگاه داده در حافظه از ورودی‌ها تجزیه می‌کند. این طراحی، اصل حسابداری دوطرفه را اعمال می‌کند: هر تراکنش باید بدهکار و بستانکار را در حساب‌ها تراز کند. نتیجه یک دفتر کل بسیار شفاف و قابل حسابرسی است که می‌توانید آن را کنترل نسخه کنید، بازرسی کنید و به راحتی پرس‌وجو نمایید.

2025-04-15-beancount-ecosystem

فلسفه – صحت و مینیمالیسم: طراحی Beancount یکپارچگی داده و سادگی را در اولویت قرار می‌دهد. خالق آن، مارتین بلایس، Beancount را "بدبینانه" توصیف می‌کند، زیرا فرض می‌کند کاربر اشتباه خواهد کرد و بنابراین بررسی‌ها و محدودیت‌های اضافی اعمال می‌کند. به عنوان مثال، Beancount به شما اجازه نمی‌دهد دارایی‌هایی را که هرگز اضافه نشده‌اند حذف کنید (از موجودی سهام منفی یا مانده‌های نقدی جلوگیری می‌کند) و می‌تواند اعمال کند که هر حسابی قبل از استفاده باز شود. این سیستم فاقد مفهوم "مجازی" یا ثبت‌های خودکار تراز شده Ledger است – انتخابی عمدی برای اجبار به ورودی‌های کاملاً تراز شده. Beancount به طور موثری "به شدت بر صحت تاکید می‌کند" با بررسی‌های متقابل بیشتر از آنچه حسابداری دوطرفه پایه فراهم می‌کند. این رویکرد محتاطانه برای کاربرانی جذاب است که "به خودشان زیاد اعتماد ندارند" و می‌خواهند نرم‌افزار خطاهایشان را بگیرد.

گزینه‌های حداقل، حداکثر سازگاری: در مقابل پرچم‌های خط فرمان و گزینه‌های تنظیم بی‌شمار Ledger، Beancount مینیمالیسم را انتخاب می‌کند. گزینه‌های سراسری بسیار کمی وجود دارد و هیچ کدام معنای تراکنش را خارج از فایل دفتر کل تغییر نمی‌دهند. تمام پیکربندی‌هایی که بر حسابداری تأثیر می‌گذارند (مانند روش‌های مبنای بهای تمام شده کالا یا فرضیات ثبت) درون فایل از طریق دستورالعمل‌ها یا پلاگین‌ها انجام می‌شود، که تضمین می‌کند بارگذاری همان فایل همیشه نتایج یکسانی را تولید می‌کند، صرف نظر از اینکه گزارش‌ها چگونه تولید می‌شوند. این طراحی از پیچیدگی دکمه‌های متعدد Ledger و تعاملات ظریف بین آن‌ها جلوگیری می‌کند. فلسفه Beancount این است که یک ابزار حسابداری باید یک خط لوله پایدار و قطعی از فایل ورودی تا گزارش‌ها باشد. این امر را با در نظر گرفتن دفتر کل به عنوان یک جریان مرتب از دستورالعمل‌ها که می‌توانند به صورت برنامه‌نویسی به ترتیب پردازش شوند، به دست می‌آورد. حتی مواردی که Ledger آن‌ها را به عنوان سینتکس خاص در نظر می‌گیرد (مانند مانده‌های افتتاحیه یا بیانیه‌های قیمت) در مدل داده Beancount دستورالعمل‌های درجه یک هستند که سیستم را بسیار توسعه‌پذیر می‌کند.

قابلیت توسعه از طریق پلاگین‌ها و زبان پرس‌وجو: Beancount در پایتون پیاده‌سازی شده است و نقاط اتصالی را برای تزریق منطق سفارشی به خط لوله پردازش فراهم می‌کند. کاربران می‌توانند پلاگین‌هایی در پایتون بنویسند که بر روی جریان تراکنش‌ها عمل می‌کنند (به عنوان مثال، برای اعمال یک قانون سفارشی یا تولید ورودی‌های خودکار). این پلاگین‌ها هنگام پردازش فایل اجرا می‌شوند و به طور موثری قابلیت‌های اصلی Beancount را بدون نیاز به تغییر کد منبع گسترش می‌دهند. Beancount همچنین شامل یک زبان پرس‌وجوی قدرتمند (الهام گرفته از SQL) برای برش و تحلیل دفتر کل است. ابزار bean-query دفتر کل تجزیه شده را به عنوان یک پایگاه داده در نظر می‌گیرد و به شما امکان می‌دهد پرس‌وجوهای تحلیلی را روی آن اجرا کنید – به عنوان مثال، جمع‌بندی هزینه‌ها بر اساس دسته‌بندی یا استخراج تمام تراکنش‌ها برای یک دریافت‌کننده مشخص. در Beancount 3.x، این قابلیت پرس‌وجو به یک بسته مستقل beanquery منتقل شد، اما از دیدگاه کاربر همچنان گزارش‌دهی انعطاف‌پذیر را از طریق پرس‌وجوهای شبیه SQL فراهم می‌کند.

متن ساده و کنترل نسخه: به عنوان یک ابزار حسابداری متن ساده، Beancount بر کنترل کاربر و ماندگاری داده‌ها تأکید دارد. دفتر کل به سادگی یک فایل متنی .beancount است که می‌توانید آن را در هر ویرایشگر متنی ویرایش کنید. این بدان معناست که کل تاریخچه مالی شما در قالبی قابل خواندن برای انسان ذخیره می‌شود و می‌توانید آن را در Git یا یک سیستم کنترل نسخه دیگر قرار دهید تا تغییرات را در طول زمان ردیابی کنید. کاربران اغلب فایل Beancount خود را تحت کنترل نسخه نگه می‌دارند تا یک رد حسابرسی از هر ویرایش (با پیام‌های کامیت که تغییرات را توصیف می‌کنند) حفظ کنند. این رویکرد با فلسفه Beancount همسو است که داده‌های حسابداری، به ویژه امور مالی شخصی یا کسب‌وکارهای کوچک، باید شفاف و "مقاوم در برابر آینده" باشند – نه اینکه در یک پایگاه داده اختصاصی قفل شوند. به گفته خود مارتین بلایس، Beancount "کاری از روی عشق" است که برای جامعه ساده، بادوام و رایگان ساخته شده است. این سیستم برای اولین بار حدود سال ۲۰۰۷ توسعه یافت و از طریق بازنویسی‌های عمده (نسخه ۱ به نسخه ۲، و اکنون نسخه ۳ در سال ۲۰۲۴) تکامل یافته است تا طراحی خود را بهبود بخشد و در عین حال فلسفه اصلی خود یعنی مینیمالیسم و صحت را حفظ کند.

ابزارها، پلاگین‌ها و افزونه‌ها در اکوسیستم بین‌کانت

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

ابزارهای واردات داده (واردکننده‌ها)

یکی از مهم‌ترین نیازها برای استفاده عملی، وارد کردن تراکنش‌ها از بانک‌ها، کارت‌های اعتباری و سایر مؤسسات مالی است. بین‌کانت یک چارچوب واردات و اسکریپت‌های وارداتی که توسط جامعه مشارکت‌کنندگان ارائه شده‌اند را برای این منظور فراهم می‌کند. در بین‌کانت 2.x، ماژول داخلی beancount.ingest (با دستوراتی مانند bean-extract و bean-identify) برای تعریف پلاگین‌های واردکننده در پایتون و اعمال آن‌ها بر صورت‌حساب‌های دانلود شده استفاده می‌شد. در بین‌کانت 3.x، این با یک پروژه خارجی به نام بین‌گالپ جایگزین شده است. بین‌گالپ یک چارچوب اختصاصی برای واردکننده‌ها است که از beancount.ingest تکامل یافته و اکنون روش توصیه شده برای خودکارسازی واردات تراکنش‌ها برای بین‌کانت 3.0 است. این امکان نوشتن اسکریپت‌های پایتون یا ابزارهای خط فرمان را فراهم می‌کند که فایل‌های خارجی (مانند صورت‌حساب‌های CSV یا PDF) را می‌خوانند و خروجی ورودی‌های بین‌کانت را تولید می‌کنند. این رویکرد جدید، منطق واردات را از هسته بین‌کانت جدا می‌کند – برای مثال، دستور قدیمی bean-extract در نسخه 3 حذف شده است، و به جای آن، اسکریپت‌های وارداتی شما خودشان تراکنش‌ها را از طریق رابط خط فرمان (CLI) بین‌گالپ تولید می‌کنند.

ده‌ها واردکننده آماده برای بانک‌ها و فرمت‌های مختلف وجود دارد که توسط جامعه مشارکت‌کنندگان ارائه شده‌اند. اسکریپت‌های واردکننده برای مؤسسات در سراسر جهان – از علی‌پی و وی‌چت‌پی در چین، تا بانک‌های مختلف اروپایی (کومرزبانک، آی‌ان‌جی، ای‌بی‌ان آمرو و غیره)، تا بانک‌های آمریکایی مانند چیس و امکس – موجود است. بسیاری از این‌ها در مخازن عمومی (اغلب در گیت‌هاب) یا در بسته‌هایی مانند beancount-importers جمع‌آوری شده‌اند. به عنوان مثال، پروژه ابزارهای بین‌کانت تاریوخ (tariochbctools) واردکننده‌هایی برای بانک‌های سوئیس و بریتانیا فراهم می‌کند و حتی واردات تراکنش‌های رمزنگاری را نیز مدیریت می‌کند. مثال دیگر لیزی بین‌کانت است که مجموعه‌ای از واردکننده‌های رایج (برای وایز، مونزو، ریوولوت، آی‌بی‌کی‌آر و غیره) را بسته‌بندی می‌کند و یک راه‌اندازی مبتنی بر داکر برای خودکارسازی آسان فراهم می‌آورد. مهم نیست از کدام بانک یا سرویس مالی استفاده می‌کنید، به احتمال زیاد کسی یک واردکننده بین‌کانت برای آن نوشته است – یا می‌توانید با استفاده از چارچوب بین‌گالپ، واردکننده خود را بنویسید. انعطاف‌پذیری پایتون به این معنی است که واردکننده‌ها می‌توانند فایل‌های CSV/اکسل، دانلودهای OFX/QIF، یا حتی اسکرپینگ APIها را تجزیه کنند، سپس تراکنش‌ها را در فرمت استاندارد بین‌کانت منتشر کنند.

ویرایش و یکپارچه‌سازی با ویرایشگرها

از آنجایی که دفاتر حسابداری بین‌کانت (Beancount ledgers) صرفاً متن هستند، کاربران اغلب از ویرایشگرهای متنی یا IDEهای مورد علاقه خود برای نگهداری آن‌ها استفاده می‌کنند. اکوسیستم، افزونه‌های پشتیبانی ویرایشگر را برای روان‌تر کردن این تجربه ارائه می‌دهد. افزونه‌هایی برای بسیاری از ویرایشگرهای محبوب وجود دارد که قابلیت‌هایی مانند برجسته‌سازی نحو (syntax highlighting)، تکمیل خودکار نام حساب‌ها و بررسی خطای بلادرنگ را اضافه می‌کنند:

  • حالت بین‌کانت Emacs: یک حالت اصلی Emacs (beancount-mode) برای ویرایش فایل‌های .beancount در دسترس است که ویژگی‌هایی مانند رنگ‌آمیزی نحو و یکپارچه‌سازی با بررسی‌کننده بین‌کانت را ارائه می‌دهد. این حالت حتی می‌تواند bean-check را در پس‌زمینه اجرا کند تا خطاها در دفتر حسابداری (مانند یک تراکنش نامتوازن) هنگام ویرایش علامت‌گذاری شوند.
  • افزونه VS Code: یک افزونه بین‌کانت در بازارچه VSCode، امکانات مشابهی را برای کاربران ویژوال استودیو کد فراهم می‌کند. این افزونه از برجسته‌سازی نحو، تراز کردن مبالغ، تکمیل خودکار برای حساب‌ها/دریافت‌کنندگان و حتی بررسی‌های تراز لحظه‌ای هنگام ذخیره فایل پشتیبانی می‌کند. همچنین می‌تواند با فاوا (Fava) یکپارچه شود و به شما امکان می‌دهد رابط وب فاوا را از درون VSCode راه‌اندازی کنید.
  • افزونه‌ها یا حالت‌هایی نیز برای Vim، Atom و سایر ویرایشگرها وجود دارد. به عنوان مثال، یک گرامر Tree-sitter برای بین‌کانت وجود دارد که برجسته‌سازی نحو را در ویرایشگرهای مدرن تامین می‌کند و حتی در جزء ویرایشگر مبتنی بر وب فاوا نیز پذیرفته شده است. به طور خلاصه، هر محیط ویرایشی که داشته باشید، جامعه احتمالاً افزونه‌ای را برای راحت و بدون خطا کردن ویرایش فایل‌های بین‌کانت ارائه کرده است.

برای ورود سریع تراکنش‌ها در خارج از ویرایشگرهای سنتی، ابزارهایی مانند Bean-add و برنامه‌های موبایل نیز وجود دارند. Bean-add یک ابزار خط فرمان است که امکان افزودن یک تراکنش جدید را از طریق یک اعلان یا دستور تک‌خطی فراهم می‌کند و پیشنهادات تاریخ و حساب را مدیریت می‌کند. در موبایل، پروژه‌ای به نام بین‌کانت موبایل (Beancount Mobile) یک رابط کاربری ساده برای ورود تراکنش‌ها در حین حرکت (به عنوان مثال، ثبت یک خرید نقدی از طریق تلفن شما) ارائه می‌دهد. علاوه بر این، یک ربات تلگرام بین‌کانت (Beancount Telegram Bot) برای ثبت تراکنش‌ها از طریق پیام‌رسانی وجود دارد – می‌توانید پیامی حاوی جزئیات تراکنش ارسال کنید و ربات آن را در فایل دفتر حسابداری شما قالب‌بندی می‌کند.

رابط‌های کاربری وب و ابزارهای بصری‌سازی

(Fava) رابط کاربری وب Fava یک داشبورد تعاملی برای Beancount فراهم می‌کند که شامل گزارش‌هایی مانند صورت سود و زیان با بصری‌سازی‌ها (که در اینجا به صورت یک تری‌مپ از هزینه‌ها بر اساس دسته‌بندی نشان داده شده است) در کنار جداول حساب‌ها و مانده‌ها می‌باشد.

رابط کاربری اصلی Beancount، Fava است که یک رابط کاربری وب مدرن محسوب می‌شود. Fava به عنوان یک برنامه وب محلی اجرا می‌شود که فایل Beancount شما را می‌خواند و یک تجربه تعاملی غنی را در مرورگر شما ایجاد می‌کند. این ابزار مجموعه کاملی از گزارش‌ها را ارائه می‌دهد: ترازنامه، صورت سود و زیان، ارزش خالص در طول زمان، دارایی‌های سبد سرمایه‌گذاری، نمودارهای عملکرد، بودجه‌ها و موارد دیگر – همه به صورت آماده استفاده. کاربران اغلب Fava را به عنوان دلیل اصلی انتخاب Beancount نسبت به سایر ابزارهای حسابداری متنی ساده ذکر می‌کنند. با یک دستور واحد (fava ledger.beancount)، می‌توانید امور مالی خود را با نمودارها و جداول به جای متن مرور کنید. Fava از ویژگی‌هایی مانند: مشاهده جزئیات حساب‌ها، فیلتر کردن تراکنش‌ها بر اساس دریافت‌کننده یا برچسب، یک ویرایشگر کوئری (که به شما امکان می‌دهد کوئری‌های Beancount را اجرا کرده و نتایج را در مرورگر ببینید)، و حتی یک ویرایشگر وب یکپارچه برای دفتر کل شما پشتیبانی می‌کند. این ابزار بسیار کاربرپسند است و حسابداری متنی ساده را برای کسانی که رابط‌های کاربری بصری را ترجیح می‌دهند، قابل دسترس می‌سازد.

از نظر فنی، Fava با پایتون (Flask در بک‌اند) و جاوااسکریپت (Svelte در فرانت‌اند) نوشته شده است. این ابزار چرخه انتشار خاص خود را دارد و فعالانه نگهداری می‌شود. قابل ذکر است که Fava همگام با توسعه Beancount پیش رفته است – به عنوان مثال، Fava 1.30 پشتیبانی از Beancount v3 را اضافه کرد و برای استفاده داخلی به پکیج‌های جدید beanquery و beangulp تغییر یافت. (این ابزار همچنان از Beancount 2 برای دفترهای کل قدیمی‌تر پشتیبانی می‌کند.) تمرکز Fava بر قابلیت استفاده شامل جزئیات کاربردی مانند تکمیل خودکار در ویرایشگر وب، و یک رابط کاربری شیک با حالت تاریک و نمودارهای واکنش‌گرا است. همچنین یک نسخه فرعی به نام Fava-GTK وجود دارد که Fava را در قالب یک برنامه دسکتاپ برای کاربران GNOME/Linux که حس برنامه بومی را ترجیح می‌دهند، بسته‌بندی می‌کند.

فراتر از Fava، گزینه‌های بصری‌سازی و تحلیل دیگری نیز وجود دارد. از آنجا که داده‌های Beancount می‌توانند به صورت جداول صادر یا کوئری شوند، کاربران اغلب از ابزارهایی مانند نوت‌بوک‌های ژوپیتر یا پانداس برای تحلیل سفارشی استفاده می‌کنند. به عنوان مثال، یکی از کاربران توضیح می‌دهد که چگونه داده‌ها را از Beancount از طریق رابط کوئری به یک دیتافریم پانداس می‌کشد تا یک گزارش سفارشی آماده کند. همچنین اسکریپت‌های مشارکت‌یافته توسط جامعه برای گزارش‌های خاص وجود دارد – به عنوان مثال، یک ابزار تحلیل تخصیص سبد سرمایه‌گذاری یا یک نمودار کنترل فرآیند برای هزینه‌ها در مقابل ارزش خالص. با این حال، برای اکثر افراد، Fava قدرت گزارش‌دهی بیش از حد کافی را بدون نیاز به نوشتن کد فراهم می‌کند. این ابزار حتی از افزونه‌ها نیز پشتیبانی می‌کند: می‌توانید فایل‌های پایتون را قرار دهید که صفحات گزارش یا نمودارهای جدیدی را به Fava اضافه می‌کنند. یک افزونه قابل توجه، fava-envelope برای بودجه‌بندی پاکتی در Fava است. در مجموع، Fava به عنوان مرکز اصلی بصری‌سازی اکوسیستم Beancount عمل می‌کند.

ابزارهای خط فرمان و اسکریپت‌ها

Beancount با ابزارهای CLI مختلفی همراه است (به ویژه در شاخه قدیمی‌تر v2، که برخی از آن‌ها در v3 حذف شدند). این ابزارها بر روی فایل دفتر کل شما عمل می‌کنند تا آن را بررسی کنند یا گزارش‌های خاصی را به صورت متنی یا HTML تولید کنند:

  • bean-check: یک اعتبارسنج است که خطاهای نحوی یا خطاهای حسابداری را در فایل بررسی می‌کند. اجرای bean-check myfile.beancount شما را از هرگونه عدم توازن، حساب گم‌شده یا سایر مسائل آگاه می‌کند و در صورت عدم وجود خطا در فایل، هیچ خروجی ندارد.
  • bean-format: یک قالب‌بند است که دفتر کل شما را با تراز کردن اعداد در ستون‌های منظم، بسیار شبیه به اجرای یک قالب‌بند کد بر روی کد منبع، مرتب می‌کند. این کار به تمیز و خوانا نگه داشتن فایل کمک می‌کند.
  • bean-query: یک پوسته تعاملی یا ابزار دسته‌ای برای اجرای زبان پرس‌وجوی Beancount بر روی دفتر کل شما است. می‌توانید از آن برای تولید گزارش‌های جدولی سفارشی استفاده کنید (به عنوان مثال، bean-query myfile.beancount "SELECT account, sum(amount) WHERE ...").
  • bean-report: یک تولیدکننده گزارش همه‌کاره (در v2) است که می‌تواند گزارش‌های از پیش تعریف‌شده (ترازنامه، صورت سود و زیان، تراز آزمایشی و غیره) را به کنسول یا فایل‌ها خروجی دهد. به عنوان مثال، bean-report file.beancount balances مانده حساب‌ها را چاپ می‌کند. (در عمل، بسیاری از این گزارش‌های متنی با نمایش زیباتر فاوا جایگزین شده‌اند.)
  • bean-web / bean-bake: یک رابط وب قدیمی‌تر بود که گزارش‌ها را بر روی localhost ارائه می‌داد یا آن‌ها را به عنوان فایل‌های HTML ایستا "پخت" می‌کرد. این‌ها عمدتاً قبل از محبوبیت فاوا استفاده می‌شدند؛ bean-web یک نمای وب پایه از همان گزارش‌هایی که bean-report می‌توانست تولید کند، ارائه می‌داد. در Beancount 3، bean-web حذف شده است (زیرا فاوا اکنون رابط کاربری وب توصیه شده است و تجربه برتری را ارائه می‌دهد).
  • bean-example: ابزاری برای تولید یک فایل دفتر کل نمونه (مفید برای تازه‌واردان تا یک الگو از ورودی‌های Beancount را ببینند).
  • bean-doctor: یک ابزار اشکال‌زدایی است که می‌تواند مسائل را در دفتر کل یا محیط شما تشخیص دهد.

قابل ذکر است که از Beancount v3، بسیاری از این ابزارها از پروژه اصلی خارج شدند. بسته اصلی Beancount بهینه‌سازی شد و ابزارهایی مانند موتور پرس‌وجو و واردکننده‌ها برای نگهداری آسان‌تر به بسته‌های جداگانه (beanquery، beangulp و غیره) تقسیم شدند. به عنوان مثال، قابلیت bean-query اکنون توسط ابزار beanquery که به صورت جداگانه نصب می‌شود، ارائه می‌شود. از دیدگاه کاربر، قابلیت همچنان در دسترس است؛ فقط ماژولار شده است. جامعه آرچ لینوکس این تغییر را هنگام به‌روزرسانی فاوا متوجه شد: بسته فاوا وابستگی‌هایی به beanquery و beangulp اضافه کرد تا از Beancount 3.x پشتیبانی کند. این رویکرد ماژولار همچنین به دیگران در جامعه اجازه می‌دهد تا به این ابزارهای کمکی مستقل‌تر از چرخه انتشار Beancount کمک کنند.

افزونه‌ها و افزایه‌های Beancount

یکی از نقاط قوت برجسته اکوسیستم Beancount، سیستم افزونه‌ها است. با افزودن خط plugin "module.name" در فایل Beancount خود، می‌توانید منطق سفارشی پایتون را که در طول پردازش دفتر کل اجرا می‌شود، اضافه کنید. جامعه کاربری افزونه‌های زیادی را برای گسترش قابلیت‌های Beancount ایجاد کرده است:

  • کیفیت داده و قوانین: نمونه‌ها شامل beancount-balexpr است که به شما امکان می‌دهد معادلات شامل چندین حساب را تأیید کنید (مثلاً دارایی الف + دارایی ب = بدهی ایکس)، و beancount-checkclosed که به طور خودکار اظهارات تراز را هنگام بستن یک حساب وارد می‌کند تا اطمینان حاصل شود که خالص آن صفر است. حتی یک افزونه برای اطمینان از مرتب بودن تراکنش‌ها در فایل بر اساس تاریخ (autobean.sorted) وجود دارد تا ورودی‌های نامرتب را شناسایی کند.
  • اتوماسیون: افزونه beancount-asset-transfer می‌تواند ورودی‌های انتقال غیرنقدی بین حساب‌ها را تولید کند (مفید برای جابجایی سهام بین کارگزاران در حالی که مبنای هزینه حفظ می‌شود). افزونه دیگری به نام autobean.xcheck، دفتر کل Beancount شما را با صورت‌حساب‌های خارجی برای یافتن مغایرت‌ها مقایسه می‌کند.
  • تراکنش‌های تکراری و بودجه‌بندی: افزونه "repeat" یا interpolate توسط Akuukis امکان تعریف تراکنش‌های تکراری یا توزیع یک هزینه سالانه در طول ماه‌ها را فراهم می‌کند. برای بودجه‌بندی، افزایه fava-envelope (که از طریق Fava استفاده می‌شود) از متدولوژی بودجه‌بندی پاکتی در متن ساده پشتیبانی می‌کند. همچنین MiniBudget توسط فرانک دیویس وجود دارد – یک ابزار مستقل کوچک با الهام از Beancount برای کمک به بودجه‌بندی برای استفاده شخصی یا کسب‌وکارهای کوچک.
  • مالیات و گزارش‌دهی: برخی افزونه‌ها به حسابداری مالیاتی کمک می‌کنند، مانند افزونه‌ای که سود سرمایه را به طور خودکار به کوتاه‌مدت در مقابل بلندمدت طبقه‌بندی می‌کند. افزونه دیگری (fincen_114 توسط جاستوس پندلتون) گزارش FBAR را برای مالیات‌دهندگان آمریکایی دارای حساب‌های خارجی تولید می‌کند، که نشان می‌دهد چگونه داده‌های Beancount می‌توانند برای گزارش‌دهی نظارتی مورد استفاده قرار گیرند.
  • مخازن افزونه‌های جامعه کاربری: مجموعه‌های افزونه‌های منتخب مانند beancount-plugins (توسط دیو استفنز) وجود دارند که بر مواردی مانند ورودی‌های استهلاک تمرکز دارند، و beancount-plugins-zack (توسط استفانو زاکیرولی) که شامل کمک‌کننده‌های متنوعی مانند دستورالعمل‌های مرتب‌سازی هستند.

علاوه بر افزونه‌ها، سایر ابزارهای کاربردی مرتبط با Beancount نیازهای خاصی را برطرف می‌کنند. به عنوان مثال، beancount-black یک قالب‌بند خودکار مشابه قالب‌بند کد Black است، اما برای فایل‌های دفتر کل Beancount. یک ربات Beancount (تلگرام/مترموست) برای افزودن تراکنش‌ها از طریق چت وجود دارد که قبلاً ذکر شد، و یک گردش کار آلفرد برای macOS برای افزودن سریع تراکنش‌ها به فایل شما. ابزاری به نام Pinto یک CLI "فوق‌العاده" با ورود تعاملی (مانند یک bean-add پیشرفته) ارائه می‌دهد. برای کسانی که از سیستم‌های دیگر مهاجرت می‌کنند، مبدل‌هایی (YNAB2Beancount, CSV2Beancount, GnuCash2Beancount, Ledger2Beancount) وجود دارند که به وارد کردن داده‌ها از جاهای دیگر کمک می‌کنند.

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

| ابزار/افزایه | توضیحات Beancount is a simple, plain- text accounting system. It is a command-line tool that helps you manage your finances. It is designed for people who want to keep track of their finances in a simple, plain-text format. It is also designed for people who want to automate their accounting processes.

Beancount Features

  • Double-entry bookkeeping: Beancount uses the double-entry bookkeeping system, which is a fundamental concept in accounting. This system ensures that every transaction is recorded in at least two accounts, with equal and opposite effects. This helps to maintain the balance of the ledger and prevent errors.
  • Plain-text format: Beancount stores your financial data in plain-text files. This makes it easy to read, edit, and manage your data using any text editor. It also makes it easy to version control your data using tools like Git.
  • Command-line interface: Beancount provides a command-line interface (CLI) for interacting with your financial data. This allows you to quickly add, edit, and query your transactions using simple commands. It also makes it easy to integrate Beancount with other tools and scripts.
  • Extensible plugin system: Beancount has a powerful plugin system that allows you to extend its functionality with custom scripts. You can use plugins to automate tasks, generate reports, and integrate with other services.
  • Reporting and analysis: Beancount provides various reporting and analysis tools to help you understand your financial situation. You can generate reports such as balance sheets, income statements, and cash flow statements. You can also use Beancount to analyze your spending patterns and identify areas where you can save money.
  • Multi-currency support: Beancount supports multiple currencies, allowing you to track transactions in different currencies. It also handles currency conversions automatically, making it easy to manage your international finances.
  • Automated reconciliation: Beancount can help you reconcile your accounts with your bank statements. It can automatically match transactions and identify discrepancies, saving you time and effort.
  • Privacy and security: Beancount stores your financial data locally on your computer, giving you full control over your data. It does not send your data to any third-party servers, ensuring your privacy and security.

Why Choose Beancount?

  • Simplicity: Beancount is designed to be simple and easy to use. Its plain-text format and command-line interface make it accessible to anyone, regardless of their technical expertise.
  • Flexibility: Beancount is highly flexible and customizable. Its plugin system allows you to tailor it to your specific needs and workflows.
  • Control: With Beancount, you have full control over your financial data. You can store it locally, back it up, and manage it using your preferred tools.
  • Transparency: Beancount's plain-text format makes your financial data transparent and auditable. You can easily see how your transactions are recorded and how your balances are calculated.
  • Community: Beancount has a vibrant and supportive community of users and developers. You can find help, share tips, and contribute to the project.

Get Started with Beancount

Ready to take control of your finances with Beancount? Here's how you can get started:

  1. Install Beancount: Follow the instructions in the official documentation to install Beancount on your system.
  2. Create your first ledger: Start by creating a new plain-text file for your Beancount ledger.
  3. Add your transactions: Begin adding your financial transactions to your ledger using Beancount's simple syntax.
  4. Generate reports: Use Beancount's reporting tools to generate insights into your financial situation.
  5. Explore plugins: Discover and experiment with various plugins to extend Beancount's functionality.

Join the Beancount community today and experience the power of plain-text accounting!

مقایسه با لجر، اچ‌لجر و سیستم‌های مشابه

بین‌کانت (Beancount) به خانواده ابزارهای حسابداری دوطرفه متن ساده تعلق دارد که در میان آن‌ها لجر CLI (Ledger CLI) (لجر جان ویگلی) و اچ‌لجر (hledger) برجسته هستند. در حالی که همه این سیستم‌ها ایده اصلی فایل‌های دفتر کل متن ساده و حسابداری دوطرفه را به اشتراک می‌گذارند، اما در نحو، فلسفه و بلوغ اکوسیستم با یکدیگر تفاوت دارند. جدول زیر تفاوت‌های کلیدی بین بین‌کانت، لجر و اچ‌لجر را برجسته می‌کند:

| جنبه | بین‌کانت (پایتون)

سناریوهای استفاده از بین‌کانت

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

مالیه شخصی

بسیاری از کاربران بین‌کانت از آن برای مدیریت امور مالی فردی یا خانوادگی خود استفاده می‌کنند. یک تنظیمات معمول مالیه شخصی در بین‌کانت ممکن است شامل حساب‌های جاری و پس‌انداز، کارت‌های اعتباری، سرمایه‌گذاری‌ها، وام‌ها، دسته‌بندی‌های درآمد (حقوق، سود و غیره) و دسته‌بندی‌های هزینه (اجاره، خواربار، سرگرمی و غیره) باشد. کاربران تراکنش‌های روزمره را به صورت دستی (با وارد کردن رسیدها، صورت‌حساب‌ها و غیره) یا با وارد کردن از صورت‌حساب‌های بانکی با استفاده از ابزارهای واردکننده که قبلاً بحث شد، ثبت می‌کنند. مزایایی که بین‌کانت برای مالیه شخصی به ارمغان می‌آورد عبارتند از:

  • یکپارچه‌سازی و تحلیل: تمام تراکنش‌های شما می‌توانند در یک فایل متنی (یا مجموعه‌ای از فایل‌ها) قرار گیرند که سال‌ها سابقه مالی را نشان می‌دهد. این کار تحلیل روندهای بلندمدت را آسان می‌کند. با زبان پرس‌وجوی بین‌کانت یا با فاوا، می‌توانید به سوالاتی مانند "در 5 سال گذشته چقدر برای سفر هزینه کردم؟" یا "میانگین قبض ماهانه خواربار من چقدر است؟" در عرض چند ثانیه پاسخ دهید. یکی از کاربران اشاره کرد که پس از روی آوردن به بین‌کانت، «تحلیل داده‌های مالی (هزینه‌ها، کمک‌ها، مالیات و غیره) بسیار ساده است»، چه از طریق فاوا و چه با پرس‌وجو از داده‌ها و استفاده از ابزارهایی مانند Pandas. در اصل، دفتر کل شما به یک پایگاه داده مالی شخصی تبدیل می‌شود که می‌توانید به دلخواه از آن پرس‌وجو کنید.
  • بودجه‌بندی و برنامه‌ریزی: در حالی که بین‌کانت یک سیستم بودجه‌بندی را تحمیل نمی‌کند، می‌توانید آن را پیاده‌سازی کنید. برخی از کاربران با ایجاد حساب‌های بودجه یا استفاده از افزونه fava-envelope، بودجه‌بندی پاکتی را انجام می‌دهند. برخی دیگر به سادگی از گزارش‌های دوره‌ای برای مقایسه هزینه‌ها با اهداف استفاده می‌کنند. از آنجا که متن ساده است، یکپارچه‌سازی بین‌کانت با ابزارهای بودجه‌بندی خارجی یا صفحات گسترده (اکسل) ساده است (صادر کردن داده‌ها یا استفاده از خروجی‌های CSV از پرس‌وجوها).
  • ردیابی سرمایه‌گذاری‌ها و ارزش خالص دارایی: بین‌کانت به لطف مدیریت قوی مبنای بهای تمام شده و قیمت‌های بازار، در ردیابی سرمایه‌گذاری‌ها عالی عمل می‌کند. می‌توانید خرید/فروش سهام، ارزهای دیجیتال و غیره را با جزئیات بهای تمام شده ثبت کنید و سپس از دستورات Prices برای پیگیری ارزش بازار استفاده کنید. فاوا می‌تواند نمودار ارزش خالص دارایی در طول زمان و تفکیک سبد سرمایه‌گذاری بر اساس طبقه دارایی را نشان دهد. این برای مدیریت ثروت شخصی بسیار مفید است – شما بینش‌هایی مشابه آنچه ابزارهای تجاری مانند Mint یا Personal Capital ارائه می‌دهند، به دست می‌آورید، اما کاملاً تحت کنترل خودتان. مدیریت چند ارزی نیز داخلی است، بنابراین اگر ارزهای خارجی یا ارزهای دیجیتال نگهداری می‌کنید، بین‌کانت می‌تواند آن‌ها را ردیابی کرده و برای گزارش‌دهی تبدیل کند.
  • تطبیق و دقت: مالیه شخصی اغلب شامل تطبیق با صورت‌حساب‌های بانکی است. با بین‌کانت، می‌توان به طور منظم حساب‌ها را با استفاده از اظهارات تراز (balance assertions) یا قابلیت اسناد تطبیق داد. به عنوان مثال، هر ماه ممکن است یک ورودی balance Assets:Bank:Checking <date> <balance> اضافه کنید تا تأیید کنید که دفتر کل شما با صورت‌حساب بانک در پایان ماه مطابقت دارد. ابزار bean-check (یا نمایش خطای فاوا) در صورت عدم تطابق، به شما هشدار می‌دهد. یکی از کاربران به انجام تطبیق ماهانه تمام حساب‌ها اشاره می‌کند که «به شناسایی هرگونه فعالیت غیرعادی کمک می‌کند» – یک روش خوب بهداشت مالی شخصی که بین‌کانت آن را تسهیل می‌کند.
  • اتوماسیون: افراد آشنا به فناوری، بخش‌های بزرگی از گردش کار مالیه شخصی خود را با بین‌کانت خودکار کرده‌اند. با استفاده از واردکننده‌ها، کرون جاب‌ها و شاید کمی پایتون، می‌توانید سیستم خود را طوری تنظیم کنید که، به عنوان مثال، هر روز تراکنش‌های بانکی شما واکشی شده (برخی از OFX یا APIها استفاده می‌کنند) و به فایل بین‌کانت شما اضافه شوند، که بر اساس قوانین دسته‌بندی شده‌اند. با گذشت زمان، دفتر کل شما عمدتاً به صورت خودکار به‌روزرسانی می‌شود و شما فقط در صورت نیاز آن را بررسی و تنظیم می‌کنید. یکی از اعضای جامعه در Hacker News به اشتراک گذاشت که پس از 3 سال، دفاتر بین‌کانت آن‌ها «95% خودکار» بودند. این سطح از اتوماسیون به دلیل باز بودن متن ساده بین‌کانت و قابلیت‌های اسکریپت‌نویسی آن امکان‌پذیر است.

کاربران مالیه شخصی اغلب بین‌کانت را به صفحات گسترده (اکسل) یا برنامه‌ها ترجیح می‌دهند زیرا مالکیت کامل داده‌ها را به آن‌ها می‌دهد (عدم وابستگی به یک سرویس ابری که ممکن است تعطیل شود – نگرانی که با توقف Mint، به عنوان مثال، مطرح شد) و به این دلیل که عمق بینش زمانی که تمام داده‌های شما یکپارچه شده‌اند، بیشتر است. منحنی یادگیری ناچیز نیست – باید حسابداری پایه و نحو بین‌کانت را یاد گرفت – اما منابعی مانند مستندات رسمی و آموزش‌های جامعه به تازه‌واردان کمک می‌کنند تا شروع کنند. پس از راه‌اندازی، بسیاری متوجه می‌شوند که داشتن تصویری واضح و قابل اعتماد از امور مالی خود در هر زمان، آرامش خاطر به ارمغان می‌آورد.

حسابداری کسب‌وکارهای کوچک

استفاده از بین‌کاونت (Beancount) برای یک کسب‌وکار کوچک (یا سازمان غیرانتفاعی، باشگاه و غیره) کمتر از استفاده شخصی رایج است، اما قطعاً امکان‌پذیر است و برخی با موفقیت این کار را انجام داده‌اند. چارچوب حسابداری دوطرفه بین‌کاونت در واقع همان سیستمی است که زیربنای حسابداری شرکتی را تشکیل می‌دهد، فقط بدون برخی از ویژگی‌های سطح بالاتر که نرم‌افزارهای حسابداری اختصاصی ارائه می‌دهند (مانند ماژول‌های صدور فاکتور یا یکپارچه‌سازی حقوق و دستمزد). در ادامه نحوه انطباق بین‌کاونت با زمینه یک کسب‌وکار کوچک آورده شده است:

  • دفتر کل و صورت‌های مالی: یک کسب‌وکار کوچک می‌تواند فایل بین‌کاونت را به عنوان دفتر کل خود در نظر بگیرد. شما حساب‌های دارایی برای حساب‌های بانکی، حساب‌های دریافتنی، شاید موجودی کالا؛ حساب‌های بدهی برای کارت‌های اعتباری، وام‌ها، حساب‌های پرداختنی؛ حقوق صاحبان سهام برای سرمایه مالک؛ حساب‌های درآمد برای فروش یا خدمات؛ و حساب‌های هزینه برای تمام هزینه‌های کسب‌وکار خواهید داشت. با نگهداری این دفتر کل، می‌توانید در هر زمان با استفاده از گزارش‌ها یا پرس‌وجوهای بین‌کاونت، صورت سود و زیان (سود و زیان) و ترازنامه تولید کنید. در واقع، گزارش‌های داخلی بین‌کاونت یا فاوا (Fava) می‌توانند در عرض چند ثانیه ترازنامه و صورت سود و زیان را تولید کنند که کاملاً با اصول حسابداری مطابقت دارند. این می‌تواند برای یک عملیات کوچک جهت ارزیابی سودآوری، وضعیت مالی و جریان نقدی (با کمی پرس‌وجو برای جریان نقدی، زیرا صورت‌های جریان نقدی مستقیم داخلی نیستند اما قابل استخراج هستند) کافی باشد.
  • فاکتورها و حساب‌های دریافتنی، حساب‌های پرداختنی: بین‌کاونت سیستم صدور فاکتور داخلی ندارد؛ کاربران معمولاً صدور فاکتور را در خارج از آن (مثلاً ایجاد فاکتور در ورد یا یک برنامه فاکتور) انجام می‌دهند و سپس نتایج را در بین‌کاونت ثبت می‌کنند. به عنوان مثال، هنگامی که فاکتوری صادر می‌کنید، یک ثبت حسابداری شامل بدهکار کردن حساب‌های دریافتنی و بستانکار کردن درآمد را ثبت می‌کنید. هنگامی که پرداخت انجام می‌شود، حساب نقد/بانک را بدهکار و حساب‌های دریافتنی را بستانکار می‌کنید. به این ترتیب، می‌توانید با بررسی مانده حساب‌های دریافتنی، مطالبات معوق را پیگیری کنید. همین امر در مورد صورت‌حساب‌ها (حساب‌های پرداختنی) نیز صدق می‌کند. اگرچه این روش دستی‌تر از نرم‌افزارهای حسابداری تخصصی است (که ممکن است یادآوری ارسال کنند یا با ایمیل‌ها یکپارچه شوند)، اما کاملاً قابل انجام است. برخی از کاربران الگوها یا جریان‌های کاری را به اشتراک گذاشته‌اند که چگونه فاکتورها را با بین‌کاونت مدیریت می‌کنند و اطمینان حاصل می‌کنند که فاکتورهای باز را از دست نمی‌دهند (به عنوان مثال، با استفاده از فراداده یا پرس‌وجوهای سفارشی برای لیست کردن فاکتورهای پرداخت نشده).
  • موجودی کالا یا بهای تمام شده کالای فروش رفته: برای کسب‌وکارهایی که محصولات می‌فروشند، بین‌کاونت می‌تواند خرید و فروش موجودی کالا را ردیابی کند، اما نیاز به ثبت‌های دقیق و منظم دارد. شما می‌توانید از ویژگی‌های موجودی کالا و حسابداری بهای تمام شده استفاده کنید: خرید موجودی کالا یک حساب دارایی را افزایش می‌دهد (با بهای تمام شده مرتبط با اقلام)، فروش آن بهای تمام شده را به یک هزینه (بهای تمام شده کالای فروش رفته) منتقل می‌کند و درآمد را ثبت می‌کند. از آنجایی که بین‌کاونت بر تطبیق دسته‌ها اصرار دارد، کاهش صحیح موجودی کالا با بهای تمام شده درست را اعمال می‌کند، که در صورت انجام صحیح می‌تواند دقت محاسبات سود ناخالص شما را تضمین کند. با این حال، هیچ ردیابی خودکار SKU یا موارد مشابه وجود ندارد – همه چیز در سطح مالی (مقدار و بهای تمام شده) است.
  • حقوق و دستمزد و تراکنش‌های پیچیده: بین‌کاونت می‌تواند تراکنش‌های حقوق و دستمزد (هزینه حقوق، کسورات مالیاتی و غیره) را ثبت کند، اما محاسبه این ارقام ممکن است به صورت خارجی یا از طریق ابزار دیگری انجام شود و سپس فقط در بین‌کاونت ثبت گردد. برای یک کسب‌وکار بسیار کوچک (مثلاً یک یا دو کارمند)، این کار قابل مدیریت است. به عنوان مثال، شما یک ثبت روزنامه واحد برای هر دوره پرداخت که دستمزدها، مالیات کسر شده، هزینه مالیات کارفرما، وجه نقد پرداخت شده و غیره را تفکیک می‌کند، ثبت خواهید کرد. انجام این کار به صورت دستی مشابه نحوه انجام آن در ثبت‌های روزنامه QuickBooks است – نیاز به دانش در مورد اینکه کدام حساب‌ها را تحت تأثیر قرار دهید، دارد.
  • چند کاربره و حسابرسی: یکی از چالش‌ها در محیط کسب‌وکار این است که آیا چندین نفر نیاز به دسترسی به دفاتر دارند یا یک حسابدار نیاز به بررسی آن‌ها دارد. از آنجایی که بین‌کاونت یک فایل متنی است، به صورت بلادرنگ چند کاربره نیست. با این حال، میزبانی فایل در یک مخزن گیت (Git repository) می‌تواند همکاری را امکان‌پذیر سازد: هر شخص می‌تواند ویرایش و کامیت (commit) کند، و تفاوت‌ها را می‌توان ادغام (merge) کرد.
  • انطباق با مقررات: برای اظهارنامه مالیاتی یا انطباق با مقررات، داده‌های بین‌کاونت می‌توانند برای تولید گزارش‌های لازم استفاده شوند، اما ممکن است نیاز به پرس‌وجوهای سفارشی یا افزونه‌ها داشته باشد. ما نمونه‌ای از یک افزونه جامعه برای گزارش‌دهی انطباق با دولت هند و یکی برای گزارش‌دهی FinCEN FBAR را دیدیم. این نشان می‌دهد که با تلاش، بین‌کاونت می‌تواند برای برآورده کردن الزامات گزارش‌دهی خاص تطبیق یابد. کسب‌وکارهای کوچک در حوزه‌های قضایی با الزامات ساده (حسابداری نقدی یا تعهدی پایه) قطعاً می‌توانند دفاتر را در بین‌کاونت نگهداری کرده و صورت‌های مالی را برای اظهارنامه‌های مالیاتی تولید کنند. با این حال، ویژگی‌هایی مانند جداول استهلاک یا امورتایزیشن (amortization) ممکن است نیاز به ثبت‌های دستی شما یا استفاده از یک افزونه داشته باشد (برای مثال، افزونه‌های استهلاک دیو استفنز به خودکارسازی آن کمک می‌کنند). هیچ رابط کاربری گرافیکی (GUI) برای «کلیک کردن برای استهلاک دارایی» مانند برخی نرم‌افزارهای حسابداری وجود ندارد؛ شما استهلاک را به عنوان تراکنش‌ها کدگذاری می‌کنید (که به نوعی آن را از ابهام خارج می‌کند – همه چیز یک ثبت است که می‌توانید آن را بررسی کنید).

در عمل، بسیاری از صاحبان کسب‌وکارهای کوچک با گرایش فنی، در صورتی که کنترل و شفافیت را به راحتی QuickBooks ترجیح دهند، از بین‌کاونت (یا لجر/اچ‌لجر) استفاده کرده‌اند. یک بحث در ردیت (Reddit) اشاره کرد که برای حسابداری استاندارد کسب‌وکارهای کوچک با حجم محدود تراکنش‌ها، بین‌کاونت به خوبی کار می‌کند. عامل محدودکننده معمولاً سطح راحتی است – اینکه آیا صاحب کسب‌وکار (یا حسابدار او) با یک ابزار مبتنی بر متن راحت است یا خیر. یکی از مزایا هزینه است: بین‌کاونت رایگان است، در حالی که نرم‌افزارهای حسابداری می‌توانند برای یک کسب‌وکار کوچک گران باشند. از سوی دیگر، عدم پشتیبانی رسمی و ماهیت خودساخته آن به این معنی است که برای کسانی که هم صاحب کسب‌وکار هستند و هم تا حدودی از نظر فنی تمایل دارند، مناسب‌تر است. برای فریلنسرها یا صاحبان مشاغل انفرادی با مهارت‌های برنامه‌نویسی، بین‌کاونت می‌تواند یک انتخاب جذاب برای مدیریت امور مالی بدون اتکا به خدمات حسابداری ابری باشد.

رویکردهای ترکیبی نیز امکان‌پذیر است: برخی از کسب‌وکارهای کوچک از یک سیستم رسمی برای فاکتورها یا حقوق و دستمزد استفاده می‌کنند، اما به صورت دوره‌ای داده‌ها را برای تحلیل و بایگانی به بین‌کاونت وارد می‌کنند. به این ترتیب، آن‌ها بهترین هر دو جهان را به دست می‌آورند – انطباق و سهولت برای عملیات روزمره، به علاوه قدرت بین‌کاونت برای بینش یکپارچه.

به طور خلاصه، بین‌کاونت می‌تواند حسابداری کسب‌وکارهای کوچک را مدیریت کند، مشروط بر اینکه کاربر مایل به مدیریت دستی مواردی باشد که نرم‌افزارهای تجاری آن‌ها را خودکار می‌کنند. این امر درجه بالایی از شفافیت را تضمین می‌کند – شما دفاتر خود را عمیقاً درک می‌کنید زیرا خودتان آن‌ها را می‌نویسید – و برای یک کاربر دقیق، می‌تواند دفاتر بی‌نقصی تولید کند. هم کاربران شخصی و هم کاربران تجاری از نقاط قوت اصلی بین‌کاونت بهره‌مند می‌شوند: یک موتور حسابداری قابل اعتماد، مسیر حسابرسی کامل، و انعطاف‌پذیری برای انطباق با سناریوهای منحصر به فرد (از طریق اسکریپت‌نویسی و افزونه‌ها). چه ردیابی بودجه خانوار باشد و چه امور مالی یک استارتاپ، بین‌کاونت ابزاری را برای انجام آن با دقت و شفافیت ارائه می‌دهد.

جامعه و فعالیت توسعه

بیانکونت (Beancount) دارای جامعه‌ای اختصاصی و داستانی از توسعه است که ماهیت متن‌باز، خاص اما پرشور آن را منعکس می‌کند. در ادامه نکات کلیدی درباره جامعه، نگه‌دارندگان و پروژه‌های مرتبط با آن آورده شده است:

  • نگهداری پروژه: نویسنده اصلی بیانکونت، مارتین بلایس (Martin Blais) است که پروژه را حدود سال ۲۰۰۷ آغاز کرد و آن را در نسخه‌های متعدد هدایت کرده است. توسعه برای مدت طولانی عمدتاً تلاشی یک‌نفره بود (به‌جز مشارکت‌های جامعه در قالب پچ‌ها). فلسفه مارتین این بود که ابزار حسابداری‌ای بسازد که "اول برای خودم مفید باشد، و همچنین برای دیگران، به ساده‌ترین و بادوام‌ترین شکل ممکن". این انگیزه شخصی پروژه را به‌عنوان یک کار عاشقانه زنده نگه داشت. تا سال ۲۰۲۵، مارتین بلایس همچنان نگه‌دارنده اصلی است (نام او در کامیت‌ها ظاهر می‌شود و او به سؤالات در لیست پستی/ردیاب مشکلات پاسخ می‌دهد)، اما اکوسیستم اطراف بیانکونت مشارکت‌کنندگان بسیاری در پروژه‌های مربوط به خود دارد.

  • گیت‌هاب و مخازن: کد منبع در گیت‌هاب تحت مخزن beancount/beancount میزبانی می‌شود. این پروژه تحت مجوز GPL-2.0 است و در طول سال‌ها تعداد متوسطی از مشارکت‌کنندگان را جذب کرده است. در اواسط سال ۲۰۲۴، بیانکونت نسخه ۳ به‌طور رسمی به‌عنوان شاخه پایدار جدید منتشر شد. این انتشار شامل جداسازی برخی اجزا بود: به‌عنوان مثال، مخزن beangulp (برای واردکننده‌ها) و مخزن beanquery (برای ابزار پرس‌وجو) اکنون بخشی از سازمان گیت‌هاب beancount هستند و تا حدی مستقل نگهداری می‌شوند. مخزن اصلی بیانکونت بر موتور اصلی حسابداری و تحلیل‌گر فایل تمرکز دارد. تا سال ۲۰۲۵، گیت‌هاب بیانکونت بحث‌های فعال در مورد مشکلات و توسعه در حال انجام را نشان می‌دهد – اگرچه حجم بالایی ندارد، اما مشکلات و درخواست‌های پول (pull requests) به‌تدریج وارد می‌شوند و به‌روزرسانی‌های گاه‌به‌گاه برای رفع اشکالات یا بهبود ویژگی‌ها انجام می‌شود.

  • توسعه فاوا: فاوا (Fava)، رابط وب، به‌عنوان یک پروژه جداگانه آغاز شد (ایجاد شده توسط دومینیک آومایر (Dominic Aumayr) که در سال ۲۰۱۶ حق کپی‌رایت آن را ثبت کرد). این پروژه جامعه مشارکت‌کنندگان خاص خود را دارد و همچنین در گیت‌هاب تحت beancount/fava قرار دارد. نگه‌دارندگان و مشارکت‌کنندگان فاوا (مانند یاکوب شنیتز (Jakob Schnetz)، استفان اوته (Stefan Otte) و دیگران در سال‌های اخیر) به‌طور فعال در حال بهبود رابط کاربری بوده‌اند و هر چند ماه یک‌بار نسخه‌های جدیدی منتشر می‌کنند. چت گیتِر (Gitter) فاوا (که در مستندات فاوا لینک شده است) و ردیاب مشکلات گیت‌هاب مکان‌هایی هستند که کاربران و توسعه‌دهندگان درباره ویژگی‌های جدید یا اشکالات بحث می‌کنند. این پروژه از مشارکت‌ها استقبال می‌کند، که با یادداشتی در CHANGELOG که از چندین عضو جامعه برای درخواست‌های پولشان (PRs) تشکر می‌کند، مشهود است. همسویی نزدیک فاوا با توسعه بیانکونت (مانند افزودن سریع پشتیبانی از Beancount v3 و نحو جدید beanquery) نشان‌دهنده همکاری خوب بین دو پروژه است.

  • لیست‌های پستی و انجمن‌ها: بیانکونت یک لیست پستی رسمی دارد (قبلاً در گروه‌های گوگل (Google Groups) با عنوان "Beancount" یا گاهی در لیست عمومی لِجر (Ledger) مورد بحث قرار می‌گرفت). این لیست پستی گنجینه‌ای از دانش است – کاربران سؤالاتی درباره نحوه مدل‌سازی سناریوهای خاص می‌پرسند، اشکالات را گزارش می‌دهند و نکات را به اشتراک می‌گذارند. مارتین بلایس به پاسخ‌های دقیق در لیست پستی معروف است. علاوه بر این، جامعه گسترده‌تر حسابداری متن ساده همپوشانی زیادی دارد. لیست پستی Ledger CLI نیز اغلب سؤالاتی درباره بیانکونت را مطرح می‌کند، و یک انجمن در plaintextaccounting.org و یک ساب‌ردیت (subreddit) به نام r/plaintextaccounting وجود دارد که موضوعات بیانکونت به‌طور مکرر در آن مطرح می‌شوند. کاربران در این پلتفرم‌ها درباره مقایسه‌ها بحث می‌کنند، تنظیمات شخصی خود را به اشتراک می‌گذارند و به تازه‌واردان کمک می‌کنند. لحن کلی جامعه بسیار تعاونی است – کاربران بیانکونت اغلب به کاربران لِجر کمک می‌کنند و بالعکس، با درک اینکه همه این ابزارها اهداف مشابهی دارند.

  • گروه‌های چت: علاوه بر لیست‌های پستی، کانال‌های چتی مانند اسلک/دیسکورد حسابداری متن ساده (که توسط جامعه سازماندهی شده‌اند) و گیتِر فاوا وجود دارند. این‌ها روش‌های کمتر رسمی و بلادرنگ‌تری برای دریافت کمک یا بحث درباره ویژگی‌ها هستند. به‌عنوان مثال، ممکن است کسی به اسلک بپیوندد تا بپرسد آیا کسی واردکننده‌ای برای یک بانک خاص دارد یا خیر. همچنین یک کانال ماتریکس/IRC (که از لحاظ تاریخی #ledger یا #beancount در IRC بوده است) وجود دارد که برخی از کاربران قدیمی در آن حضور دارند. اگرچه این کانال‌ها به اندازه جوامع نرم‌افزارهای اصلی پرجمعیت نیستند، اما افراد آگاهی در آن‌ها حضور دارند که اغلب می‌توانند به سؤالات حسابداری مبهم پاسخ دهند.

  • مشارکت‌کنندگان و اعضای کلیدی جامعه: چند نام در جامعه بیانکونت برجسته هستند:

    • "رد‌استریت" (Red S): یک مشارکت‌کننده پرکار که بسیاری از افزونه‌ها (مانند beancount-balexpr، sellgains و غیره) را نوشته و اغلب پشتیبانی ارائه می‌دهد. او همچنین مجموعه‌ای از اسکریپت‌های واردکننده و ابزاری به نام bean-download را برای واکشی صورت‌حساب‌ها نگهداری می‌کند.
    • واسیلی ام (Evernight): نویسنده برخی چارچوب‌های واردکننده و افزونه‌ها مانند beancount-valuation، و مشارکت در فاوا در زمینه سرمایه‌گذاری‌ها.
    • استفانو زاکیرولی (zack): یک توسعه‌دهنده دبیان (Debian) که beancount-mode را برای اِمکس (Emacs) و مخزن افزونه‌های خود را ایجاد کرده است. او همچنین از حسابداری متن ساده در محیط‌های آکادمیک حمایت کرده است.
    • سایمون مایکل: در حالی که او عمدتاً رهبر hledger است، وب‌سایت plaintextaccounting.org را اداره می‌کند که شامل بیانکونت نیز می‌شود. این گرده‌افشانی متقابل به جلب توجه کاربران لِجر/hledger به بیانکونت کمک کرده است.
    • فرانک هل (Tarioch): مشارکت‌کننده ابزارهای Tarioch Beancount Tools، مجموعه‌ای بزرگ از واردکننده‌ها و واکشی‌کننده‌های قیمت به‌ویژه برای مؤسسات اروپایی.
    • سیدانت گوئل: یکی از اعضای جامعه که درباره بیانکونت وبلاگ می‌نویسد (به‌عنوان مثال، راهنمای او برای مهاجرت به نسخه ۳) و برخی واردکننده‌ها را نگهداری می‌کند. پست‌های وبلاگ او به بسیاری از کاربران جدید کمک کرده است.

    این افراد و بسیاری دیگر، کد، مستندات و کمک در انجمن‌ها را ارائه می‌دهند و اکوسیستم را با وجود اندازه نسبتاً کوچک آن، پویا نگه می‌دارند.

  • آمار گیت‌هاب و فورک‌ها: مخزن گیت‌هاب بیانکونت چند صد ستاره (نشان‌دهنده علاقه) و فورک (انشعاب) جمع‌آوری کرده است. فورک‌های قابل توجه خود بیانکونت نادر هستند – هیچ فورک واگرای شناخته‌شده‌ای وجود ندارد که سعی کند "بیانکونت با ویژگی X" باشد. در عوض، هنگامی که کاربران چیز متفاوتی می‌خواستند، یا یک افزونه نوشتند یا از ابزار دیگری (مانند hledger) استفاده کردند، به‌جای اینکه بیانکونت را فورک کنند. می‌توان hledger را نوعی فورک لِجر (نه بیانکونت) و خود بیانکونت را بازتصویری مستقل از ایده‌های لِجر در نظر گرفت، اما در داخل مخزن بیانکونت پروژه‌های انشعابی بزرگی وجود ندارد. جامعه به‌طور کلی حول مخزن اصلی جمع شده و آن را از طریق رابط افزونه گسترش داده است، به‌جای اینکه پایگاه کد را تکه‌تکه کند. این احتمالاً به این دلیل است که مارتین بلایس نسبت به مشارکت‌های خارجی باز بود (مستندات او حتی بخشی برای قدردانی از مشارکت‌ها و ماژول‌های خارجی دارد) و معماری افزونه نیاز به نگهداری یک فورک برای اکثر

تحولات اخیر و ویژگی‌های آتی

تا سال ۲۰۲۵، اکوسیستم Beancount شاهد تحولات قابل توجهی در چند سال گذشته بوده است، و بحث‌های جاری در مورد بهبودهای آتی وجود دارد. در اینجا برخی از تحولات اخیر قابل توجه و نگاهی اجمالی به آنچه ممکن است در راه باشد، آورده شده است:

  • انتشار Beancount 3.0 (2024): پس از مدت‌ها که Beancount 2.x استاندارد بود، نسخه ۳ به طور رسمی در اواسط سال ۲۰۲۴ منتشر شد. این یک نقطه عطف بزرگ بود زیرا نسخه ۳ نشان‌دهنده ساده‌سازی و مدرن‌سازی پایگاه کد است. مارتین بلایس نسخه ۳ را فرصتی برای "بازآرایی و ساده‌سازی" بیشتر سیستم تصور کرده بود. در حالی که در ابتدا تصور می‌شد یک بازنویسی بزرگ باشد، در عمل به‌روزرسانی برای کاربران چندان مختل‌کننده نبود. تغییرات اصلی زیر کاپوت بودند: یک تجزیه‌کننده جدید، برخی بهبودهای عملکردی، و استخراج اجزای اختیاری از هسته. این انتشار به تدریج انجام شد (نسخه ۳ از سال ۲۰۲۲ در بتا بود، اما تا ژوئیه ۲۰۲۴ به نسخه پایدار توصیه شده تبدیل شد). کاربرانی مانند Siddhant Goel گزارش دادند که مهاجرت از ۲.x به ۳.x "عمدتاً بدون حادثه" و تنها با چند تغییر در گردش کار همراه بود.

  • ماژولار شدن – ابزارها به بسته‌های جداگانه منتقل شدند: یکی از تغییرات بزرگ با Beancount 3 این است که بسیاری از ابزارهایی که قبلاً در مخزن یکپارچه قرار داشتند، جدا شدند. به عنوان مثال، bean-query اکنون توسط بسته beanquery ارائه می‌شود، و beancount.ingest با بسته beangulp جایگزین شد. دستوراتی مانند bean-extract و bean-identify (برای واردات) از هسته Beancount حذف شدند. در عوض، فلسفه این است که از اسکریپت‌های مستقل برای وارد کردن استفاده شود. این بدان معناست که اگر به نسخه ۳ ارتقا دهید، باید beangulp را نصب کرده و اسکریپت‌های واردکننده را اجرا کنید (هر واردکننده اساساً یک برنامه کوچک است) به جای داشتن یک فایل پیکربندی مرکزی bean-extract. به طور مشابه، پرس‌وجوها از طریق beanquery اجرا می‌شوند که می‌تواند مستقل از هسته Beancount نصب و به‌روزرسانی شود. این رویکرد پیمانه‌ای برای آسان‌تر کردن نگهداری و تشویق مشارکت‌های جامعه طراحی شده است. همچنین هسته Beancount را کوچک‌تر کرد، بنابراین هسته صرفاً بر تجزیه و منطق حسابداری تمرکز می‌کند، در حالی که قابلیت‌های جانبی می‌توانند به طور جداگانه تکامل یابند. از دیدگاه کاربر، پس از ارتقا، باید دستورات را تنظیم کرد (به عنوان مثال، استفاده از bean-query از beanquery، یا استفاده از Fava که این را به هر حال انتزاعی می‌کند). تاریخچه تغییرات Fava به صراحت این تغییرات را ذکر می‌کند: Fava اکنون به beanquery و beangulp وابسته است، و جریان‌های کاری واردات را برای Beancount 3 در مقابل 2 به طور متفاوتی مدیریت می‌کند.

  • بهبودهای عملکردی: عملکرد یکی از انگیزه‌های بازنگری در طراحی Beancount بود. برنامه نسخه ۳ (همانطور که در سند "اهداف V3" مارتین تشریح شده است) شامل بهینه‌سازی تجزیه‌کننده و احتمالاً سریع‌تر و کم‌مصرف‌تر کردن فرآیند بارگذاری بود. تا سال ۲۰۲۵، برخی از این بهبودها محقق شده‌اند. به طور غیررسمی، کاربران با دفترهای کل بسیار بزرگ (ده‌ها هزار تراکنش، یا تعداد زیادی معاملات سهام) عملکرد بهتری را با آخرین نسخه گزارش کرده‌اند. به عنوان مثال، کاربری که با "تراکنش‌های خرد سرمایه‌گذاری" سروکار داشت و با مشکلات عملکردی مواجه بود، این نگرانی‌ها را در گروه Google مطرح کرد – این نوع بازخورد احتمالاً نسخه ۳ را شکل داده است. تجزیه‌کننده جدید کارآمدتر و به روشی واضح‌تر نوشته شده است که می‌تواند در آینده گسترش یابد. علاوه بر این، Fava 1.29 به یک مکانیزم نظارت بر فایل کارآمدتر (با استفاده از کتابخانه watchfiles) منتقل شد تا پاسخگویی را هنگام تغییر دفتر کل بهبود بخشد. با نگاه به آینده، جامعه ممکن است تجزیه افزایشی (فقط پردازش مجدد بخش‌های تغییر یافته فایل به جای همه چیز) را برای مدیریت سریع‌تر دفترهای کل بزرگ بررسی کند – این در مستندات به عنوان ایده "سرور Beancount / ثبت افزایشی" اشاره شده بود.

  • بهبودهای ردیابی سرمایه‌گذاری: کار مداومی برای بهبود گزارش‌دهی سرمایه‌گذاری و سبد سهام انجام شده است. به عنوان مثال، مدیریت مبنای میانگین هزینه در مقابل فایفو (FIFO) به تفصیل مورد بحث قرار گرفت. در حالی که Beancount تطبیق دسته‌ها را اعمال می‌کند، برخی کاربران مبنای میانگین هزینه را برای حوزه‌های قضایی خاص ترجیح می‌دهند. یک پیشنهاد و بحث در مورد انعطاف‌پذیرتر کردن ثبت مبنای هزینه (احتمالاً از طریق یک افزونه یا گزینه) وجود دارد. تا سال ۲۰۲۵، هیچ سوئیچ داخلی برای میانگین هزینه وجود ندارد، اما زیرساخت در نسخه ۳ (بازطراحی ثبت) پیاده‌سازی آن را برای افزونه‌ها آسان‌تر می‌کند. یک افزونه جامعه‌ای به نام "Gains Minimizer" منتشر شد که می‌تواند پیشنهاد کند کدام دسته‌ها را برای به حداقل رساندن مالیات بفروشید، که نشان‌دهنده نوع ابزارهای پیشرفته‌ای است که در اطراف سرمایه‌گذاری‌ها ساخته می‌شوند. Fava نیز ویژگی‌هایی مانند یک افزونه خلاصه سبد سهام (با محاسبات نرخ بازده) اضافه کرد. از نظر ویژگی‌های آتی، می‌توان انتظار بیشتری در این زمینه داشت: احتمالاً پیشنهادهای متعادل‌سازی خودکار سبد سهام یا تحلیل ریسک، که احتمالاً به عنوان ابزارهای خارجی که داده‌های Beancount را می‌خوانند (زیرا تمام داده‌ها در آنجا موجود است) ارائه خواهند شد.

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

    • ابزارهای گزارش‌دهی بودجه – به عنوان مثال، یک گزارشگر بودجه CLI ساده اگر کسی از رابط کاربری Fava استفاده نمی‌کند.
    • رمزگذاری و امنیت – تنظیمات fava-encrypt، که امکان میزبانی آنلاین Fava را با دفتر کل رمزگذاری شده در حالت سکون فراهم می‌کند، معرفی شد و به نگرانی میزبانی شخصی امور مالی شما پاسخ داد.
    • افزونه‌های بهبود کیفیت زندگی – مانند autobean-format (یک فرمت‌کننده جدید که می‌تواند موارد گوشه‌ای بیشتری را با تجزیه و چاپ مجدد فایل مدیریت کند)، و یکپارچه‌سازی beancheck در ویرایشگرها (flymake برای Emacs).

    با نگاه به آینده، جامعه احتمالاً به پر کردن شکاف‌ها از طریق افزونه‌ها ادامه خواهد داد. به عنوان مثال، ممکن است شاهد افزونه‌های مرتبط با مالیات بیشتری باشیم (برخی کاربران اسکریپت‌هایی را برای مواردی مانند محاسبه فروش‌های شستشو یا گزارش‌های مالیاتی محلی خاص به اشتراک گذاشته‌اند).

  • ویژگی‌های بالقوه آتی: بر اساس بحث‌ها در ردیاب مسائل و لیست پستی، چند ایده در افق هستند (اگرچه تضمین شده نیستند):

    • تفکیک زمانی: در حال حاضر، Beancount فقط تاریخ‌ها (بدون برچسب‌های زمانی) را برای تراکنش‌ها ردیابی می‌کند. سوالاتی در مورد افزودن زمان (برای معاملات سهام یا ترتیب تراکنش‌های هم‌روزه) مطرح شده است. مارتین بلایس به صراحت تصمیم گرفت که برچسب‌های زمانی زیر یک روز برای حفظ سادگی خارج از محدوده هستند. این بعید است به زودی تغییر کند – بنابراین نسخه‌های آتی احتمالاً تفکیک زمانی را اضافه نخواهند کرد و بر این موضع پایبند خواهند بود که اگر به زمان نیاز دارید، آن را در شرح یا یک حساب بگنجانید.
    • ویرایش GUI پیشرفته: Fava به طور مداوم قابلیت‌های ویرایش خود را بهبود می‌بخشد. یک امکان، یک ویرایشگر وب با قابلیت‌های کامل‌تر (با پیشنهاد خودکار، شاید ورود مبتنی بر فرم برای تراکنش‌های جدید) است. زیرساخت استفاده از tree-sitter در ویرایشگر Fava فراهم شده است. ممکن است شاهد تبدیل Fava نه تنها به یک نمایشگر بلکه به یک ویرایشگر قدرتمندتر باشیم، که نیاز به باز کردن یک ویرایشگر متن را برای بسیاری از وظایف کاهش می‌دهد.
    • پشتیبانی بهتر از چندین دفتر کل: برخی کاربران چندین فایل Beancount را نگهداری می‌کنند (برای نهادهای مختلف یا برای تفکیک شخصی در مقابل تجاری). در حال حاضر، شامل کردن فایل‌ها امکان‌پذیر است اما محدودیت‌هایی دارد (افزونه‌ها در فایل‌های شامل شده و غیره). یک افزونه اخیر autobean.include برای شامل کردن ایمن دفترهای کل خارجی ایجاد شد. در آینده، ممکن است شاهد پشتیبانی درجه یک برای تنظیمات چند فایلی باشیم – شاید مفهومی از یک "پروژه" Beancount با چندین فایل (این با ویژگی‌هایی مانند تنظیم beancount.mainBeanFile در افزونه VSCode اشاره شده است). این به کسانی که حسابداری چند نهادی را انجام می‌دهند یا می‌خواهند دفتر کل خود را ماژولار کنند، کمک خواهد کرد.
    • محاسبات بی‌درنگ یا افزایشی: با رشد دفترهای کل، توانایی محاسبه مجدد سریع گزارش‌ها اهمیت پیدا می‌کند. ایده‌ای از یک سرور Beancount وجود دارد که در حال اجرا باقی می‌ماند و نتایج را با تغییر تراکنش‌ها به‌روزرسانی می‌کند. این می‌تواند به عنوان یک بهینه‌سازی در Fava یا یک دیمون که افزونه‌های ویرایشگر می‌توانند از آن پرس‌وجو کنند، ظاهر شود. شاید یک نسخه آتی Fava از یک فرآیند Beancount در حال اجرا به طور مداوم برای پاسخگوتر کردن رابط کاربری برای دفترهای کل عظیم استفاده کند.
    • حسابداری وجوه / ویژگی‌های غیرانتفاعی: یک پیشنهاد بهبود در مورد حسابداری وجوه در Beancount وجود داشت. سازمان‌های غیرانتفاعی نیازهای حسابداری (وجوه محدود شده در مقابل نامحدود) دارند که می‌توانند با سلسله مراتب برچسب یا حساب Beancount مدل‌سازی شوند. بحث هنوز به ویژگی‌های داخلی منجر نشده است، اما اگر سازمان‌های غیرانتفاعی بیشتری Beancount را انتخاب کنند، این می‌تواند قابلیت‌های جدیدی را به دنبال داشته باشد (شاید فقط بهترین شیوه‌های مستند شده یا افزونه‌هایی برای ردیابی موجودی وجوه).
  • چشم‌انداز بلندمدت: مارتین بلایس اشاره کرد که آینده Beancount را در تبدیل هسته به یک موتور و انتقال قابلیت‌های بیشتر به افزونه‌ها

واکاوی یک دفترکل بین‌کانت: مطالعه موردی برای حسابداری کسب‌وکار

· 3 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

در پست وبلاگ امروز، ما یک دفترکل بین‌کانت را برای کسب‌وکارها تشریح خواهیم کرد که به شما کمک می‌کند پیچیدگی‌های این سیستم حسابداری دوطرفه متن ساده را درک کنید.

واکاوی یک دفترکل بین‌کانت: مطالعه موردی برای حسابداری کسب‌وکار

ابتدا با کد شروع کنیم:

2023-05-22-business-template

1970-01-01 open Assets:Bank:Mercury
1970-01-01 open Assets:Crypto

1970-01-01 open Equity:Bank:Chase

1970-01-01 open Income:Stripe
1970-01-01 open Income:Crypto:ETH

1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:COGS:Contabo
1970-01-01 open Expenses:COGS:AmazonWebServices

1970-01-01 open Expenses:BusinessExpenses
1970-01-01 open Expenses:BusinessExpenses:ChatGPT

2023-05-14 * "CONTABO.COM" "Mercury Checking ••1234"
Expenses:COGS:Contabo 17.49 USD
Assets:Bank:Mercury -17.49 USD

2023-05-11 * "Amazon Web Services" "Mercury Checking ••1234"
Expenses:COGS:AmazonWebServices 14490.33 USD
Assets:Bank:Mercury -14490.33 USD

2023-03-01 * "STRIPE" "Mercury Checking ••1234"
Income:Stripe -21230.75 USD
Assets:Bank:Mercury 21230.75 USD

2023-05-18 * "customer_182734" "0x5190E84918FD67706A9DFDb337d5744dF4EE5f3f"
Assets:Crypto -19 ETH {1,856.20 USD}
Income:Crypto:ETH 19 ETH @@ 35267.8 USD

درک کد

۱. افتتاح حساب‌ها: کد با افتتاح مجموعه‌ای از حساب‌ها در تاریخ ۰۱-۰۱-۱۹۷۰ آغاز می‌شود. این حساب‌ها شامل ترکیبی از حساب‌های دارایی (Assets:Bank:Mercury و Assets:Crypto)، یک حساب حقوق صاحبان سهام (Equity:Bank:Chase)، حساب‌های درآمد (Income:Stripe و Income:Crypto:ETH) و حساب‌های هزینه (Expenses:COGS، Expenses:COGS:AmazonWebServices، Expenses:BusinessExpenses و Expenses:BusinessExpenses:ChatGPT) هستند.

۲. تراکنش‌ها: سپس به ثبت مجموعه‌ای از تراکنش‌ها بین تاریخ‌های ۰۱-۰۳-۲۰۲۳ و ۱۸-۰۵-۲۰۲۳ می‌پردازد.

  • تراکنش در تاریخ ۱۴-۰۵-۲۰۲۳ نشان‌دهنده پرداخت ۱۷.۴۹ دلار به CONTABO.COM از حساب Mercury Checking ••1234 است. این مبلغ به عنوان یک هزینه (Expenses:COGS:Contabo) و کسر متناظر از حساب Assets:Bank:Mercury ثبت شده است.

  • به همین ترتیب، تراکنش در تاریخ ۱۱-۰۵-۲۰۲۳ نشان‌دهنده پرداخت ۱۴۴۹۰.۳۳ دلار به Amazon Web Services از همان حساب بانکی است. این مبلغ تحت عنوان Expenses:COGS:AmazonWebServices ثبت شده است.

  • تراکنش در تاریخ ۰۱-۰۳-۲۰۲۳ نشان‌دهنده واریز درآمد از STRIPE به حساب Mercury Checking ••1234 به مبلغ ۲۱۲۳۰.۷۵ دلار است. این مبلغ به عنوان درآمد (Income:Stripe) و افزایشی به حساب بانکی (Assets:Bank:Mercury) ثبت شده است.

  • آخرین تراکنش در تاریخ ۱۸-۰۵-۲۰۲۳ نشان‌دهنده یک تراکنش رمزارزی شامل ۱۹ اتریوم (ETH) از یک مشتری است. این تراکنش تحت Assets:Crypto و Income:Crypto:ETH ردیابی می‌شود. {۱,۸۵۶.۲۰ USD} قیمت اتریوم در زمان تراکنش را نشان می‌دهد، در حالی که @@ ۳۵۲۶۷.۸ USD ارزش کل تراکنش ۱۹ اتریوم را مشخص می‌کند.

در تمام تراکنش‌ها، اصل حسابداری دوطرفه حفظ شده است و اطمینان حاصل می‌شود که معادله دارایی‌ها = بدهی‌ها + حقوق صاحبان سهام همیشه برقرار است.

سخن پایانی

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

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

جادوی حسابداری متن ساده با بین‌کانت

· 3 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

جادوی حسابداری متن ساده با بین‌کانت را کشف کنید

بنر Beancount.io

مقدمه

2023-04-18-introduction-to-beancount

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

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

بین‌کانت چیست؟

بین‌کانت یک سیستم حسابداری متن ساده و متن باز است که توسط مارتین بلیس (Martin Blais) ایجاد شده است. بین‌کانت با الهام از سیستم لجر (Ledger) جان ویگلی (John Wiegley)، قصد دارد روشی قوی و قابل اعتماد برای مدیریت امور مالی شخصی و کسب‌وکارهای کوچک با استفاده از فایل‌های متن ساده ارائه دهد. با بین‌کانت، می‌توانید درآمد، هزینه‌ها، سرمایه‌گذاری‌ها و موارد دیگر را به راحتی ردیابی کنید.

چرا بین‌کانت؟

حسابداری متن ساده مزایای متعددی نسبت به سیستم‌های حسابداری سنتی مبتنی بر صفحه گسترده یا نرم‌افزاری ارائه می‌دهد:

  • شفافیت: فایل‌های بین‌کانت قابل خواندن توسط انسان هستند و درک و حسابرسی داده‌های مالی شما را آسان می‌کنند.
  • انعطاف‌پذیری: بین‌کانت به راحتی قابل تنظیم برای نیازهای خاص شما است و می‌توانید از ویرایشگر متن و سیستم کنترل نسخه مورد علاقه خود برای مدیریت داده‌های مالی‌تان استفاده کنید.
  • قابلیت حمل: داده‌های مالی شما در هر دستگاهی قابل دسترسی هستند و انتقال آن‌ها بین سیستم‌ها یا اشتراک‌گذاری با دیگران آسان است.
  • آینده‌نگر: فایل‌های متن ساده به طور جهانی سازگار هستند و تضمین می‌کنند که داده‌های مالی شما حتی با تکامل فناوری نیز قابل دسترسی باقی خواهند ماند.

مفاهیم اصلی بین‌کانت

برای استفاده مؤثر از بین‌کانت، درک مفاهیم اصلی آن بسیار مهم است:

  • تراکنش‌ها: رویدادهای مالی، مانند درآمد، هزینه‌ها یا انتقال بین حساب‌ها، به عنوان تراکنش ثبت می‌شوند.
  • حساب‌ها: تراکنش‌ها شامل یک یا چند حساب مانند دارایی‌ها، بدهی‌ها، درآمد یا هزینه‌ها هستند.
  • حسابداری دوطرفه: بین‌کانت حسابداری دوطرفه را اعمال می‌کند و تضمین می‌کند که هر تراکنش دارای بدهکار و بستانکار متوازن باشد.
  • دستورالعمل‌ها: بین‌کانت از مجموعه‌ای از دستورالعمل‌ها برای تعریف تراکنش‌ها، افتتاح حساب‌ها و سایر رویدادهای مالی استفاده می‌کند.

شروع کار با بین‌کانت

برای شروع استفاده از بین‌کانت، این مراحل ساده را دنبال کنید:

  • نصب بین‌کانت: بین‌کانت را با استفاده از دستورالعمل‌های نصب ارائه شده برای سیستم عامل خود، روی سیستم‌تان نصب کنید.
  • ایجاد فایل بین‌کانت خود: یک فایل متن ساده جدید با پسوند .beancount ایجاد کنید (مثلاً my_finances.beancount).
  • تعریف حساب‌های خود: از دستورالعمل "open" برای تعریف حساب‌هایی که در تراکنش‌های خود استفاده خواهید کرد، استفاده کنید.
  • ثبت تراکنش‌ها: از دستورالعمل "txn" برای ثبت تراکنش‌های مالی خود استفاده کنید.

یا به سادگی در https://beancount.io ثبت نام کنید. در اینجا چند نمونه حسابداری متن ساده آورده شده است -

مثال 1: تراکنش پایه

معرفی پشتیبانی از چند فایل در بین‌کانت

· 2 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

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

نحوه استفاده از آن به شرح زیر است:

فایل > ایجاد فایل جدید

2021-09-24-multi-file-one-ledger

به تب ویرایشگر فایل در نوار کناری ناوبری سمت چپ بروید. سپس، منوی کشویی "فایل" را دنبال کرده و روی "ایجاد فایل جدید" کلیک کنید.

فایل > ایجاد فایل جدید

نام‌گذاری فایل جدید

یک نام فایل معتبر برای فایل خود انتخاب کرده و آن را ذخیره کنید. تمام نام فایل‌ها باید به ".bean" ختم شوند.

نام‌گذاری فایل جدید

گنجاندن فایل

این یک گام حیاتی است، شما باید فایل تازه ایجاد شده را در main.bean بگنجانید.

به عنوان مثال، اگر stock.bean را اضافه کردید، سپس include "stock.bean" را در main.bean مشخص کنید.

گنجاندن فایل

بازخوانی و پیمایش به فایل

صفحه را بازخوانی کنید، و خواهید دید که فایل در منوی کشویی "فایل" ظاهر می‌شود.

بازخوانی و رفتن به فایل

تغییر نام یا حذف فایل

هنگامی که به فایل پیمایش کردید، می‌توانید آن را در منوی کشویی "ویرایش" تغییر نام دهید یا حذف کنید.

تغییر نام یا حذف فایل

مشکلی دارید؟

سوالات خود را در https://t.me/beancount بپرسید.

ارتقاء Fava به نسخه 1.19: تغییرات و بهبودهای کلیدی

· 1 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

ما نرم‌افزار متن‌باز Fava با مجوز MIT را به نسخه 1.19 ارتقا دادیم. در ادامه تغییرات از آخرین به‌روزرسانی ما آورده شده است:

  • v1.19 (2021-05-18)
    • مهاجرت از گزینه‌های conversion و interval به گزینه default-page
    • افزودن گزینه invert-income-liabilities-equity
    • ارتقاء به CodeMirror 6
    • افزودن ترجمه بلغاری
    • سایر بهبودهای کوچک و رفع اشکالات
  • v1.18 (2021-01-16)
    • چند بهبود کوچک و رفع اشکالات مختلف.

هیجان‌زده هستید؟ اکنون آن را در https://beancount.io/ledger/ امتحان کنید.

2021-07-16-upgrade-fava-to-1-19

سوالی دارید؟ ما در https://t.me/beancount در کنار شما خواهیم بود :)