ما تخصّصه الشركات الإماراتية فعلاً في Odoo — تحليل لـ 140 وحدة في 10 عمليات تطبيق

يطرح كل مشترٍ لنظام Odoo في الإمارات السؤال نفسه بعد عشر دقائق من بداية الاجتماع الأول: ما حجم ما سنضطر إلى تخصيصه؟ والجواب الصادق كان دائماً «يعتمد الأمر على الحالة». أما هذه المرة فقد أحصيتُ بدلاً من أن أقدّر: 140 وحدة في 10 عمليات تطبيق لـ Odoo أنجزها الفريق الذي أقوده في دبي.

أبرز النتائج

  1. معظم الوحدات كانت عملاً هندسياً لا مجرّد تثبيت. فقد بُنيت 111 وحدة من أصل 140 (79%) داخلياً أو عُدّلت، ولم يُترك على حاله سوى 29 وحدة.
  2. المحاسبة هي أكثر المجالات تخصيصاً. توسّع 48 وحدة من أصل 140 تطبيق المحاسبة account في Odoo، أي 34%، وهذا أكثر من ضعف أقرب التطبيقات إليه.
  3. خُمس التخصيص موجود للإجابة عن الأسئلة. التقارير ولوحات المعلومات: 29 وحدة، أي 20%.
  4. الرواتب هي أقل المجالات تخصيصاً. الموارد البشرية والرواتب: 3 وحدات، أي 2%، وهو أصغر المحاور.

لماذا أجريتُ هذا البحث

اسأل مورّد البرنامج عن حجم التخصيص الذي يحتاجه نظام تخطيط موارد المؤسسات (ERP) فستسمع جواباً، واسأل شريك التطبيق فستسمع نقيضه، وكلاهما تسويق. أما الدليل فكان موجوداً أصلاً في عشرة مستودعات git، والشيفرة البرمجية ليس لها موقف تجاري تدافع عنه: فملف manifest يسجّل التطبيق الذي توسّعه الوحدة، وسجل git يسجّل مقدار العمل الذي جرى على أي تطبيق من جهة خارجية بعد تثبيته.

كيف استُخلصت البيانات

حُلّل برمجياً كل ملف __manifest__.py في مستودعات 10 عمليات تطبيق لـ Odoo، فنتج عن ذلك 140 وحدة. والمقصود بالوحدة هنا الوحدة الإضافية الموجودة في مستودع عملية التطبيق، سواء كُتبت داخلياً أو اشتُريت من الخارج، لا تطبيقات Odoo الأساسية نفسها. وقد صُنّفت كل وحدة بناءً على ما يثبته المستودع لا على ما تحفظه الذاكرة:

  • مبنية من الصفر (63 وحدة): كُتبت داخلياً، وتُعرف من حقل المؤلف في ملف manifest ومن اصطلاح التسمية المعتمد لدينا.
  • معدَّلة داخلياً (48 وحدة): تطبيق من جهة خارجية مسّه أكثر من إيداع (commit) واحد في سجل git، أي عمل لاحق لاستيراده، يُقرأ من سجل الإيداعات ولا يُكتفى بادّعائه.
  • مثبّتة كما هي (29 وحدة): موجودة دون أي إيداع لاحق للاستيراد.

تُستمد أعداد الوحدات التي توسّع التطبيقات من قائمة depends في ملف manifest الخاص بكل وحدة، وأعداد المحاور من تصنيف بالكلمات المفتاحية لاسم الوحدة واسمها في ملف manifest وملخّصها. والوحدة الواحدة تعتمد عادةً على عدة تطبيقات وقد تحمل أكثر من محور (فتقرير نقاط البيع، مثلاً، يُحتسب في المحورين معاً: نقاط البيع والتقارير)، ولذلك لا يبلغ مجموع نسب التطبيقات ولا مجموع نسب المحاور 100%. وكل نسبة في هذه الصفحة هي حصة من الوحدات نفسها البالغ عددها 140، وليست حصة من الفئة التي ترد فيها. ولا يُذكر اسم أي عميل: فعمليات التطبيق مرموز إليها من impl-A إلى impl-J، ولا يُحدَّد أي تطبيق من جهة خارجية ولا أي مورّد.

