توسعة صفحة /setup لتغطّي حسابات المعمل والتصنيع والـ HR، وكل خانة مختارة افتراضيًا بحساب تفصيلي صح زي الـ 7 الموجودين دلوقتي — من غير ما المستخدم يختار يدوي.
دلوقتي خطوة «الحسابات الافتراضية» فيها 7 خانات ثابتة بتكتب مفاتيح accounting.default_* — الباك إند مش بيقراها أصلًا عند الترحيل (مفيش تعريف ولا أي كود محاسبي بيستهلكها)، والصفحة مش بتحمّل القيم المحفوظة. الكود الحقيقي بيقرا مفاتيح بالـ namespace module.*_account_id.
الخطة: نحوّلها لـ أقسام قابلة للطي لكل موديول، كل خانة مختارة افتراضيًا بحساب تفصيلي مناسب، والحفظ يكتب المفاتيح الحقيقية اللي النظام بيرحّل منها فعلًا.
عند فتح الصفحة، لكل خانة نحدّد القيمة بترتيب 3 مستويات — عشان متبقاش فاضية أبدًا (زي سلوك الـ 7 الحاليين):
/setup وكل حاجة مختارة جاهزة، وفخ الـ AR يتصلّح من المصدر.
🟢 leaf = الافتراضي حساب تفصيلي جاهز · 🟠 ينشأ = نعمله find-or-create تحت أب · 🔴 AR/AP = فخ رأس الذمم (لازم ابن تفصيلي)
| المفتاح | الاسم | الافتراضي | النوع |
|---|---|---|---|
| lis.receivable_account_id | حساب الذمم — Receivable | 110301 ذمم مرضى المعمل | AR |
| lis.insurance_receivable_account_id | ذمم التأمين — Insurance Recv. | 110302 ذمم شركات التأمين | AR |
| lis.revenue_account_id | الإيرادات — Revenue | 4102 إيرادات الخدمات | leaf |
| lis.tax_payable_account_id | الضريبة المستحقة — Tax Payable | 2105 ضرائب مستحقة | leaf |
| lis.cash_account_id | النقد — Cash | 1101 النقدية بالصندوق | leaf |
| lis.cogs_account_id | تكلفة المباع — COGS | 5101 تكلفة البضاعة المباعة | leaf |
| lis.discount_account_id | الخصومات — Discount | 4105 خصومات المبيعات | leaf |
| lis.external_lab_payable_account_id | ذمم المختبرات الخارجية | 210101 تحت 2101 | AP |
| lis.external_lab_expense_account_id | مصروفات المختبرات الخارجية | ابن تحت 52 | ينشأ |
| lis.reagent_expense_account_id | مصروفات الكواشف — Reagent | ابن تحت 51 | ينشأ |
مفيش منها حساب في الشجرة الافتراضية — كلها find-or-create تلقائي عبر ProductionAccountResolver تحت الرؤوس 11/21/52 (الـ picker يستدعي نفس الـ resolver). الأكواد أمثلة فقط مش ثابتة.
| المفتاح | الاسم | الأب | النوع |
|---|---|---|---|
| production.wip_account_id | إنتاج تحت التشغيل — WIP | تحت 11 (أصل) | ينشأ |
| production.fg_account_id | منتجات تامة — Finished Goods | تحت 11 | ينشأ |
| production.toll_clearing_account_id | تسوية التصنيع لدى الغير | تحت 11 | by-style |
| production.labor_applied_account_id | العمالة المحمّلة — Labor Applied | تحت 21 (التزام) | ينشأ |
| production.overhead_applied_account_id | التكاليف غير المباشرة المحمّلة | تحت 21 | ينشأ |
| production.customer_advance_account_id | سُلف العملاء — Customer Advances | تحت 21 | by-style |
| production.scrap_account_id | هالك الإنتاج — Scrap | تحت 52 (مصروف) | ينشأ |
| production.cost_variance_account_id | انحراف تكلفة الإنتاج — Variance | تحت 52 | ينشأ |
| المفتاح | الاسم | الافتراضي | النوع |
|---|---|---|---|
| hrm.salary_expense_account_id | مصروف الرواتب — Salary Exp. | 5201 الرواتب والأجور | leaf |
| hrm.salary_payable_account_id | الرواتب المستحقة — Payable | 2103 مصروفات مستحقة | leaf |
| hrm.social_insurance_account_id | التأمينات الاجتماعية | 2105 (أو ابن تحت 21) | leaf |
| hrm.medical_insurance_account_id | التأمين الطبي | 2105 (أو ابن تحت 21) | leaf |
| hrm.eos_provision_account_id | مخصص نهاية الخدمة — EOS Prov. | 2202 مكافأة نهاية الخدمة | leaf |
| hrm.eos_expense_account_id | مصروف نهاية الخدمة | 5201 (أو ابن تحت 52) | leaf |
| hrm.overtime_expense_account_id | مصروف العمل الإضافي | 5201 | leaf |
| hrm.leave_accrual_account_id | مخصص الإجازات — Leave Accrual | 2103 مصروفات مستحقة | leaf |
| hrm.income_tax_account_id | ضريبة الدخل المستحقة | ابن تحت 21 | ينشأ |
| hrm.loan_receivable_account_id | سُلف الموظفين — Loan Recv. | ابن تحت 11 | by-style |
| المفتاح | الاسم | الافتراضي | النوع |
|---|---|---|---|
| sales.revenue_account_id | إيرادات المبيعات | 4101 | leaf |
| sales.cogs_account_id | تكلفة المباع | 5101 | leaf |
| sales.receivable_account_id | ذمم العملاء | 110301 تحت 1103 | AR |
| purchases.payable_account_id | ذمم الموردين | 210101 تحت 2101 | AP |
| sales.tax_payable_account_id | الضريبة المستحقة | 2105 | leaf |
| accounting.default_cash_account | الصندوق | 1101 | leaf |
| accounting.default_bank_account | البنك | 1102 | leaf |
| accounting.default_check_account | أوراق القبض/الدفع | 1104 / 2102 | leaf |
| pos.cash_receiving_account_id | استلام كاش POS | 1101 | leaf |
إجمالي ~56 مفتاح، يظهر منها ~46 في الـ picker (نستبعد: cost-center، JSON map، enum، أكواد نصية مثل inventory.stock_account، و toggles).
الملفات: features/setup/setup-wizard.component.{ts,html,scss} + ملف جديد default-accounts.config.ts + ترجمات SETUP.*.
/setup مختارة جاهزة.موافقتك على القرارات الأربعة (⑥) كفيلة إني أبدأ التنفيذ بالترتيب أعلاه — هبدأ بالمعمل/التصنيع/HR (أولوياتك).