دوره حسابداری، به سبک Beancount
صورتهای مالی به جادوی ظاهر نمیشوند. آنها محصول نهایی یک فرآیند ساختاریافته و قابل تکرار به نام دوره حسابداری هستند. در حالی که اصول جهانیاند، ابزارهایی که استفاده میکنید میتوانند تجربه را بهطرز چشمگیری تغییر دهند. این راهنما شما را در طول دوره حسابداری با تمرکز بر Beancount، ابزار قدرتمند حسابداری متنی، راهنمایی میکند.
خواهیم دید که رویکرد متنی‑اول Beancount چگونه گامهای خستهکننده را حذف میکند، چه مواردی را باید خودکار کنید و کدام گزارشها واضحترین تصویر از سلامت مالی شما را ارائه میدهند. 🧑💻
TL;DR: جریان کار Beancount
- Capture & Journal: هر تراکنش را بهصورت یک پستینگ دوبل‑انتری تمیز در فایل متنی
.beancount
خود ثبت کنید. - Validate & Reconcile: از ادعاهای
balance
برای تأیید تطابق دفتر کل با صورتحسابهای بانکی استفاده کنید وbean-check
را برای کشف خطاها اجرا کنید. - Review: یک تراز آزمایشی بدون تنظیم برای بررسی سریع صحت دادهها تولید کنید.
- Adjust: ورودیهای مربوط به تعهدات، تعویقها، استهلاک و سایر موارد پایان دوره را پست کنید.
- Re-review: تراز آزمایشی تنظیمشده را بررسی کنید تا از صحت همه چیز اطمینان حاصل کنید.
- Publish & Close: صورتهای سود و زیان، ترازنامه و صورت جریان نقدی خود را تولید کنید. بستهبندی دفاتر در Beancount اختیاری است، زیرا گزارشها به تاریخ حساس هستند.
این جریان میتواند بهصورت زیر تجسم شود:
گام ۱: ثبت و ضبط تراکنشها
این گام پایهای است. هر رویداد مالی — فروش، خرید، هزینه بانکی — باید ثبت شود. در Beancount این کار را با ایجاد تراکنشها در یک فایل متنی ساده انجام میدهید که معمولاً نامش main.beancount
است یا بهصورت چندین فایل بر حسب سال سازماندهی میشود.
هر تراکنش باید قوانین حسابداری دوبل‑انتری را رعایت کند، به این معنی که مجموع تمام پستینگها باید صفر باشد. Beancount این را برای شما اعمال میکند.
2025-08-10 * "Walmart" "Purchase of office supplies"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
- نکته حرفهای: از برچسبهایی مثل
#project-phoenix
یا#client-acme
برای افزودن ابعاد به دادهها استفاده کنید. این کار بعداً پرسوجو و گزارشگیری را بهطرز فوقالعادهای انعطافپذیر میکند.
بهداشت تطبیق ✅
قویترین ویژگی برای اطمینان از دقت، ادعای توازن است. در پایان یک دوره (مثلاً پایان ماه) شما اعلام میکنید که موجودی یک حساب باید چه مقدار باشد.
2025-08-31 balance Assets:Bank:Checking 12345.67 USD
اگر مجموع تمام تراکنشهای مؤثر بر Assets:Bank:Checking
تا آن تاریخ برابر با 12345.67 USD
نباشد، Beancount خطا میدهد. این دستور ساده دفتر کل شما را به سندی خودحسابرسی تبدیل میکند.
برای کسانی که دادههای تاریخی را پستکمیل میکنند، دستور pad
میتواند بهصورت خودکار یک تراکنش متعادل ایجاد کند تا موجودیهای افتتاحیه با اولین ادعای شما مطابقت داشته باشد.
گام ۲: «پست به دفتر کل» (رایگان!)
در سیستمهای حسابداری سنتی ابتدا ورودیها را در «دفتر روزنامه» مینویسید و سپس یک گام جداگانه «پست» این مقادیر را به «دفتر کل عمومی» کپی میکند.
با Beancount، فایل .beancount
شما هم دفتر روزنامه است و هم دفتر کل. وقتی تراکنشی مینویسید و ذخیره میکنید، در واقع آن را پست کردهاید. گام جداگانهای وجود ندارد. این مستقیمبودن مزیت اصلی حسابداری متنی است — آنچه میبینید همان چیزی است که دارید.