پیکربندی گزینهها در Beancount
رفتار Beancount را میتوان با استفاده از دستورالعملهای option که در بالای فایل اصلی دفتر کل شما قرار میگیرند، سفارشی کرد. این جفتهای کلید-مقدار همه چیز را از نام حسابهای ریشه شما گرفته تا نحوه مدیریت تبدیل ارز را کنترل میکنند. پیکربندی صحیح این گزینهها برای تطبیق Beancount با نیازهای خاص شما ضروری است. ⚙️
گزینههای اصلی پیکربندی
این گزینهها تنظیمات اساسی دفتر کل شما را کنترل میکنند.
تنظیمات اولیه
اینها برخی از رایجترین گزینههایی هستند که تنظیم خواهید کرد.
option "title" "دفتر کل شخصی"
option "render_commas" "TRUE"
option "plugin_processing_mode" "raw"
title: عنوان گزارشها و رابطهای وب را تنظیم میکند.render_commas: اگرTRUEباشد، اعداد در گزارشها با جداکنندههای هزارگان قالببندی میشوند (به عنوان مثال،1,000,000.00).plugin_processing_mode: نحوه بارگیری پلاگینها را کنترل میکند.rawفقط پلاگینهایی را که صریحاً مشخص کردهاید بارگیری میکند، در حالی کهdefaultیک مجموعه استاندارد از پلاگینهای مفید را شامل میشود.
سفارشیسازی نام حساب
شما میتوانید پنج نوع حساب اساسی Beancount را تغییر نام دهید. این صرفاً ظاهری است و نحوه نمایش آنها در گزارشها را تغییر میدهد.
option "name_assets" "داراییها"
option "name_liabilities" "بدهیها"
option "name_equity" "سرمایه"
option "name_income" "درآمد"
option "name_expenses" "هزینهها"
پیکربندی حساب سرمایه
Beancount به طور خودکار چندین حساب سرمایه ویژه برای رسیدگی به ماندههای اولیه و محاسبات درآمد ایجاد میکند. میتوانید نامهای سفارشی برای این حسابها مشخص کنید.
option "account_previous_balances" "ماندههای-اولیه"
option "account_previous_earnings" "سود:گذشته"
option "account_current_earnings" "سود:جاری"
option "account_previous_conversions" "تبدیلها:گذشته"
option "account_current_conversions" "تبدیلها:جاری"
option "account_rounding" "گردکردن"
account_previous_balances: حسابی که برای تزریق ماندههای اولیه به دفتر کل شما استفاده میشود.account_current_earnings: حسابی که تمام جمع درآمدهای و هزینههای دوره جاری را جمعآوری میکند و به طور موثر درآمد خالص شما را محاسبه میکند.account_rounding: حسابی که مغایرتهای کوچک ناشی از گرد کردن خودکار در آن ثبت میشوند.
تنظیمات دقت و رواداری
این گزینهها نحوه رسیدگی Beancount به گرد کردن و عدم تعادلهای کوچک در تراکنشها را کنترل میکنند.
پیکربندی رواداری پیشفرض
Beancount میتواند به طور خودکار رواداری را برای تراکنشهای با ارزها یا بهای تمام شده متعدد استنباط کند، و امکان تفاوتهای کوچک گرد کردن را بدون ایجاد خطا فراهم میکند.
option "inferred_tolerance_default" "USD:0.01"
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"
inferred_tolerance_default: رواداری پیشفرض را برای یک ارز معین تنظیم میکند. میتوانید از*:0.5برای تنظیم پیشفرض برای همه ارزها استفاده کنید.inferred_tolerance_multiplier: عاملی که برای ارائه حاشیه خطای کمی بیشتر به رواداری اعمال میشود.infer_tolerance_from_cost: اگرTrueباشد، رواداری از تعداد ارقام در بهای تمام شده استنباط میشود.
روش ثبت
این گزینه نحوه رسیدگی Beancount به تراکنشهایی که یک طرف آن استنباط شده است را تعریف میکند.
option "booking_method" "SIMPLE"
SIMPLE: فقط به یک کالا اجازه میدهد تا به طور خودکار در هر تراکنش متعادل شود. این روش توصیه شده و رایجترین روش است.FULL: به چندین کالا اجازه میدهد تا متعادل شوند، که یک روش پیچیدهتر و به ندرت مورد نیاز است.
مدیریت ارز
پیکربندی صحیح ارز برای گزارشدهی دقیق حیاتی است.
ارز عملیاتی
میتوانید یک یا چند "ارز عملیاتی" را اعلام کنید. اینها ارزهای اصلی هستند که با آنها تراکنش انجام میدهید و میخواهید در گزارشها ببینید.
option "operating_currency" "USD"
option "operating_currency" "EUR"
option "conversion_currency" "NOTHING"
اعلام ارزهای عملیاتی به Beancount میگوید که ستونهای اختصاصی برای آنها در گزارشها ایجاد کند، و دیدن وضعیت مالی خود را به ارزهای پرکاربرد خود آسان میکند. تنظیم conversion_currency به NOTHING ستون تبدیل خودکار را غیرفعال میکند، که اغلب برای گزارشهای تمیزتر ترجیح داده میشود.
مدیریت اسناد
Beancount میتواند تراکنشها را به فایلهای خارجی مانند رسید یا فاکتور پیوند دهد. گزینه documents پوشه(های) ریشه محل ذخیره این فایلها را مشخص میکند.
option "documents" "/path/to/documents/archive"
الزامات:
- نام فایلها باید با فرمت
YYYY-MM-DD.description.ext(به عنوان مثال،2025-07-28.amazon-order.pdf) باشد. - میتوانید چندین گزینه
documentsرا برای پوشههای مختلف مشخص کنید. - مسیرها میتوانند مطلق یا نسبی به فایل اصلی دفتر کل باشند.
سیستم پلاگین
عملکرد Beancount را میتوان با پلاگینها گسترش داد.
پیکربندی پلاگین
شما یک پلاگین را با مشخص کردن مسیر ماژول آن فعال میکنید.
option "plugin" "beancount.plugins.module_name"
همانطور که قبلاً ذکر شد، گزینه plugin_processing_mode کنترل میکند که آیا Beancount فقط پلاگینهای مشخص شده شما را (raw) یا یک مجموعه پیشفرض را نیز بارگیری میکند (default).
محدودیتها و قیود فنی
این گزینهها جنبههای فنی تجزیهکننده Beancount را کنترل میکنند.
مدیریت رشته
میتوانید محدودیتی برای تعداد خطوط مجاز در یک رشته چند خطی تعیین کنید تا از خطاهای تجزیه جلوگیری شود.
option "long_string_maxlines" "64"
ویژگیهای آزمایشی
Beancount گاهی اوقات شامل ویژگیهای آزمایشی است که میتوانید با یک گزینه فعال کنید. برای مثال، برای فعال کردن نحو رواداری صریح:
option "experiment_explicit_tolerances" "True"
این به شما امکان میدهد تا رواداری را مستقیماً در یک ثبت تراکنش مشخص کنید، م انند این: 532.23 ~ 0.001 USD.
کنترل رفتار سیستم
این گزینهها برای حفظ سازگاری یا رفتارهای خاص سیستم هستند.
پشتیبانی قدیمی
این گزینه مقادیر رواداری ثابت قدیمی را برای سازگاری با نسخههای قدیمیتر دفتر کل فعال میکند.
option "use_legacy_fixed_tolerances" "True"
رواداریهای ثابت قدیمی عبارت بودند از:
- دستورالعملهای Balance/Pad:
0.015واحد - تراکنشها:
0.005واحد
پیکربندی پیشنهادی ✅
برای اکثر کاربران، پیکربندی زیر یک نقطه شروع قوی و منطقی را فراهم میکند.
تنظیمات اولیه
option "title" "دفتر کل شخصی"
option "operating_currency" "USD" // ارز اصلی خود را تغییر دهید
option "documents" "/home/user/Documents/beancount" // مسیر اسناد خود را تغییر دهید
option "render_commas" "TRUE"
کنترل دقت
option "inferred_tolerance_default" "USD:0.01" // ارز اصلی خود را تغییر دهید
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"
ساختار حساب
option "account_previous_balances" "سرمایه:ماندههای-اولیه"
option "account_current_earnings" "سرمایه:سود-جاری"
option "account_rounding" "هزینهها:گردکردن"
این تنظیمات یک پایه محکم برای یک دفتر کل جدید Beancount فراهم میکند، و گزارشدهی واضح، کنترل دقت منطقی و یک ساختار حساب سرمایه منطقی را تضمین میکند.