1. المفهوم المحاسبي لشاشة المعاملات (Conceptual Model)
شاشة المعاملات (Transactions) في بروفيجن ERP تمثل محطة التوجيه والربط المحاسبي (Mapping & Conversion Workbench) التي تربط العمليات التشغيلية الصادرة من موديولات النظام (المبيعات، المشتريات، المخازن، والرواتب) بالأستاذ العام وشجرة الحسابات.
يجب التمييز بدقة بين حالة المستند التشغيلي (Operational Status) مثل (مدفوع Paid، غير مدفوع Unpaid، مسودة Draft، معتمد Approved) وبين حالة التوجيه المحاسبي (Accounting Conversion State) التي تحدد ما إذا كانت المعاملة قد أنتجت قيوداً مدينة ودائنة في دفتر الأستاذ العام أم لا.
| المفهوم في النظام | المعنى البرمجي والمحاسبي | الأثر في قاعدة البيانات tblacc_account_history |
|---|---|---|
| توجيه / تحويل (Convert) | فتح نافذة التوجيه لاختيار الحساب المدين (payment_account) وحساب الإيداع الدائن (deposit_to). |
إرسال البيانات عبر AJAX إلى الدالة Accounting::convert() التي تستدعي add_account_history() لتوليد قيود القيد المزدوج. |
| تم توجيهه (Converted) | المعاملة تم توجيهها وإثبات قيودها المحاسبية بنجاح في دفتر الأستاذ. | توجد أسطر قيود مسجلة في جدول tblacc_account_history مرتبطة بـ rel_id و rel_type. |
| لم يتم توجيهه (Has not been converted) | معاملة تشغيلية جديدة لم يتم ربطها محاسبياً بعد وتنتظر التوجيه اليدوي أو الآلي. | لا توجد أي قيود مسجلة في tblacc_account_history للعملية المعنية. |
| إلغاء التوجيه (Delete Convert / Unlink) | فك الارتباط المحاسبي للمعاملة وحذف قيودها من الأستاذ العام لإعادة توجيهها أو تعديلها. | إرسال طلب إلى Accounting::delete_convert($id, $type) لحذف الأسطر المقابلة من tblacc_account_history وعودة الحالة فوراً إلى لم يتم توجيهه. |
| التحويل والحذف الجماعي (Mass Convert / Mass Delete Convert) | تحديد مربعات اختيار متعددة لمعالجة دفعات كبيرة من المعاملات التشغيلية بنقرة واحدة. | توليد أو حذف أسطر tblacc_account_history جماعياً لكل العمليات المحددة. |
2. مجموعات وتبويبات المعاملات المدعومة
يدعم موديول المحاسبة 24 مساحة عمل فرعية مستقلة (Leaf Workspaces) موزعة على المجموعات التشغيلية الرئيسية:
- المعاملات البنكية والتحويلات (
?group=banking): مساحة العمل الافتراضية للمعاملات المصرفية، مع تعيين الحسابات الافتراضيةpayment_account=1وdeposit_to=13. - المبيعات (
?group=sales): فواتير المبيعات (tab=invoice)، مقبوضات المبيعات (tab=payment)، ضرائب المبيعات (group=sales_tax)، مردودات المتجر الإلكتروني (tab=omni_sales_return_order)، واستردادات المبيعات (tab=omni_sales_refund). - المشتريات (
?group=purchase): أوامر الشراء (tab=purchase_order)، فواتير الموردين (tab=purchase_invoice)، مدفوعات الموردين (tab=purchase_payment)، مردودات المشتريات (tab=purchase_return_order)، واستردادات المشتريات (tab=purchase_refund). - المخازن والمستودعات (
?group=warehouse): سندات إدخال المخزون (tab=stock_import)، سندات صرف المخزون (tab=stock_export)، تسويات الجرد والعجز (tab=loss_adjustment)، وبضاعة أول المدة (tab=opening_stock). - المصروفات التشغيلية (
?group=expenses): قيود وتوجيه بنود المصروفات العامة. - الرواتب والأجور (
?group=payslips): مسيرات رواتب الموظفين واستحقاقات الشهر. - الأصول الثابتة (
?group=fixed_equipment): أصول الشركة (tab=fe_assets)، التراخيص (tab=fe_licenses)، المكونات (tab=fe_components)، المستهلكات (tab=fe_consumables)، الصيانة (tab=fe_maintenances)، والإهلاكات الدورية (tab=fe_depreciations). - التصنيع والإنتاج (
?group=manufacturing): أوامر وتكاليف التصنيع والإنتاج.
3. دورة التعيين والتحويل المحاسبي خطوة بخطوة
ظهور المعاملة التشغيلية
فور إنشاء فاتورة مبيعات أو سند صرف أو مسير رواتب في الموديول المعني، تظهر المعاملة في الجدول المخصص بحالة لم يتم توجيهه (has_not_been_converted) في حال عدم وجود توجيه آلي مسبق.
فتح نافذة التوجيه (Convert Modal)
النقر على خيار توجيه / تحويل في عمود الإجراءات بالجدول لفتح نافذة التوجيه الثنائية التي تحتوي على حقلي الاختيار الإلزاميين: الحساب المدين / حساب السداد (payment_account) وحساب الإيداع / الدائن (deposit_to).
التوليد المزدوج المتزن في دفتر الأستاذ
عند تأكيد الحفظ، يرسل النظام طلباً إلى admin/accounting/convert فيقوم بتوليد أسطر القيد المزدوج المتزن في جدول tblacc_account_history، فتتحول حالة المعاملة فورياً إلى تم توجيهه (converted) وتنعكس في ميزان المراجعة والقوائم المالية.
إلغاء التوجيه وفك الارتباط (Delete Convert)
في حال الرغبة في تعديل القيد أو إعادة توجيهه، يتيح النظام خيار إلغاء التوجيه الذي يستدعي delete_convert لحذف أسطر المعاملة من tblacc_account_history واستعادة حالتها الأصلية غير الموجهة بأمان تام.
4. محرك قواعد التوجيه البنكي الآلي (Banking Rules Engine)
يتيح النظام في شاشة قواعد التوجيه البنكي (المسار: admin/accounting/setting?group=banking_rules) أتمتة عمليات توجيه المعاملات المصرفية الواردة والمنصرفة وفق شروط محددة مسبقاً (View: modules/accounting/views/setting/rule.php):
- شروط التطبيق (Apply Condition): تطبيق القاعدة على الحركات الواردة (
money_in) أو الصادرة (money_out)، ومطابقة الوصف (description) أو المبلغ (amount) وفق محددات (يحتويcontains، لا يحتويdoes_not_contain، يساويequals، أكبر منis_greater_than، أو أقل منis_less_than). - إجراء التوجيه (Action / Then):
- تعيين (Assign): توجيه المبلغ تلقائياً إلى حساب محدد في شجرة الحسابات.
- استبعاد (Exclude): استبعاد المعاملة من التوجيه التلقائي للمراجعة اليدوية.
- أنماط توزيع المبالغ (Mapping Type):
- المبلغ بالكامل (Full Amount): توجيه 100% من قيمة المعاملة إلى حساب واحد.
- تقسيم بالنسبة المئوية (Split Percentage): توزيع قيمة المعاملة على حسابات متعددة بنسب مئوية محددة (
percentage[]). - تقسيم بمبالغ ثابتة (Split Fixed): توزيع قيمة المعاملة بمبالغ مالية ثابتة على الحسابات المختارة.
- التراجع عن تطبيق القاعدة: يتيح مسار
admin/accounting/undo_banking_rule/{id}التراجع عن أثر أي قاعدة بنكية تم تطبيقها آلياً واستعادة المعاملات لحالتها الأصلية.
5. تقارير الذمم المدينة وحسابات المبيعات والعملاء (Accounts Receivable & Customer Reports)
تُقدم منظومة المحاسبة العامة حزمة تقارير رقابية شاملة لمتابعة مستحقات العملاء والتحصيلات والمبيعات:
| اسم التقرير | المسار الفعلي | خيارات الفلترة | مخرجات التقرير والأعمدة | التصدير والطباعة |
|---|---|---|---|---|
| أعمار الديون للمدينين - ملخص (A/R Aging Summary) | admin/accounting/rp_accounts_receivable_aging_summary |
تاريخ التقرير، الفترات الزمنية (1-30، 31-60، 61-90، >90 يوماً). | اسم العميل، الرصيد الجاري، المبالغ المتأخرة حسب فئات الاستحقاق، إجمالي المستحق. | PDF / Excel |
| أعمار الديون للمدينين - تفصيلي (A/R Aging Detail) | admin/accounting/rp_accounts_receivable_aging_detail |
تاريخ الاستحقاق، العميل، الأساس المحاسبي (استحقاق/نقدي). | رقم فاتورة المبيعات، تاريخ الإصدار، تاريخ الاستحقاق، المبلغ الكلي، المبلغ المتبقي، فئة التأخير. | PDF / Excel |
| ملخص أرصدة العملاء (Customer Balance Summary) | admin/accounting/rp_customer_balance_summary |
التاريخ حتى، مجموعة العملاء، الحالة (نشط/الكل). | كود العميل، اسم العميل، الرصيد الافتتاحي، إجمالي الفواتير، إجمالي المقبوضات، الرصيد المدين الصافي. | PDF / Excel |
| كشف أرصدة العملاء التفصيلي (Customer Balance Detail) | admin/accounting/rp_customer_balance_detail |
الفترة الزمنية، عميل محدد، نوع المعاملة. | تاريخ المعاملة، نوع السند (فاتورة/سند قبض/إشعار دائن)، المبلغ المدين، المبلغ الدائن، الرصيد التراكمي. | PDF / Excel |
| تقرير التحصيلات والمقبوضات (Collections Report) | admin/accounting/rp_collections_report |
الفترة من-إلى، طريقة الدفع، الخزينة/البنك. | رقم سند القبض، تاريخ التحصيل، اسم العميل، المبلغ المحصل، الحساب المحاسبي المودع فيه. | PDF / Excel |
| تقرير إيرادات ومبيعات العملاء (Customer Income) | admin/accounting/rp_customer_income |
السنة المالية، فئة العميل، أساس القياس. | اسم العميل، إجمالي المبيعات، الخصومات الممنوحة، صافي الإيراد المحقق، نسبة المساهمة. | PDF / Excel |
| ملخص الدخل حسب العميل (Income by Customer Summary) | admin/accounting/rp_income_by_customer_summary |
الفترة من-إلى، تصنيف الحساب، العملة. | اسم العميل، إجمالي الإيرادات التشغيلية، تكلفة البضاعة المباعة المرتبطة، مجمل الهامش الربحي. | PDF / Excel |
| مبيعات حسب تصنيفات العملاء (Sales by Customer Type Detail) | admin/accounting/rp_sales_by_customer_type_detail |
نوع العميل، النطاق الجغرافي، فترة المبيعات. | تصنيف العميل، تفاصيل فواتير المبيعات، البنود المباعة، الكميات، المبالغ الصافية والضرائب. | PDF / Excel |