حدود هذه الدراسة

هذه دراسة صغيرة، والأفضل أن تعرف حدودها من أن تكتشفها بنفسك:

  • حجم العيّنة (n = 10). تكشف عشر عمليات تطبيق عن ملامح نمط، لكنها لا تثبت توزيعاً إحصائياً.
  • العيّنة مأخوذة من محفظة مشاريع شركة استشارية واحدة، وقد تشكّلت بحسب العملاء الذين تعاقدوا معنا لا بسحب عيّنة من السوق. وهي ليست عيّنة ممثّلة لسوق Odoo في الإمارات.
  • عدد الوحدات مؤشر تقريبي للجهد وليس مقياساً له. فقد تكون الوحدة الواحدة تعديلاً على حقلين، وقد تستغرق أخرى ربع سنة من العمل الهندسي. ولا شيء هنا يقدّر التكلفة أو الوقت.
  • العيّنة غير متوازنة. فقد تراوح عدد الوحدات في عملية التطبيق الواحدة بين 1 و34 وحدة، بوسيط قدره 8، ولذلك تتحكّم في الإجماليات قلّة من المشاريع الكبيرة.
  • «المعدَّلة» تعريف آلي. فالتطبيق الذي جرت تهيئته بكثافة، عبر Odoo Studio بدلاً من التطوير المخصّص مثلاً، دون أن تُعدَّل شيفرته قط، يُحتسب مثبّتاً كما هو، لأن git لا يرى التهيئة.
  • هذا عمل فريق. فأنا رئيس المشاريع: هذه عمليات تطبيق توليتُ قيادتها، وكتب شيفرتها فريق من المهندسين لا أنا وحدي.

النتيجة الأولى: دفتر الأستاذ يستوعب أكبر قدر من التخصيص

تُعلن 48 وحدة من أصل 140، أي 34%، اعتمادها على account، وهو تطبيق المحاسبة في Odoo، وهذا أكثر من ضعف أقرب التطبيقات إليه: point_of_sale بواقع 22 وحدة (15%).

Odoo apps most often extended by custom modules Horizontal bar chart of the eight Odoo apps most frequently extended across 140 custom modules in 10 implementations. account leads with 48 modules, 34 percent; point_of_sale 22 modules, 15 percent; sale_management 20 modules, 14 percent; mail 17 modules, 12 percent; stock 17 modules, 12 percent; product 10 modules, 7 percent; purchase 10 modules, 7 percent; sale 10 modules, 7 percent. A module usually depends on several apps, so the percentages do not sum to 100. The horizontal axis counts modules from 0 to 50. Which Odoo apps get extended Modules declaring a dependency on each app — a module usually depends on several account 48 (34%) point_of_sale 22 (15%) sale_management 20 (14%) mail 17 (12%) stock 17 (12%) product 10 (7%) purchase 10 (7%) sale 10 (7%) 0 10 20 30 40 50 modules extending the app (of 140; apps overlap, so percentages exceed 100)
التطبيقات التي توسّعها الوحدات الـ 140 محل التحليل؛ والنسب محسوبة من 140. وتعتمد الوحدة عادةً على عدة تطبيقات، ولذلك لا يبلغ مجموع الحصص 100%.
الجدول 1: أكثر تطبيقات Odoo توسيعاً
تطبيق Odooالوحداتالنسبة من 140
account4834%
point_of_sale2215%
sale_management2014%
mail1712%
stock1712%
product107%
purchase107%
sale107%

المصدر: قوائم depends المستخرجة من ملفات manifest الخاصة بالوحدات الـ 140. وتعتمد الوحدة عادةً على عدة تطبيقات.

