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

پیش‌بینی تراکنش‌های آتی در Beancount

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

تصویر پلاگین پیش‌بینی

گام اول: فعال‌سازی پلاگین پیش‌بینی

ابتدا، باید پلاگین را با اضافه کردن خط زیر در بالای فایل دفتر Beancount خود فعال کنید:

plugin "fava.plugins.forecast"

گام دوم: ایجاد یک تراکنش پیش‌بینی

برای پیش‌بینی یک تراکنش تکرارشونده، یک مدخل تراکنش تکی با استفاده از پرچم # (به جای * یا !) ایجاد کنید و یک برچسب پیش‌بینی ویژه به شرح اضافه کنید.

ساختار اصلی به این صورت است:

YYYY-MM-DD # "شرح [تناوب شرایط]"
Account:One 100.00 USD
Account:Two -100.00 USD

پلاگین پیش‌بینی از این مدخل به عنوان یک الگو برای تولید تراکنش‌های آتی در گزارش‌های شما استفاده می‌کند.

درک نحو پیش‌بینی

برچسب پیش‌بینی در شرح از یک قالب خاص پیروی می‌کند: [تناوب شرایط].

تناوب (Frequency)

قسمت FREQUENCY اجباری است و مشخص می‌کند که تراکنش با چه تناوبی تکرار می‌شود. باید به صورت حروف بزرگ باشد.

  • DAILY (روزانه)
  • WEEKLY (هفتگی)
  • MONTHLY (ماهانه)
  • QUARTERLY (فصلی)
  • YEARLY (سالانه)

مثال: پرداخت اجاره ماهانه این تراکنش پیش‌بینی می‌شود که در تاریخ ۱ هر ماه، از ژانویه ۲۰۲۴ شروع شود.

2024-01-01 # "پرداخت اجاره [MONTHLY]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD

شرایط (اختیاری)

شما می‌توانید CONDITIONS اختیاری را برای کنترل مدت و الگوی پیش‌بینی اضافه کنید.

۱. تنظیم یک تاریخ پایان با UNTIL از UNTIL YYYY-MM-DD برای متوقف کردن پیش‌بینی در یک تاریخ مشخص استفاده کنید.

  • مثال: یک عضویت باشگاه ورزشی که امسال به پایان می‌رسد.

    2024-01-15 # "عضویت باشگاه ورزشی [MONTHLY UNTIL 2024-12-31]"
    Expenses:Health:Gym 80.00 USD
    Assets:Checking -80.00 USD

۲. محدود کردن رخدادها با REPEAT از REPEAT n TIMES برای تولید تراکنش به تعداد مشخصی استفاده کنید.

  • مثال: وام خودرو با ۳۶ پرداخت باقی مانده.

    2024-01-25 # "پرداخت خودرو [MONTHLY REPEAT 36 TIMES]"
    Expenses:Transportation:CarPayment 450.00 USD
    Liabilities:Auto-Loan -450.00 USD

۳. ایجاد الگوهای نامنظم با SKIP از SKIP n TIME/TIMES برای رد کردن فواصل استفاده کنید. این برای مواردی مانند پرداخت‌های حقوق دو هفته یکبار مفید است.

  • مثال: حقوق دو هفته یکبار (هر دو هفته یکبار رخ می‌دهد).

    2024-01-05 # "حقوق دو هفته یکبار [WEEKLY SKIP 1 TIME]"
    Assets:Checking 3000.00 USD
    Income:Salary -3000.00 USD

مثال عملی: بودجه ماهانه

شما می‌توانید چندین پیش‌بینی را برای پیش‌بینی کل بودجه خود، از جمله جریان‌های مختلف درآمد و هزینه، ترکیب کنید.

plugin "fava.plugins.forecast"

; === درآمد ===
2024-01-05 # "حقوق دو هفته یکبار [WEEKLY SKIP 1 TIME]"
Assets:Checking 3000.00 USD
Income:Salary -3000.00 USD

; === هزینه‌ها ===
2024-01-01 # "اجاره [MONTHLY]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD

2024-01-01 # "خواربار [WEEKLY]"
Expenses:Food:Groceries 150.00 USD
Assets:Checking -150.00 USD

2024-01-15 # "بیمه خودرو [QUARTERLY REPEAT 4 TIMES]"
Expenses:Insurance:Auto 450.00 USD
Assets:Checking -450.00 USD

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

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

  • پیش‌بینی‌ها ظاهر نمی‌شوند؟

    • اطمینان حاصل کنید که plugin "fava.plugins.forecast" در فایل دفتر شما وجود دارد.
    • از پرچم # برای تراکنش استفاده کنید، نه *.
    • از نظر املایی برچسب تناوب را بررسی کنید (به عنوان مثال، [MONTHLY] نه [Monthly] یا [MONTLY]).
  • بهترین روش‌ها

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