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

استهلاک

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

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

استهلاک چیست؟

استهلاک فرآیند تخصیص تدریجی هزینه یک دارایی نامشهود یا یک قلم پیش پرداخت شده در طول عمر مفید آن است.

مزایای کلیدی:

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

راه حل Beancount: fava.plugins.amortize_over

Beancount، با رابط وب Fava، یک افزونه ساده و در عین حال قدرتمند برای خودکارسازی استهلاک ارائه می دهد.

مرحله 1: فعال کردن افزونه

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

plugin "fava.plugins.amortize_over"

مهم: تراکنش های مجازی توجه داشته باشید که این افزونه postings مجازی تولید می کند. آنها به صورت پویا در گزارش های Fava و در ابزارهایی مانند bean-report (اگر افزونه بارگیری شده باشد) ظاهر می شوند، اما در فایل .bean شما نوشته نمی شوند. فایل منبع شما بدون تغییر باقی می ماند.

مرحله 2: ساختار حساب های خود

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

  1. Assets:Bank:Checking: منبع پرداخت نقدی.
  2. Assets:Prepaid:Insurance: یک حساب نگهداری موقت برای ارزشی که برای آن پرداخت کرده اید اما هنوز استفاده نکرده اید.
  3. Expenses:Insurance:Auto: مقصد نهایی برای هزینه ماهانه.
2024-01-01 open Assets:Bank:Checking
2024-01-01 open Assets:Prepaid:Insurance
2024-01-01 open Expenses:Insurance:Auto

مرحله 3: ثبت تراکنش مستهلک شده

بیایید پرداخت 600 دلاری بیمه را برای یک بیمه نامه 6 ماهه ثبت کنیم. ما پول را از بانک خود به یک حساب دارایی پیش پرداخت شده منتقل می کنیم و برچسب فراداده را اضافه می کنیم.

2024-06-01 * "پرداخت حق بیمه 6 ماهه خودرو"
amortize_months: 6
Assets:Prepaid:Insurance 600.00 USD
Assets:Bank:Checking -600.00 USD
Expenses:Insurance:Auto
  • amortize_months: 6: به افزونه می گوید که ارزش را در طول 6 ماه پخش کند.
  • این تراکنش پول نقد را به یک دارایی پیش پرداخت شده منتقل می کند.
  • Expenses:Insurance:Auto: این قسمت نهایی و بدون شماره به افزونه می گوید که هزینه ماهانه را کجا ثبت کند.

این افزونه ورودی های ماهانه ای را تولید می کند که Expenses:Insurance:Auto را بدهکار و Assets:Prepaid:Insurance را به مبلغ 100 دلار اعتبار می دهد، و از اولین روز ماه تراکنش شروع می شود.

مثال های عملی

لایسنس سالانه نرم افزار

2024-01-15 * "لایسنس سالانه Adobe Creative Suite"
amortize_months: 12
Assets:Prepaid:Software 1200.00 USD
Assets:Bank:Checking -1200.00 USD
Expenses:Software:Adobe

نتیجه: هزینه ای به مبلغ $100.00 هر ماه به مدت 12 ماه در Expenses:Software:Adobe شناسایی می شود.

حق الزحمه خدمات حرفه ای

; حق الزحمه قانونی سه ماهه، پیش پرداخت از حساب جاری
2024-01-05 * "حق الزحمه خدمات قانونی Q1"
amortize_months: 3
Assets:Prepaid:Professional 4500.00 USD
Assets:Bank:Checking -4500.00 USD
Expenses:Professional:Legal

نتیجه: هزینه قانونی به مبلغ $1500.00 هر ماه برای Q1 شناسایی می شود.

استهلاک تجهیزات (دارایی های ثابت)

استهلاک برای دارایی های ثابت نیاز به رویکردی رسمی تر برای حفظ هزینه اصلی دارایی در دفاتر شما دارد. این کار با استفاده از یک حساب دارایی کاهنده، که معمولاً Accumulated-Depreciation نامیده می شود، انجام می شود.

این فرآیند شامل دو تراکنش جداگانه است:

; باز کردن حساب های مورد نیاز، از جمله دارایی کاهنده
2024-01-01 open Assets:Equipment:Computers:Cost
2024-01-01 open Assets:Equipment:Computers:AccumDep
2024-01-01 open Expenses:Depreciation:Computers

; مرحله 1: ثبت خرید اولیه. این یک تراکنش ساده و غیر مستهلک است.
2024-01-20 * "خرید MacBook Pro برای تجارت"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

; مرحله 2: تنظیم برنامه استهلاک. این تراکنش با جمع صفر
; به افزونه می گوید که ورودی های استهلاک ماهانه را ایجاد کند.
2024-01-20 * "برنامه استهلاک برای MacBook Pro"
amortize_months: 36
Expenses:Depreciation:Computers 3000.00 USD
Assets:Equipment:Computers:AccumDep -3000.00 USD

نتیجه: افزونه یک ورودی ماهانه به مدت 36 ماه تولید می کند که Expenses:Depreciation:Computers را به مبلغ $83.33 بدهکار و حساب دارایی کاهنده Assets:Equipment:Computers:AccumDep را به مبلغ $83.33 اعتبار می دهد.

گزارش دهی و تایید

1. نظارت بر مانده های پیش پرداخت با استفاده از اظهارات

از دستور balance Beancount برای تأیید اینکه حساب پیش پرداخت شما به درستی برداشت می شود استفاده کنید.

توجه: تاریخ اظهار باید در تاریخ یا بعد از تاریخ ارسال مجازی باشد (که به طور پیش فرض اول ماه است). یک روش خوب این است که آن را در تاریخ 2 ثبت کنید.

; برای مثال بیمه، موجودی را پس از ماه اول بررسی کنید.
2024-07-02 balance Assets:Prepaid:Insurance 500.00 USD

2. تایید پیشرفته با bean-query

برای یک نمای کلی سریع از نحوه تغییر مانده های پیش پرداخت شما در طول زمان، می توانید از bean-query در ترمینال خود استفاده کنید:

bean-query your-ledger.beancount "SELECT date, account, SUM(position) WHERE account ~ 'Prepaid' GROUP BY date, account ORDER BY date"

محدودیت ها و نکات نهایی

  • فقط تقسیم های مساوی: افزونه amortize_over برای تقسیم های مساوی در یک تعداد ماه کامل طراحی شده است. این افزونه برنامه های نامنظم یا تعیین سهمیه روزانه را مدیریت نمی کند. برای این موارد، یک رویکرد دستی مورد نیاز است.
  • حسابداری مالیاتی در مقابل حسابداری مدیریت: برنامه های استهلاک نشان داده شده در اینجا برای حسابداری مدیریت است (به دست آوردن دیدگاهی روشن از امور مالی شما). اگر در حال انجام حسابداری قانونی هستید، اطمینان حاصل کنید که برنامه های استهلاک شما با مقررات محلی (GAAP/IFRS) مطابقت دارد.
  • مدیریت تاریخ: این افزونه ورودی های ماهانه را در اولین روز هر ماه، از ماه تراکنش منبع شروع می کند. به عنوان مثال، اگر می خواهید استهلاک در فوریه شروع شود، تراکنش منبع را در تاریخ یا بعد از 2024-02-01 ثبت کنید.