والسبب في الإمارات ليس لغزاً. فقد غيّرت ضريبة القيمة المضافة ما يتعيّن على الفاتورة أن تثبته، وتغيّر الفوترة الإلكترونية ما يتعيّن أن تكونه الفاتورة ذاتها، ووضعت ضريبة الشركات إطاراً ثانياً لإعداد التقارير فوق دفتر الأستاذ نفسه، وتضاعف هياكل المجموعات التي تجمع شركات في البر الرئيسي وأخرى في المنطقة الحرة كل ذلك بعدد الشركات. وكل هذا يستقر في قيد اليومية والحقول الضريبية (Tax Grids) والتقرير؛ وتفاصيله في دليلين كتبتهما: ضريبة القيمة المضافة الإماراتية في Odoo والإلزام بالفوترة الإلكترونية.

وهناك بندان آخران يستحقان وقفة ثانية. فبلوغ point_of_sale 22 وحدة رقم مرتفع لتطبيق لا يشغّله أصلاً سوى بعض هذه الشركات، لكن الشركة التي تشغّل نقطة بيع تخصّصها تخصيصاً كثيفاً، وهو النمط الذي يقف خلف عملنا في نقاط البيع لقطاع التجزئة في الإمارات. أما mail بواقع 17 وحدة (12%) فلا يعني المراسلة، وإنما الموافقات والإشعارات.

النتيجة الثانية: خُمس التخصيص كله موجود للإجابة عن الأسئلة

وإذا نظرنا بحسب المحور لا بحسب التطبيق، تتصدّر المحاسبة والمالية بواقع 36 وحدة (25%). أما المحور الذي يليها فهو الأكثر إثارة للاهتمام: التقارير ولوحات المعلومات، بواقع 29 وحدة، أي 20%.

What the custom modules were built to do, by theme Horizontal bar chart of ten customisation themes across 140 custom modules in 10 implementations. Accounting and finance 36 modules, 25 percent; reporting and dashboards 29 modules, 20 percent; POS and retail 24 modules, 17 percent; sales and CRM 22 modules, 15 percent; industry-specific 21 modules, 15 percent; access and security 17 modules, 12 percent; inventory and warehouse 14 modules, 10 percent; workflow and automation 10 modules, 7 percent; integration and connector 5 modules, 3 percent; HR and payroll 3 modules, 2 percent. A module can carry more than one theme, so the percentages do not sum to 100. The horizontal axis counts modules from 0 to 40. What the customisation was for Modules by theme — a module can carry more than one theme Accounting / finance 36 (25%) Reporting / dashboards 29 (20%) POS / retail 24 (17%) Sales / CRM 22 (15%) Industry-specific 21 (15%) Access / security 17 (12%) Inventory / warehouse 14 (10%) Workflow / automation 10 (7%) Integration / connector 5 (3%) HR / payroll 3 (2%) 0 10 20 30 40 modules in the theme (of 140; themes overlap, so percentages exceed 100)
الوحدات بحسب المحور؛ والمحاور متداخلة، ولذلك لا يبلغ مجموع النسب 100%.
الجدول 2: الوحدات المخصّصة بحسب المحور
المحورالوحداتالنسبة من 140
المحاسبة / المالية3625%
التقارير / لوحات المعلومات2920%
نقاط البيع / التجزئة2417%
المبيعات / إدارة علاقات العملاء (CRM)2215%
حلول خاصة بقطاعات محدّدة2115%
الصلاحيات / الأمان1712%
المخزون / المستودعات1410%
سير العمل / الأتمتة107%
الربط / الموصّلات53%
الموارد البشرية / الرواتب32%

المصدر: تصنيف بالكلمات المفتاحية لاسم الوحدة واسمها في ملف manifest وملخّصها. والمحاور متداخلة.

وحدة واحدة من كل خمس وحدات لا تؤدّي عملاً تشغيلياً. فهي لا تسجّل عملية بيع، ولا تحرّك مخزوناً، ولا ترحّل قيداً، وإنما وُجدت ليرى أحدهم شيئاً. وتجيب تقارير Odoo القياسية عن الأسئلة القياسية جيداً، لكنها لا تعرف تلك الأرقام القليلة التي تقوم عليها إدارة شركة بعينها.

