💰

الحسابات والنواة: القيود ومراكز التكلفة والقضبان (Accounting & Core Rails)

يوضّح هذا القسم البنية المالية القائمة بالفعل في النظام والتي ستعتمد عليها وحدة التصنيع لترحيل تكاليف الإنتاج: قيود اليومية، الدليل المحاسبي، مراكز التكلفة، إغلاق الفترات، والعملات. الخلاصة الإدارية: القضبان المالية جاهزة ومُجرَّبة فعلياً في وحدة المختبرات، ومراكز التكلفة موجودة ولا تحتاج بناءً جديداً؛ المطلوب هو منطق التكاليف نفسه داخل وحدة التصنيع.

القناة الوحيدة المعتمدة للترحيل المحاسبي

أي ترحيل إلى دفتر الأستاذ العام يمر حصراً عبر إجراء واحد معتمد هو Modules\Accounting\Actions\CreateJournalEntry بدالة execute(array $data, array $lines). هذه القناة تضمن التوازن، ومنع الترحيل على الحسابات الرئيسية (الإجمالية)، والتحقق من وجود فترة مالية مفتوحة، وتحويل العملات تلقائياً. وحدة المختبرات Modules\LIS\Actions\PostLabInvoice تستخدم هذه القناة فعلياً لترحيل تكلفة المبيعات موزّعةً على مراكز التكلفة — وهو نفس الأسلوب الذي ستتبعه وحدة التصنيع بحذافيره.

مراكز التكلفة موجودة بالفعل

خلافاً لما قد يُفترض، مراكز التكلفة كيان قائم وكامل في وحدة الحسابات عبر جدول cost_centers ونموذج Modules\Accounting\Models\CostCenter بهيكل هرمي (أب/أبناء). كما أن توزيع تكاليف مراكز الخدمة على مراكز الإنتاج مبني فعلاً عبر CostAllocationService وAllocationRule. وتقارير الأستاذ العام GeneralLedgerService تدعم الترشيح حسب مركز التكلفة. لذلك مراكز التكلفة ليست بناءً جديداً — الناقص فقط هو تصنيف نوع المركز (إنتاجي/خدمي/مساعد) وبعض طرق التوزيع المتقدمة.

كيف تُرحَّل دورة الإنتاج تحت التشغيل ← الانحرافات ← التسوية

  1. صرف المواد للأمر: مدين WIP (إنتاج تحت التشغيل) / دائن مخزون المواد الخام — بنوع production_material_issue.
  2. العمالة المباشرة: مدين WIP / دائن أجور مُحمَّلة — بنوع production_labor.
  3. الأعباء الصناعية غير المباشرة: مدين WIP / دائن أعباء مُحمَّلة (MOH Applied) — بنوع production_overhead (معدل التحميل موجود في production_centers.overhead_rate).
  4. استلام المنتج التام بالتكلفة المعيارية: مدين مخزون التام / دائن WIP — بنوع production_receipt.
  5. التسوية: الرصيد المتبقي في WIP = إجمالي الانحراف؛ يُحلَّل إلى الانحرافات السبعة (سعر/استخدام المواد، معدل/كفاءة العمالة، إنفاق/كفاءة الأعباء، حجم الأعباء الثابتة) ويُرحَّل لحسابات الانحراف في قائمة الدخل مع تصفير الأمر — بنوع production_variance.

كل ما سبق يُرحَّل عبر CreateJournalEntry دون أي تعديل على مخطط الحسابات؛ حسابات الإنتاج تحت التشغيل والانحرافات هي حسابات تفصيلية تُهيّأ ببيانات أولية، ومركز التكلفة هو البُعد القائم على السطر. استنتاج: تسلسل القيود

القضبان المتوفّرة من النواة (Core)

القدرةالملف / المصدرالحالة للتصنيع
قيد اليومية الموحّدModules/Accounting/app/Actions/CreateJournalEntry.phpجاهز — يُستخدم كما هو
مراكز التكلفة + بُعد السطرcost_centers، journal_entry_lines.cost_center_idجاهز — ليس بناءً جديداً
توزيع الخدمة ← الإنتاجCostAllocationService، AllocationRuleجاهز للطريقة المباشرة
الدليل المحاسبيaccounts، AccountClassification، AutoAccountServiceجاهز — تُزرع حسابات WIP/الانحراف كحسابات تفصيلية
إغلاق الفتراتModules/Accounting/app/Actions/CloseFiscalPeriod.phpجاهز — التسوية قبل الإغلاق
الترقيم المستنديModules/Core/app/Services/SequenceService.phpجاهز لأرقام أوامر الإنتاج
الإعدادات المُعرّفةModules/Core/app/Services/SettingsService.phpجاهز — تُضاف مفاتيح manufacturing.*
الصلاحيات والتبعياتModules/Core/app/Support/PermissionDependencyRegistry.phpجاهز — تُسجَّل بادئة manufacturing
نطاق الفروعModules/Core/app/Support/DataScope.phpجاهز — أوامر الإنتاج تحمل branch_id
التدقيق والمرفقاتBaseModel + Auditable، Attachmentجاهز بالوراثة

الفجوات التي تتطلّب بناءً جديداً

5تصنيفات الدليل المحاسبي
1قناة معتمدة للترحيل
1بُعد تحليلي على السطر (مركز التكلفة)
5قيود لدورة الإنتاج التام
9فجوات للبناء الجديد