تنظیمات پلاکدهی (Tagging Settings)
مسیر دسترسی: دارایی ثابت > پیکربندی > تنظیمات پلاکدهی
نام فنی: AssetTaggingProfile
۱. مقدمه و فلسفه وجودی
هر دارایی فیزیکی در سازمان (از یک صندلی اداری تا یک توربین گازی) نیاز به یک «شناسه منحصربهفرد» (Unique Identifier) دارد. این شناسه که روی یک برچسب (Label)، بارکد یا تگ RFID چاپ میشود، تنها راه ارتباطی بین «جنس موجود در اتاق» و «رکورد موجود در دیتابیس» است.
چالش اصلی: دارایی یا هزینه؟ (The Capitalization Dilemma)
طبق قوانین مالیاتی و استانداردهای حسابداری، هر چیزی که خریده میشود لزوماً "دارایی ثابت" نیست.
- اگر شما یک "منگنه" بخرید، چون قیمتش کم است، همان لحظه هزینه میشود (اموال مصرفی/در حکم مصرفی).
- اگر شما یک "لپتاپ" بخرید، چون قیمتش زیاد است و عمر طولانی دارد، دارایی میشود (اموال غیرمصرفی/سرمایهای).
ماژول پلاکدهی تابان وظیفه دارد این تفکیک را به صورت اتوماتیک مدیریت کند و برای هر کدام، سری پلاک متفاوتی صادر کند.
چرا پلاک متفاوت؟ چون "اموال در حکم مصرفی" (Low-Value Assets) نیازی به محاسبه استهلاک ماهانه ندارند و در ترازنامه نمیآیند، اما همچنان باید کنترل فیزیکی شوند (که دزدیده نشوند). پس پلاک میخورند، اما پلاکی متفاوت از داراییهای سرمایهای.
۲. منطق عملکردی (Functional Logic)
این فرم به عنوان یک «پروفایل» عمل میکند که به «گروههای دارایی» تخصیص داده میشود. یعنی شما میتوانید برای گروه "IT" یک الگوی پلاکدهی داشته باشید و برای گروه "مبلمان" الگویی دیگر.
الگوریتم تصمیمگیری سیستم:
هنگامی که کالایی وارد انبار میشود:
- سیستم قیمت خرید کالا را میخواند.
- آن را با «حد نصاب معاملات» (Threshold) تعریف شده برای سال جاری مقایسه میکند.
- شاخه الف: اگر
قیمت < حد نصابباشد -> کالا «در حکم مصرفی» است -> از دنباله اعداد مصرفی پلاک تولید میکند (مثلاًEXP-1001). - شاخه ب: اگر
قیمت >= حد نصابباشد -> کالا «دارایی سرمایهای» است -> از دنباله اعداد غیرمصرفی پلاک تولید میکند (مثلاًCAP-5001).
۳. بخشهای عملیاتی فرم (Form Details)
| عنوان فیلد (UI) | نام فنی (DB) | نوع داده | الزامی؟ | شرح و منطق بیزینسی |
|---|---|---|---|---|
| نام پروفایل | Name |
String | بله | عنوان تنظیمات (مثلاً: الگوی پلاکدهی استاندارد ۱۴۰۳). |
| دنباله اموال مصرفی | ExpensedSeqID |
FK | بله | انتخاب شمارنده (Number Sequence) برای داراییهای ارزانقیمت. (مثلاً سری ۱۰۰۰۰). |
| دنباله اموال سرمایهای | CapitalizedSeqID |
FK | بله | انتخاب شمارنده برای داراییهای اصلی و گرانقیمت. (مثلاً سری ۲۰۰۰۰). |
| قالب برچسب (Label Template) | LabelTemplateID |
FK | خیر | انتخاب طرح چاپ (ZPL/HTML) برای پرینتر لیبلزن (اینکه لوگو کجا باشد، بارکد کجا باشد). |
| جداکننده (Separator) | SeparatorChar |
Char | خیر | کاراکتری که اجزای پلاک را جدا میکند (معمولاً خط تیره - یا اسلش /). |
| شامل سال؟ | IncludeYear |
Bool | خیر | آیا سال خرید در پلاک درج شود؟ (مثلاً 1403-0050). |
۴. سناریوهای کاربردی (Use Cases)
سناریوی ۱: سازمان دولتی (رعایت سادا و برچسب اموال دولتی)
در بخش دولتی، پلاککوبی بسیار سختگیرانه است. معمولاً برچسبهای اموال دولتی دارای یک فرمت خاص ۱۴ رقمی هستند.
- تنظیمات:
- نام: الگوی دولتی.
- دنباله غیرمصرفی: متصل به الگوی تولید کد ۱۴ رقمی سادا.
- نکته: اموال "در حکم مصرفی" در دولت معمولاً پلاک نمیخورند یا برچسب متفاوتی (مثلاً رنگ زرد) دارند تا با اموال اساسی (برچسب سفید/آبی) اشتباه نشوند. سیستم تابان این دو سری را کاملاً جدا میکند.
سناریوی ۲: شرکت خصوصی (هلدینگ)
یک هلدینگ میخواهد بداند هر دارایی متعلق به کدام شرکت تابعه است.
- تنظیمات:
- تعریف چند "دنباله" متفاوت با پیشوندهای مختلف:
- دنباله ۱:
TEH-(برای دفتر تهران). - دنباله ۲:
SHZ-(برای کارخانه شیراز).
- دنباله ۱:
- در فرم "تنظیمات پلاک"، بسته به اینکه کاربر کدام شعبه است، دنباله مربوطه فراخوانی میشود.
- نتیجه: پلاک
TEH-2005نشان میدهد این میز متعلق به تهران است.
- تعریف چند "دنباله" متفاوت با پیشوندهای مختلف:
سناریوی ۳: داراییهای خرد (Low Value Asset Tracking)
شرکت تصمیم میگیرد حتی "صندلیهای پلاستیکی" و "ماشینحسابها" را هم کنترل کند، اما نمیخواهد درگیر حسابداری استهلاک آنها شود.
- قیمت ماشینحساب: ۵۰۰,۰۰۰ تومان (زیر حد نصاب).
- رفتار سیستم:
- تشخیص میدهد که زیر حد نصاب است.
- از دنباله "مصرفی" استفاده میکند:
LV-9005(LV مخفف Low Value). - سند حسابداری: تمام مبلغ را در لحظه خرید به "هزینه ملزومات" میبرد (نه دارایی ثابت).
- کنترل: اما در سیستم جمعداری، پلاک
LV-9005ثبت میشود و تحویل آقای کارمند میشود. اگر گم شود، کارمند مسئول است.
۵. تعامل با سایر بخشها (Integration)
-
با ماژول حدنصابها (Capitalization Thresholds):
- این فرم به تنهایی کار نمیکند. این فرم "موتور اجرا" است، اما "قانون" از فرم «حد نصاب معاملات» میآید.
- سیستم چک میکند تاریخ خرید (مثلاً ۱۴۰۲) در کدام بازه تاریخیِ حدنصابها قرار دارد و مبلغ سقف چقدر است.
-
با ماژول سیستمسازی (Number Sequences):
- در ERP تابان، یک ماژول مرکزی برای تولید شماره (فاکتور، سند، پلاک) وجود دارد. این فرم فقط به آن ماژول لینک میدهد (FK). این کار باعث میشود مدیریت شمارندهها متمرکز باشد.
۶. ملاحظات فنی برای توسعهدهندگان (Developer Notes)
الف) تولید شماره بدون تکرار (Concurrency Safe)
تولید پلاک اموال در محیطهای شلوغ (مثلاً وقتی ۱۰ انباردار همزمان دارند کالا رسید میکنند) چالشبرانگیز است.
- روش غلط:
SELECT MAX(ID) + 1. (باعث تکراری شدن پلاک میشود). - روش صحیح: استفاده از
SEQUENCEدیتابیس (در SQL Server یا Oracle) یا الگویAtomic Incrementدر Redis. پلاک باید قبل از ذخیره نهایی رزرو شود.
ب) تغییر حد نصاب در میانه سال
اگر قانون وسط سال عوض شود و حد نصاب تغییر کند:
- سیستم باید بر اساس «تاریخ تحصیل» (Acquisition Date) تصمیم بگیرد، نه تاریخ روز جاری.
ج) چاپ لیبل (Barcode Printing)
- خروجی این ماژول معمولاً یک رشته متنی (String) است که به پرینترهای لیبلزن (مانند Zebra) ارسال میشود.
- پشتیبانی از فونتهای فارسی در تولید تصویر بارکد/QR حیاتی است.
۷. پرسشهای متداول (FAQ)
س: اگر یک دارایی "در حکم مصرفی" (پلاک ارزان) بخورد، اما بعداً تصمیم بگیریم آن را "دارایی سرمایهای" کنیم (Capitalize)، چه میشود؟
- پاسخ: این یک عملیات "تغییر وضعیت" است. سیستم پلاک قبلی را باطل (یا لینک) میکند و یک پلاک جدید از سری "سرمایهای" صادر میکند و سند حسابداری اصلاحی میزند (برگشت از هزینه -> ثبت دارایی).
س: آیا میتوانیم پلاک را دستی وارد کنیم؟ (برای داراییهای قدیم)
- پاسخ: بله. در تنظیمات "دنباله اعداد"، یک تیک به نام
Allow Manual Entryوجود دارد. این برای زمان استقرار سیستم (مهاجرت از اکسل به تابان) ضروری است تا پلاکهای قدیمی روی وسایل حفظ شوند.
س: آیا شماره پلاک باید حتماً عدد باشد؟
- پاسخ: خیر. سیستم تابان از فرمت آلفانومریک (ترکیب حروف و عدد) پشتیبانی میکند. (مثال:
IT/1402/005). این ساختار در "دنباله اعداد" تعریف میشود.