وفي الرقم نفسه تحذير: فالتقارير أسهل أنواع التخصيص طلباً وأسهلها تراكماً. وخُمس العمل ينفق في موضعه إذا كانت تلك التقارير يُعتمد عليها فعلاً، لكنه يصبح هدراً إذا بُنيت مرة واحدة ثم لم تُفتح بعد ذلك. ويتناول دليلي التقارير ولوحات المعلومات في Odoo ما يستحق أن يُبنى داخلياً وما يجيب عنه Odoo القياسي أصلاً.

النتيجة الثالثة: معظم الوحدات المشتراة احتاجت إلى عمل بعد تثبيتها

48 وحدة من أصل 140 كانت تطبيقات من جهات خارجية اضطرّ فريقنا إلى تعديلها بعد تثبيتها، إذ مسّ كلاً منها أكثر من إيداع واحد في سجل الإيداعات. ولم يمرّ دون مساس سوى 29 وحدة، أي أن عدد الوحدات المشتراة التي جرى تعديلها في هذه المستودعات فاق عدد الوحدات التي بقيت على حالها. أما الوحدات الثلاث الأكثر اشتغالاً فحملت 41 و23 و20 إيداعاً، وحملت كل واحدة من الوحدتين التاليتين 13 إيداعاً.

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

فاحتسب الوحدة المشتراة في ميزانيتك على أنها مكوّن، واسأل قبل الشراء من الذي سيتولى صيانة النسخة المعدَّلة عند الترقية القادمة، وهو من الأسئلة الأدقّ التي تُطرح على الشريك المحتمل.

النتيجة الرابعة: الرواتب وغيابها اللافت

الموارد البشرية والرواتب هي أصغر المحاور: 3 وحدات، أي 2%، وهي الأخيرة بين المحاور العشرة. وكنت أتوقع رقماً أكبر، فالرواتب في الإمارات ترتبط بالتزامات محلية حقيقية، ويطرح العملاء بشأنها أسئلة يشوبها القلق.

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

ما يعنيه هذا إذا كنت تشتري Odoo

  • ضع ميزانية دفتر الأستاذ أولاً. فقد تصدّرت المحاسبة بحسب التطبيق (48 وحدة) وبحسب المحور (36 وحدة)، وهذا هو الموضع الذي تتركّز فيه عادةً تكلفة التطبيق في الإمارات.
  • اسأل عمّا تعنيه «التقارير» قبل أن توقّع. فقد كان خُمس العمل هنا تقارير، وعبارة «التقارير القياسية» تتحوّل غالباً إلى طلب تغيير لاحقاً.
  • سعّر التطبيقات الخارجية بوصفها مكوّنات. فقد احتاجت 48 وحدة منها إلى عمل بعد شرائها، وحملت الوحدة الأكثر اشتغالاً عليها 41 إيداعاً. واسأل من صاحب المسؤولية عن النسخة المعدَّلة عند الترقية.
  • توقّع أن يكون المشروع الصغير صغيراً فعلاً. فقد تراوحت المشاريع هنا بين 1 و34 وحدة، بوسيط قدره 8، أي أن المشروع المعتاد يضم أقل من 10 وحدات.
  • لا تعدّ التخصيص دليل فشل. فبناء 111 وحدة من أصل 140 أو تعديلها هو ما وُجدت المنصّات من أجله، والسؤال هو: هل تستحق كل وحدة كلفة صيانتها؟

الاستشهاد بهذا البحث

يجوز الاقتباس من هذه النتائج ورسمها بيانياً وإعادة إنتاجها مع نسبتها إلى مصدرها بموجب رخصة المشاع الإبداعي «نسب المصنف 4.0» (Creative Commons Attribution 4.0)، ولا أطلب أكثر من رابط يعود إلى هذه الصفحة.

