| القدرة | الحالة | التفصيل |
|---|---|---|
| ملكية على مستوى الأمر (own/customer) | موجود | production_orders.material_ownership + isToll() |
| ملكية على مستوى سطر الصرف | موجود | mfg_material_issue_lines.ownership — البنية التحتية موجودة فعلاً |
| الترحيل المحاسبي «أمان الأمانة» | موجود | ownTotalCost() يستبعد سطور العميل من WIP — سطر بسطر |
| إعلان ملكية لكل مكوّن في المعادلة (BOM) | ناقص | BomComponent مافيهوش حقل ملكية — المعادلة كلها أمانة أو كلها ملكي |
| انقسام صنف واحد (جزء مني + جزء العميل) | ناقص | السطور بتتختم كلها من علم الأمر — مفيش منطق يقسّم مكوّن لسطرين |
| دفتر مخزون أمانة العميل عندك | ناقص | مفيش جدول لرصيد خامة العميل عند المصنع |
| الاستلاف + التسوية (ترجيع/شراء) | ناقص | مفيش آلية «المصنع استلف من العميل ومدين له / هيشتري» |
| دفعة مقدّمة للعميل (Advance) | موجود | down_payment_total → حساب «أمانات العملاء» |
| مرحلة التخطيط (MRP/MPS) | رفيعة | MRP يولّد أوامر مخططة للمبيعات، لكن أوامر الأمانة بتتخطّى التخطيط خالص |
نستغل بنية «السطر» الموجودة، ونضيف إعلان ملكية لكل مكوّن + منطق تقسيم عند بناء مواد الأمر.
| الجدول | الإضافة | المعنى |
|---|---|---|
bom_components | supply_source enum {factory, customer, split}customer_qty_per_unit decimal (للـsplit) | المعادلة بتعلن: المكوّن ده يجيبه العميل، ولا المصنع، ولا مقسوم — وكام من العميل لكل وحدة منتج |
mfg_toll_contract_lines | (اختياري) override للمكوّنات الي العميل بيوفّرها | تعديل لكل عقد فوق افتراض الـBOM |
mfg_material_issue_lines | لا تغيير — ownership موجود | المكوّن المقسوم = سطرين: سطر own + سطر customer |
supply_source = split: customer_qty = customer_qty_per_unit × الكمية، والباقي own.نضيف مرحلة «تخطيط وجاهزية المواد» صريحة بين الطلب (عقد أمانة / أمر بيع) وأمر الإنتاج — ونمرّر أوامر الأمانة من خلالها (بدل ما تتخطّاها).
production_planner موجود — نكمّله بصلاحية/شاشة المرحلة دي.الجزء الأكبر — لأنه مفقود تمامًا. نضيف دفتر مخزون أمانة لخامة العميل عند المصنع + آليات الاستلاف والتسوية.
| الجدول الجديد | الغرض |
|---|---|
mfg_consignment_receipts | استلام خامة من العميل (يدخل كمخزون مملوك للعميل عند المصنع، بدون قيمة في مخزونك) |
mfg_consignment_ledger | رصيد لكل (عميل، خامة): مستلَم − مصروف لأوامر العميل − مُستلَف لأوامرك − مُسوّى |
mfg_consignment_settlements | تسوية الاستلاف: ترجيع (نفس الخامة) أو شراء (تبقى أنت المشتري → فاتورة شراء من العميل-كمورّد) |
| المرحلة | تحلّ | الحجم | المخرجات |
|---|---|---|---|
| A | المعضلة B (ملكية لكل مكوّن + انقسام) | سريع / إضافي | حقول BOM + منطق تقسيم + UI المواد + اختبارات + تقرير «ملكية مواد الأمر» |
| B | المعضلة A (مرحلة التخطيط) | متوسط | لوحة تخطيط/جاهزية + تمرير الأمانة عبر التخطيط + توليد طلبات شراء للنواقص الملكية |
| C | المعضلة C (الأمانة والاستلاف) | الأثقل | دفتر مخزون الأمانة + استلام/صرف/استلاف + تسوية (ترجيع/شراء) + التكامل المحاسبي |