• DevPilot's avatar
    feat(accounting): استيراد شجرة الحسابات Accounts V0.1 + تصحيح ربط ض.ق.م الإيجارات · c9dfacbc
    DevPilot authored
    أداة استيراد جديدة (tools/import_coa_tree.py) بتدخّل شجرة الحسابات من ملف
    Excel على الدليل القائم بمبدأ **الإضافة بس**:
    - الحساب الموجود بنفس الاسم ونفس النوع بيتساب زي ما هو ومبيتعملش منه نسخة.
    - الناقص بس هو اللي بيتعمل، تحت الأب الصح في الشجرة القائمة.
    - مفيش حساب قائم بيتغيّر أو يتمسح، ومفيش قيد بيتنقل.
    
    التحقق من نوع الحساب أساسي في الأداة: بند إيراد في الملف ما بيتربطش بحساب
    أصول حتى لو الاسم متطابق. ده منع ٦ ربطات غلط كانت هتحصل، منها:
      «ايراد العضويات النقدية» (إيراد) كان هيتربط بـ «حساب وسيط — عضويات
      نقدية» (أصول)، و«مصاريف أكاديمية السباحة» (مصروف) بحساب إيراد الأكاديمية.
    في الحالات دي بيتعمل حساب جديد بالنوع الصح وبيتسجّل تنبيه.
    
    النتيجة: ٢٥٧ مسار في الملف — ٦٤ كانوا موجودين، ٢٣٤ حساب/مجموعة اتعملوا.
    الدليل من ٧٥٥ إلى ٩٨٩ حساب.
    
    التحقق بعد الاستيراد:
      الميزان 513,135,477.03 مدين = دائن (ما اتغيّرش)
      أكواد مكررة: صفر · حسابات بأب مفقود: صفر
      قواعد الترحيل: ٩٤/٩٤ سليمة
    
    وإصلاح ربط كان اتكسر في فصل ض.ق.م: القاعدة rental:output_tax كانت بتشاور
    على 23080404 اللي بقى حساب رئيسي، فاتحوّلت لـ 2308040405 «ض.ق.م —
    الإيجارات ١٪»، والـ fallback في الكود اتظبط معاها.
    
    ملاحظة: ٨ حسابات رئيسية عليها قيود وحساب نوعه مختلف عن أبوه — دول موجودين
    من قبل الاستيراد (أُنشئوا 2026-05) ومش ناتجين عنه.
    c9dfacbc
Name
Last commit
Last update
..
__pycache__ Loading commit data...
pdf Loading commit data...
db_conn.py Loading commit data...
fix_player_duplicates.py Loading commit data...
form_action_check.py Loading commit data...
import_coa_tree.py Loading commit data...
menu_link_check.py Loading commit data...
php_lint.sh Loading commit data...
route_smoke.py Loading commit data...
smoke_test.php Loading commit data...
sql_schema_check.py Loading commit data...
ui_verify.js Loading commit data...