التحكم في إقفال الفترات المحاسبية (Fiscal Period Control)
في كثير من المنشآت لا يكفي أن تكون الفترة المحاسبية «مفتوحة» أو «مغلقة» للجميع. فقسم الحسابات قد يحتاج إلى إكمال قيود التسوية في فترة أوشكت على الإقفال، بينما يجب منع المبيعات من إصدار أي فاتورة فيها. وأحيانًا يحدث العكس: الفترة مغلقة للجميع، لكنك تريد السماح لمستخدم واحد بإجراء قيد تصحيحي عاجل.
يوفّر نظام نما ثلاث طبقات متكاملة للتحكم في الفترات تغطي هذه الحالات:
| الطبقة | الأداة | الأثر |
|---|---|---|
| الأساس | حالة الفترة المحاسبية | فتح/إقفال عام للفترة على الجميع وكل المستندات |
| التضييق | تحديث حالة السنة المالية | إقفال انتقائي لفترة مفتوحة لبعض ملفات الصلاحية / المستخدمين / المستندات |
| الاستثناء | تجاهل الفترات المغلقة | السماح الانتقائي بالعمل في فترة مغلقة لجهة أو مستند معيّن |
الفكرة الجوهرية
- تحديث حالة السنة المالية يُضيّق: يقفل ما هو مفتوح لجهات محددة.
- تجاهل الفترات المغلقة يستثني: يفتح ما هو مغلق لجهات محددة.
الطبقة الأساسية: حالة الفترة المحاسبية
لكل فترة محاسبية حالة افتراضية: مفتوحة (Opened) أو مغلقة (Closed). عندما تكون الفترة مغلقة بحالتها الأساسية، يمنع النظام حفظ أي مستند مؤرخ داخلها على جميع المستخدمين. هذا هو الإقفال «العام»، وهو نقطة البداية التي تعمل الطبقتان التاليتان فوقها.
أولاً: تحديث حالة السنة المالية — الإقفال الانتقائي
هذا ملف رئيسي يتيح لك إقفال (أو فتح) الفترات بشكل دقيق حسب ملف الصلاحية أو المستخدم، ونوع المستند، والمحددات (الشركة / القطاع / الفرع / الإدارة / مجموعة التحليل)، بدلًا من الإقفال العام.
مكان الشاشة
- بالعربية: الأساسيات > الملفات > تحديث حالة السنة المالية
- بالإنجليزية: Basic > Master Files > Fiscal Year Status Update
الخطوة الأولى: تفعيل الميزة
لا يعمل هذا الملف إلا بعد تفعيله من الإعدادات العامة عبر الخيار تفعيل تحديث حالة السنة المالية (Enable Fiscal Year Status Update). إذا لم يكن مُفعّلًا، يتجاهل النظام كل ملفات تحديث الحالة تمامًا.
تنبيه
بدون تفعيل هذا الخيار العام لن يكون لأي ملف «تحديث حالة السنة المالية» أي أثر، مهما أضفت من قواعد.
الخطوة الثانية: إنشاء الملف وإضافة القواعد
أنشئ ملفًا جديدًا ثم أضف سطورًا في الجدول التفصيلي — كل سطر يمثّل قاعدة إقفال/فتح مستقلة. حقول السطر:
| الحقل | الوصف |
|---|---|
| السنة المالية / الفترة المحاسبية | الفترة التي تنطبق عليها القاعدة (اتركها فارغة لتشمل الكل) |
| النوع المستهدف (Target Entity) | نوع المستند المقصود (مثل فاتورة مبيعات). فارغ = كل الأنواع |
| قائمة الأنواع (Entity Type List) | قائمة أنواع جاهزة لتطبيق القاعدة على عدة مستندات دفعة واحدة |
| المستخدم / ملف الصلاحية | تختار إمّا مستخدمًا بعينه أو ملف صلاحية كاملًا لتطبيق القاعدة على كل مستخدميه |
| الشركة / القطاع / الفرع / الإدارة / مجموعة التحليل | محددات اختيارية لقصر القاعدة على جهة معيّنة |
| الحالة (Status) | نتيجة القاعدة: مفتوحة أو مغلقة (حقل إلزامي) |
وعلى مستوى رأس الملف يوجد حقل الأولوية (Priority) لترتيب القواعد، وخيار غير نشط (Inactive) لتعطيل الملف دون حذفه.
كيف يطبّق النظام القواعد؟
عندما يحاول مستخدم حفظ مستند في فترة ما:
- يجمع النظام كل القواعد النشطة مرتبةً حسب الأولوية.
- يأخذ أول قاعدة تنطبق على المجموعة: نوع المستند + المحددات + الفترة + السنة + المستخدم الحالي (أو ملف صلاحيته).
- إذا كانت حالة تلك القاعدة مغلقة، يُمنع الحفظ في تلك الفترة لذلك المستخدم/المستند.
قاعدة المطابقة الأهم
أي حقل تتركه فارغًا في السطر يعني «ينطبق على الكل». فسطرٌ فيه فقط: الحالة = مغلقة + ملف الصلاحية = «مندوبو المبيعات» + النوع المستهدف = «فاتورة مبيعات»، يُقفل فواتير المبيعات على مندوبي المبيعات فقط، ويترك كل ما عداه مفتوحًا.
ملاحظتان مهمتان
هذا الملف يُضيّق ولا يُوسّع
الإقفال الأساسي للفترة هو الأقوى داخل هذه الطبقة: إذا كانت الفترة مغلقة أصلًا في حالتها الأساسية، فلا يستطيع هذا الملف إعادة فتحها لأحد. أمّا إذا كانت الفترة مفتوحة أساسًا، فيمكنك عبره إقفالها انتقائيًا. (لفتح فترة مغلقة لجهة معيّنة استخدم «تجاهل الفترات المغلقة» في القسم التالي.)
الأولوية تحسم التعارض
عند وجود أكثر من قاعدة قد تنطبق على نفس الحالة، تُطبَّق القاعدة الأعلى أولويةً (أول قاعدة مطابقة في الترتيب)، فرتّب القواعد بعناية عند تداخلها.
أمثلة عملية
إقفال الفترة لبعض ملفات الصلاحية: أضف سطرًا تختار فيه الفترة، وفي حقل المستخدم/ملف الصلاحية تختار ملف الصلاحية المعني، وتترك النوع المستهدف فارغًا، والحالة = مغلقة. النتيجة: الفترة مغلقة على كل مستخدمي ذلك الملف، ومفتوحة لغيرهم.
إقفال الفترة لبعض المستندات: أضف سطرًا تختار فيه الفترة، وفي النوع المستهدف تختار نوع المستند (أو قائمة أنواع لعدة مستندات)، وتترك المستخدم فارغًا، والحالة = مغلقة. النتيجة: تلك المستندات مقفلة على الجميع في هذه الفترة، وباقي المستندات مفتوحة.
ويمكن الدمج في قاعدة واحدة بين ملف صلاحية ونوع مستند ومحدد (فرع/شركة) لأدق درجات التحكم.
ثانيًا: تجاهل الفترات المغلقة — الاستثناءات
أحيانًا تكون الفترة مغلقة للجميع، لكنك تريد السماح لجهة أو مستند بعينه بالعمل فيها (قيد تصحيحي، تسوية متأخرة، صلاحية خاصة للمدير المالي). هذا ما يفعله تجاهل الفترات المغلقة: قاعدة استثناء تجعل النظام يعامل الفترة المغلقة كأنها مفتوحة — لكن فقط لمن تنطبق عليه القاعدة.
يمكن تعريف هذه الاستثناءات في مكانين، ولهما نفس الحقول ونفس السلوك:
أ. على مستوى الإعدادات العامة (يطبّق على كل السنوات)
في الإعدادات العامة يوجد جدول تجاهل الفترات المغلقة في (Ignore Closed Periods In). القواعد المعرّفة هنا تنطبق على مستوى النظام كله.
ب. على مستوى السنة المالية (يطبّق على سنة بعينها)
داخل ملف السنة المالية (الأساسيات > الملفات > السنة المالية) يوجد جدول تجاهل الفترات المغلقة خاص بتلك السنة، يُستخدم عندما تريد استثناءات محصورة في سنة واحدة دون التأثير على غيرها.
الجدولان يُجمعان معًا
عند فحص أي مستند، يدمج النظام قواعد التجاهل من الإعدادات العامة ومن السنة المالية الخاصة بالفترة، وتكفي مطابقة قاعدة واحدة من أيهما للسماح.
حقول قاعدة التجاهل
| الحقل | الوصف |
|---|---|
| نوع المستند (Entity Type) | نوع المستند المسموح له بتجاوز الإقفال. فارغ = كل الأنواع |
| السنة المالية / الفترة المحاسبية | حصر الاستثناء في سنة أو فترة بعينها |
| المستخدم (User) | السماح لمستخدم محدد بعينه |
| السماح لـ (Allow For) | جهة أوسع يُسمح لها: موظف، أو ملف صلاحية، أو مجموعة موظفين، أو مجموعة رئيسية. يكفي أن ينتمي المستخدم الحالي لأيٍّ منها |
| الشركة / القطاع / الفرع / الإدارة / مجموعة التحليل | محددات اختيارية لحصر الاستثناء على جهة معيّنة |
كيف يطبّق النظام قاعدة التجاهل؟
- إذا كانت كل حقول القاعدة فارغة، فهي غير صالحة ولا تُطبّق (حماية من فتح كل الفترات بالخطأ).
- لكل حقل مملوء، يجب أن يتطابق مع المستند/المستخدم الحالي؛ والحقول الفارغة تعني «الكل».
- حقل السماح لـ يطابق المستخدم عبر: نفسه، أو موظفه، أو ملف صلاحيته، أو مجموعته؛ وإن كان «مجموعة موظفين» فيُشترط أن يكون موظف المستخدم عضوًا فيها.
أمثلة عملية
السماح للمدير المالي وحده بالعمل في فترة مغلقة: في الإعدادات العامة أضف سطرًا في «تجاهل الفترات المغلقة في»: حدّد الفترة، وفي المستخدم اختر المدير المالي (أو في السماح لـ اختر ملف صلاحيته)، واترك نوع المستند فارغًا. النتيجة: تظل الفترة مغلقة على الجميع، عدا المدير المالي.
السماح بقيود اليومية فقط في فترة مغلقة لسنة محددة: داخل ملف السنة المالية أضف سطرًا في «تجاهل الفترات المغلقة»: حدّد الفترة، وفي نوع المستند اختر «قيد يومية»، واترك المستخدم/السماح لـ فارغًا. النتيجة: يُسمح بقيود اليومية في تلك الفترة المغلقة للجميع، وتبقى باقي المستندات ممنوعة.
ترتيب أولوية التطبيق (كيف تتفاعل الطبقات معًا)
عند محاولة حفظ مستند في فترة، يقرّر النظام السماح أو المنع بالترتيب التالي:
- هل تنطبق قاعدة «تجاهل الفترات المغلقة»؟ (من الإعدادات العامة أو السنة المالية) — إن نعم، يُسمح فورًا، بصرف النظر عن أي إقفال. هذا الاستثناء هو الأعلى أسبقيةً.
- وإلا، يُحضِر النظام الحالة من تحديث حالة السنة المالية. فإن لم توجد قاعدة مطابقة، أو كانت الفترة مغلقة أساسًا، تُعتمد الحالة الأساسية للفترة.
- يُسمح بالحفظ فقط إذا كانت الحالة النهائية مفتوحة.
الخلاصة
- «تجاهل الفترات المغلقة» يتجاوز كل شيء (استثناء صريح بالسماح).
- «تحديث حالة السنة المالية» يستطيع إقفال فترة مفتوحة لجهات محددة، لكنه لا يفتح فترة مغلقة أساسًا.
- الإقفال الأساسي للفترة هو الافتراضي حين لا تنطبق أي قاعدة.
ملاحظات فنية
التخزين المؤقت (Caching)
تُخزَّن قواعد «تحديث حالة السنة المالية» وقواعد «تجاهل الفترات المغلقة» مؤقتًا في الذاكرة لتحسين الأداء، ويُمسح التخزين المؤقت تلقائيًا عند أي تعديل في هذه الملفات أو في الإعدادات العامة، فتسري التغييرات دون إعادة تشغيل.