محمد سلمان علي خان (2026). ما تخصّصه الشركات الإماراتية فعلاً في Odoo — تحليل لـ 140 وحدة في 10 عمليات تطبيق. salmanalikhan.com. https://salmanalikhan.com/ar/odoo-customization-research/

ومن أراد معرفة كيفية استخراج أي رقم فله أن يسألني، وسأشرحها له في حدود ما تسمح به سرّية بيانات العملاء.

لا يرد هنا ما يدلّ على عميل، ولا على قطاع قد يكشف هويته، ولا على مورّد تطبيق من جهة خارجية. فالأرقام تصف الوحدات والإيداعات، لا الشركات.

الأسئلة الشائعة

كيف جُمعت هذه البيانات؟
حُلّل برمجياً كل ملف __manifest__.py في مستودعات 10 عمليات تطبيق لـ Odoo، فنتج عن ذلك 140 وحدة. وصُنّفت كل وحدة على أنها مبنية من الصفر أو معدَّلة داخلياً أو مثبّتة كما هي، استناداً إلى حقل المؤلف في ملف manifest وإلى سجل إيداعات git الخاص بالوحدة، لا إلى الذاكرة.
هل هذه عيّنة ممثّلة لسوق Odoo في الإمارات؟
لا، ولا ينبغي أن تُقرأ على هذا النحو. فهذه 10 عمليات تطبيق من محفظة مشاريع شركة استشارية واحدة، تشكّلت بحسب العملاء الذين تعاقدوا معنا لا بسحب عيّنة من السوق. وهي تُظهر شكل التخصيص داخل هذه المحفظة، ولا شيء أوسع منها.
لماذا تستقطب المحاسبة أكبر قدر من التخصيص؟
في هذه العيّنة توسّع 48 وحدة من أصل 140 تطبيق المحاسبة في Odoo، أي 34% من الإجمالي. وأرجح تفسير لمحفظة إماراتية أن ضريبة القيمة المضافة والجاهزية للفوترة الإلكترونية وإعداد تقارير ضريبة الشركات وهياكل المجموعات متعددة الكيانات تصبّ جميعاً في دفتر الأستاذ نفسه، فتتراكم في طبقة المحاسبة كل تلك التغييرات.
هل يعني ارتفاع نسبة التخصيص أن Odoo لا يفي بالغرض بصورته الجاهزة؟
لا. فكون 111 وحدة من أصل 140 قد بُنيت داخلياً أو عُدّلت يقول عمّا تحتاج إليه الشركات أكثر مما يقوله عمّا تفتقر إليه المنصّة. والسؤال المفيد ليس: هل ستخصّص؟ بل: هل يستحق كل تخصيص كلفة صيانته عند كل ترقية؟
هل يمكنني الاستشهاد بهذه الأرقام أو إعادة استخدامها؟
نعم. تُنشر النتائج بموجب رخصة المشاع الإبداعي «نسب المصنف 4.0» (Creative Commons Attribution 4.0): يمكنك الاقتباس منها أو رسمها بيانياً أو إعادة إنتاجها مع نسبتها إلى مصدرها وإدراج رابط يعود إلى هذه الصفحة. وفي قسم «الاستشهاد بهذا البحث» أعلاه سطر مقترح للاستشهاد.

هل تريد رأياً صادقاً في ما سيحتاجه مشروع Odoo لديك فعلاً؟

أنا محمد سلمان علي خان، استشاري Odoo تقني ووظيفي في دبي، ورئيس المشاريع في Techbot Information Technology LLC، وهي من شركاء Odoo في الإمارات، بخبرة تتجاوز 10 سنوات وأكثر من 100 عملية تطبيق، وأحمل شهادات Odoo المعتمدة على الإصدارات v13 وv14 وv15 وv16 وv18 وv19، وقد قدّمتُ Odoo 19 في مؤتمر Odoo Experience 2025 في بروكسل. أخبرني بما تريد تشغيله، وسأبيّن لك ما يغطيه Odoo وما يتعيّن على أحدهم بناؤه.

احصل على تقييم مجاني لأعمالك