طبقه دارایی (Asset Classes)
مسیر دسترسی: دارایی ثابت > پیکربندی > طبقههای دارایی
نام فنی: AssetClass
۱. مقدمه و فلسفه وجودی
در یک سیستم ERP یکپارچه، بزرگترین چالش، جدا کردن «پیچیدگیهای حسابداری» از «کاربران عملیاتی» است. جمعدار اموال (که مسئول فیزیک کالا است) لزوماً کدینگ حسابداری را نمیشناسد و نباید هم بشناسد. او فقط میداند که یک «خودرو» خریده است.
ماژول طبقه دارایی وظیفه دارد این دانش را در خود کپسوله کند. این ماژول به سیستم میگوید:
"هر وقت کسی داراییای از نوع «وسایل نقلیه» ثبت کرد، تو خودکار برو و در سند حسابداری، حساب معین ۱۲۱۰۱ را بدهکار کن و برای استهلاکش از حساب ۶۰۱۰۱ استفاده کن."
تفاوت کلیدی با «گروه دارایی» (Group vs. Class)
این رایجترین سوال کاربران است:
- گروه (Category): جنبه عملیاتی و درختی دارد. (مثال: لپتاپهای گیمینگ، صندلیهای چرخدار). هدف: ارثبری مشخصات فنی و پلاککوبی.
- طبقه (Class): جنبه مالی و مسطح دارد. (مثال: تجهیزات رایانهای، اثاثیه اداری). هدف: تعیین کدهای حسابداری و نرخ استهلاک مالیاتی.
نکته: ممکن است ۱۰ «گروه» مختلف (لپتاپ، سرور، پرینتر، اسکنر، مودم) همگی به ۱ «طبقه» واحد (تجهیزات رایانهای) متصل باشند، چون از نظر حسابداری همه در یک سرفصل ثبت میشوند.
۲. منطق نگاشت حسابداری (GL Mapping Logic)
مهمترین وظیفه این فرم، ایجاد جدول نگاشت (Mapping Table) بین موجودیتهای دارایی و کدهای دفتر کل (General Ledger) است.
این نگاشت تعیین میکند که موتور صدور سند (GL Engine) در هر رویداد چه آرتیکلی صادر کند:
| نوع حساب (Account Type) | کاربرد در سند | مثال کدینگ (بخش خصوصی) | مثال کدینگ (بخش دولتی/نظام نوین) |
|---|---|---|---|
| بهای تمام شده (Asset Cost) | هنگام خرید (تحصیل) | ۱۲۱۰۱ (وسایل نقلیه) | ۱۳۱۰۱ (دارایی ثابت-نقلیه) |
| استهلاک انباشته (Accumulated Depr) | هنگام محاسبه استهلاک | ۱۲۲۰۱ (ا.ا وسایل نقلیه) | ۱۳۲۰۱ (ا.ا وسایل نقلیه) |
| هزینه استهلاک (Depr Expense) | ماهانه (سود و زیان) | ۶۰۱۰۱ (هزینه استهلاک عملیاتی) | ۵۴۱۰۱ (هزینه استهلاک) |
| مازاد تجدید ارزیابی (Revaluation Surplus) | هنگام افزایش قیمت کارشناسی | ۳۱۵۰۱ (مازاد تجدید ارزیابی) | ۳۱۰۱۰ (تغییرات ارزش) |
| سود/زیان واگذاری (Disposal Gain/Loss) | هنگام فروش دارایی | ۷۰۱۰۲ (سود ناشی از فروش دارایی) | -- (معمولاً مستقیم به ارزش خالص) |
۳. بخشهای عملیاتی فرم (Form Details)
این فرم دارای دو بخش اصلی تنظیمات است:
۳-۱. اطلاعات عمومی و مالیاتی
| عنوان فیلد | شرح و منطق بیزینسی |
|---|---|
| نام طبقه | عنوان مالی (مثلاً: "تاسیسات و تجهیزات"). |
| کد طبقه | کد یونیک (مثلاً CLS-005). |
| روش استهلاک پیشفرض | حیاتی. روشی که طبق قانون مالیاتها (ماده ۱۴۹) یا استاندارد حسابداری مجاز است. گزینهها: خط مستقیم، نزولی، نزولی هندسی، تعداد تولید. |
| عمر مفید / نرخ | اگر روش خطی است: "۱۰ سال". اگر نزولی است: "۲۵ درصد". |
| ارزش اسقاط (Salvage Value) | درصد پیشفرض ارزش اسقاط (مثلاً در ایران معمولاً صفر در نظر میگیرند، اما در صنایع خاص ۱۰٪ است). |
۳-۲. نگاشت حسابها (GL Accounts)
در این تب، کاربر باید برای هر سناریو، یک حساب معین انتخاب کند.
هوشمندی سیستم: اگر پروفایل سازمان «دولتی» باشد، فیلدهای مربوط به "سود/زیان فروش" مخفی میشوند (چون کاربرد ندارند) و فیلدهای مربوط به "داراییهای انتقالی" فعال میشوند.
۴. سناریوهای کاربردی (Use Cases)
سناریوی ۱: شرکت تولیدی (بخش خصوصی) - تفکیک مراکز هزینه
یک کارخانه میخواهد استهلاک ماشینآلات خط تولید را جدا از استهلاک کولرهای ساختمان اداری ببیند.
-
تعریف طبقه ۱:
ماشینآلات تولیدی- حساب هزینه: ۶۰۲۰۰ (سربار ساخت - هزینه استهلاک).
-
تعریف طبقه ۲:
تجهیزات اداری- حساب هزینه: ۶۰۱۰۰ (هزینههای اداری - هزینه استهلاک).
-
نتیجه: وقتی استهلاک ماهانه محاسبه میشود، سیستم به طور خودکار هزینه ماشینآلات را به "بهای تمام شده کالای ساخته شده" میبرد و هزینه کولرها را به "سود و زیان اداری".
سناریوی ۲: سازمان دولتی - الزام سادا
یک اداره کل باید کدینگ نظام نوین مالی را رعایت کند.
- تعریف طبقه:
ساختمانها و مستحدثات- حساب دارایی: ۱۱۱۰۱ (ساختمان).
- حساب طرف مقابل تحصیل: ۳۱۰۱۱ (تغییرات در ارزش خالص - تملک دارایی). \<-- تفاوت مهم با بخش خصوصی که طرف مقابل "بانک/بستانکاران" است.
۵. تعامل با سایر بخشها (Integration)
-
هنگام تعریف گروه دارایی:
- ادمین سیستم وقتی گروه "پژو پارس" را میسازد، آن را به طبقه "وسایل نقلیه" لینک میکند.
- از این لحظه به بعد، هر پژویی که خریده شود، اتوماتیک سند حسابداری "وسایل نقلیه" میخورد.
-
هنگام بستن حسابها (Period Close):
- موتور استهلاک برای هر دارایی نگاه میکند که به کدام "طبقه" وصل است.
- حساب "هزینه" و "استهلاک انباشته" را از آن طبقه میخواند و سند میزند.
۶. ملاحظات فنی برای توسعهدهندگان (Developer Notes)
الف) قفل کردن طبقه (Validation Rule)
سیستم نباید اجازه دهد کاربری «طبقهای» را حذف کند که حتی یک دارایی فعال به آن متصل است. این کار باعث خرابی سندهای حسابداری آینده میشود (Orphaned Assets).
ب) تغییر حساب در میانه سال (Audit Trail Risk)
اگر کاربر حساب معینِ یک طبقه را عوض کند (مثلاً حساب هزینه را از ۶۰۱ به ۶۰۲ تغییر دهد):
- رفتار سیستم: تغییر باید فقط روی اسناد آینده اعمال شود. اسناد صادر شده قبلی نباید تغییر کنند (History Preservation).
- هشدار: سیستم باید یک پیام هشدار جدی نمایش دهد: "تغییر کد حساب باعث عدم یکنواختی در تراز آزمایشی امسال خواهد شد."
ج) جدول پیشنهادی (Schema)
TABLE AssetClass (
ID INT PK,
Name NVARCHAR(100),
DepreciationMethod Enum (StraightLine, Declining, ...),
UsefulLife INT,
DecayRate DECIMAL, -- برای روش نزولی
-- GL Accounts References
GL_AssetCost_ID INT FK,
GL_AccumDepr_ID INT FK,
GL_DeprExpense_ID INT FK,
GL_RevalSurplus_ID INT FK,
GL_DisposalGainLoss_ID INT FK
);
۷. پرسشهای متداول (FAQ)
س: آیا میتوانم برای یک دارایی خاص، حساب متفاوتی نسبت به طبقهاش تعریف کنم؟
- پاسخ: در ERPهای استاندارد، خیر. این کار یکپارچگی سیستم را به هم میزند. اگر نیاز به حساب متفاوت دارید، باید یک «طبقه جدید» تعریف کنید (مثلاً "وسایل نقلیه لوکس").
س: اگر نرخ مالیاتی تغییر کرد (قانون عوض شد) چه کنیم؟
- پاسخ: شما تنظیمات طبقه را ویرایش میکنید. سیستم برای داراییهای جدید نرخ جدید را اعمال میکند. برای داراییهای قدیم، باید فرآیند "تغییر پارامترهای استهلاک" (Depreciation Adjustment) را اجرا کنید.
س: چرا "گروه دارایی" را مستقیماً به حسابها وصل نکردیم؟ چرا موجودیت جدیدی به نام "طبقه" ساختیم؟
- پاسخ: چون "گروهها" ممکن است خیلی ریز و تو در تو باشند (۱۰ سطح درختی). وصل کردن حساب به تکتک آنها کابوس مدیریت است. "طبقه" یک لایه تجمیعی (Abstraction Layer) است که مدیریت مالی را ساده میکند.