شركتان تقدّمان عرضًا على المشكلة نفسها. الأولى ستطبّق أودو (Odoo)، مهيّأً، وببياناتك محمّلة، في أسابيع. والثانية ستبني لك نظامًا يطابق طريقة عملك فعلًا، في شهور. وكلتاهما تصف شيئًا حقيقيًا، وكلتاهما مقتنعة بجوابها، والمدير الواقف بينهما لا يملك ما يميّز به الصواب، لأن السؤال ليس عن البرمجيات في حقيقته.
السؤال هو: أي عملياتك تستحق الدفاع عنها، وأيها ينبغي أن تغيّرها بهدوء لتطابق ما يفعله الجميع؟ ومتى أُجيب عن هذا أجاب قرار البرمجيات عن نفسه غالبًا. وفيما يلي كيف يُجاب عنه، ومنه حالات عدة تكون الخلاصة الأمينة فيها أن تشتري الجاهز وتتوقّف عن القراءة.
ما هو النظام الجاهز فعلًا
المقارنة المنصفة تبدأ بصورة دقيقة لا بصورة كاريكاتورية.
أودو إطار عمل ومعه مكتبة واسعة من التطبيقات — محاسبة، ومخزون، ومشتريات، ومبيعات، وإدارة علاقات عملاء، وتصنيع، ونقاط بيع، ومشروعات، وموارد بشرية — تتشارك قاعدة بيانات واحدة ونموذج بيانات واحدًا. وله إصداران: إصدار مجتمعي برخصة مفتوحة المصدر، وإصدار مؤسسي برخصة اشتراك مدفوع فيه تطبيقات وخدمات إضافية. والأنظمة الأخرى في الفئة نفسها متشابهة البنية: SAP Business One وMicrosoft Dynamics 365 Business Central في السوق التجاري المتوسط، وZoho للأعمال الأصغر والأبسط، وNetSuite أعلى منها، وERPNext خيارًا آخر مفتوح المصدر فعلًا وله حضور حقيقي في المنطقة.
والذي يجعل أودو مثيرًا للاهتمام تقنيًا هو آلية التوسعة فيه. إذ تستطيع وحدة برمجية أن تضيف حقولًا وسلوكًا إلى نموذج قائم دون تعديل شيفرته الأصلية، فتقف تعديلاتك بجانب المنتج القياسي لا داخله. وهذه ميزة هندسية حقيقية أمام الأنظمة التي يلزم تفريعها، وهي سبب إمكان قول عبارة «تخصيص أودو» أصلًا.
وفوق ذلك يقف Studio، وهو طبقة مرئية تتيح إضافة حقول وإعادة ترتيب الشاشات وبناء نماذج وتقارير بسيطة وأتمتة أساسية دون كتابة شيفرة. وStudio مفيد فعلًا وله سقف. أمّا الاعتمادات متعدّدة المراحل باستثناءاتها، ومنطق التسعير المبني على قواعدك أنت، ومنطق حجز مخزون يخالف الحجز القياسي، والتحقّقات العابرة لعدة نماذج، والتكامل الحقيقي مع نظام خارجي، وكل ما هو حسّاس للأداء — فتلك كلها وحدات بلغة بايثون يكتبها مطوّر، لا نقرات في Studio. ومعرفة موضع هذا الخط هي أكثر ما يفرّق بين خطة تنفيذ واقعية وخطة متفائلة.
القرار الذي يُتّخذ بلا تدقيق، وهو أوّلها
قبل ذلك كله: المكان الذي يعمل فيه النظام يحدّد ما يُسمح لك بفعله به.
- الخدمة المستضافة (Odoo Online) تُدار وتُرقّى نيابةً عنك، وهي لا تقبل وحدات مخصّصة ولا تطبيقات طرف ثالث أصلًا. تستطيع التهيئة، وتستطيع استخدام Studio، وذاك هو الحدّ.
- Odoo.sh استضافة مُدارة مبنية على سير عمل git، وهي تقبل الوحدات المخصّصة وتطبيقات الطرف الثالث.
- خوادمك أنت: تستطيع كل شيء، وتملك البنية التحتية والأمن والترقيات.
وتختار الشركات واحدة من هذه في الاجتماع الأول اعتمادًا على الراحة، ثم تكتشف بعد ثمانية عشر شهرًا أن متطلبًا تعدّه اليوم جوهريًا غير قابل للوصول من الموضع الذي تقف فيه. فإن كان في هذا المقال شيء عملي واحد يُؤخذ، فهو أن يُتّخذ هذا الاختيار عن قصد وبالنظر إلى السنوات الثلاث المقبلة.
متى يكون الجاهز هو الجواب الصحيح فعلًا
هذا هو القسم الذي يُفترض بشركة برمجيات أن تتخطّاه، ولذلك يأتي أولًا.
اشترِ الجاهز حين تكون العمليات المعنيّة اعتيادية: قيد مزدوج قياسي، ودورة شراء وسداد عادية، ودخول مخزون وخروجه من مستودع، ومسار مبيعات بمراحله، ورواتب، وكاشير تجزئة. هذه مسائل محلولة. ونسختك منها ليست أفضل من النسخة القياسية، بل هي نسختك فحسب، والدفاع عنها يكلّف مالًا كل سنة بلا عائد. وتهيئة النظام الجاهز على عملية قياسية أرخص من بناء العملية، وأرخص بكثير من صيانتها بعد ذلك.
واشترِ الجاهز حين تكون المطابقة عالية والفجوات شكلية. والأسلوب المعتاد هنا تحليل المطابقة والفجوة (Fit-Gap): تُحصى المتطلبات، ويُؤشَّر على كلٍّ منها بأنه ملبّى جاهزًا، أو ملبّى بالتهيئة، أو فجوة تحتاج تطويرًا. فإن كانت الفجوات قليلة ولا يمسّ أيٌّ منها صميم ما تبيعه، فأنت في موضع شراء.
واشترِ الجاهز حين تكون السرعة أهمّ من الشكل، أو حين لا تملك قدرة تقنية داخلية، أو حين تستبدل به ملفات جداول وأي شيء مُهيكل تحسين. واشترِه حين يكون البديل نظامًا مخصّصًا لا أحد لديه رغبة في صيانته؛ فنظام جاهز مدعوم لا تحبّه خير من نظام خاص لا يملكه أحد.
وشركة البرمجيات التي لا تستطيع قول هذا لك تبيع. فإن كانت شركتك شركة تجارة لها مخزن وإدارة حسابات، وما يجعلها جيدة هو علاقات الشراء عندك لا شيء يفعله حاسوب، فأنت لا تحتاج نظامًا مخصّصًا، وسنقول لك ذلك.
إلى ماذا يتحوّل «تخصيص أودو»
وهنا الجزء الذي يغيب عادةً عن خطة الأسابيع الستة، وليس فيه نقد لأودو؛ فهو حساب أي نظام جاهز تُدخل عليه تعديلات.
تصدر الإصدارات الكبرى سنويًا. ولكل إصدار مدة دعم محدودة، بعدها يكون البقاء عليه إمّا ترتيبًا بتكلفة إضافية وإمّا مخاطرة تحملها بصمت. فالترقية إذن ليست اختيارية، بل حدث متكرّر.
وهنا الآلية المهمة: خدمة الترقية من المنتِج تغطّي التحويل التقني لقاعدة البيانات — الوحدات القياسية وبياناتها — إلى الإصدار الجديد. وهي لا تُرحّل وحداتك المخصّصة. تلك من نصيبك أنت أو نصيب شريك التنفيذ. ولا تستطيع قاعدة البيانات الانتقال إلى الإصدار الجديد قبل أن تتوافر نسخة متوافقة من كل وحدة من وحداتك المخصّصة.
تابع هذا إلى نهايته. كل وحدة مخصّصة تقبلها أثناء التنفيذ ليست كلفة لمرة واحدة، بل اشتراك تدفعه وقتَ مطوّرين عند كل ترقية، ما دام النظام حيًّا. واثنتا عشرة تخصيصة صغيرة وُوفق عليها على عجل أثناء التطبيق هي اثنا عشر شيئًا يجب إعادة اختبارها وإعادة كتابتها غالبًا كلما تحرّكت المنصّة من تحتها. وهذا هو معنى «الدَّين التقني» هنا بصورته الملموسة، وهو سبب أن يكون التطبيق الذي يقول نعم لكل شيء نظامًا عالقًا على إصدار قديم بعد ثلاث سنوات.
ووحدات المجتمع — المكتبة الواسعة المراجَعة التي تصونها جمعية مجتمع أودو (OCA) — تخفّف هذا لأن غيرك يتولّى الترحيل. لكنها لا تلغيه: فتلك الوحدات تُصان لكل إصدار على حدة، ويبقى على أحد من جهتك أن يتابع أيّها انتقل وأيّها لم ينتقل.
النظام الجاهز رخيص في شرائه، غالٍ في مخالفته.
وثمّة كلفة ثانية أهدأ: المنفِّذ. فخيارات التهيئة والوحدات المخصّصة وأسبابها تتراكم معرفةً يحملها الشريك الذي نفّذ العمل. وتغيير الشريك ممكن والناس يفعلونه، لكنه لا يُحتمَل إلا إذا أصررت من الأسبوع الأول على ملكية شيفرة وحداتك المخصّصة، وملكية حساب الاستضافة، وتسلّم توثيق مكتوب. وهو حديث الملكية نفسه في أي مشروع برمجي — ويغطّيه مقال كيف تختار شركة برمجة لمشروعك.
أين يكفّ الجاهز عن المطابقة
أربعة أنماط، وكلها يُعرَف قبل التوقيع.
حين تكون العملية هي العمل نفسه لا الأوراق المحيطة به. إن كان ما تبيعه طريقةً في فعل شيء — تسلسل فحص بعينه، أو أسلوب تسعير، أو قاعدة توزيع هي سبب اختيار العملاء لك — فليّ وحدة قياسية لتقليدها يُنتج شيئًا يعمل نصف عمل ولا يمكن تحسينه بسرعة أبدًا. العمليات الاعتيادية مكانها الجاهز، والعملية التي هي ميزتك الحقيقية ليس مكانها فيه غالبًا.
حين يشترك في النظام أطراف متعارضة المصالح. سوق إلكترونية فيها بائعون مستقلون، أو منصّة لوجستية يحتاج فيها التجّار والمندوبون وغرفة التحكّم كلٌّ رؤيته وحقيقته، أو منصّة صحية تجمع المريض والصيدلية والمورّد. الأنظمة الجاهزة مبنية حول التشغيل الداخلي لشركة واحدة. أمّا الأنظمة متعدّدة الأطراف فموضوعها ما يراه كل طرف وما يفعله وما ينازع فيه، وذلك تصميم مختلف من الأساس.
حين يُجهد الحجمُ والشكلُ النموذجَ القياسي. الجداول التشغيلية الكبيرة والأحجام العالية من الحركات هي موضع ظهور البطء، وسببه عمليًا في الغالب طريقة استعلام الشيفرة المخصّصة من قاعدة البيانات أو إهمال صيانة قاعدة البيانات، لا المنصّة نفسها. لكن قول «الذنب ذنب تخصيصك» عزاء بارد حين يبطؤ الكاشير في آخر الشهر. وعلى نحو مشابه، بعض السلوكيات القياسية بسيطة عن قصد: فجدولة التصنيع القياسية لا تقوم على قيود الطاقة افتراضيًا، والمصنع الذي يحتاج تخطيطًا بطاقة محدودة أمامه إضافة أو تطوير مخصّص في الحالين.
حين يكون مسار الجهة الرقابية محدّدًا ومسارك مختلفًا. قواعد القطاع التي تفرض تسلسل مستندات أو سلسلة اعتمادات أو قاعدة حفظ يمكن تهيئتها أحيانًا ولا يمكن أحيانًا. وهذا سؤال مطابقة وفجوة، ويُجاب عنه أمام جهتك الرقابية أنت لا في العموم.
الامتثال والعربية في هذه المنطقة
يستحق هذا جوابًا صريحًا، والجواب في جانب منه في مصلحة النظام الجاهز.
ففي مصر يأتي أودو بتكامل للفوترة الإلكترونية مع مصلحة الضرائب ضمن التوطين القياسي لا بوصفه إضافة مدفوعة. وتهيئته عمل حقيقي — تسجيل على بوابة المصلحة للحصول على بيانات الاعتماد، وتهيئة الفروع، وإضافة رموز المصلحة إلى الأصناف والعملاء، وتدبير مفتاح توقيع، والاختبار على بيئة ما قبل الإنتاج قبل التشغيل — لكن الوحدة موجودة ويصونها المنتِج. أمّا الإيصالات الإلكترونية لنقاط البيع فمسألة منفصلة: يغطّيها عادةً تطبيق طرف ثالث من متجر التطبيقات لا التوطين القياسي، ومعنى ذلك أن تسأل من يصونه وما الذي يحدث عند الإصدار التالي. ويغطّي مقال ما الذي يجب أن يفعله النظام المحاسبي السليم ما يُفحص في الحالين.
وفي السعودية توجد وحدات توطين تغطّي الفوترة الإلكترونية لدى الهيئة، ومنها المرحلة التي تتطلّب ربطًا لا رمز استجابة سريعة فحسب، ووحدة منفصلة لنقاط البيع. وفي الإمارات توجد وحدة توطين فيها دليل الحسابات المحلي ومجموعات الضريبة وصيغة الإقرار.
أمّا العربية والاتجاه من اليمين إلى اليسار فموضع ينبغي أن تثق فيه بعينيك لا بادّعاء أحد، ومنه ادّعاؤنا نحن. فالدعم كان تاريخيًا أقوى في شاشات الإدارة منه في طبقة الموقع المواجه للجمهور، وتفاوتت الجودة بين الإصدارات. فقبل الالتزام، أدخِل بياناتك العربية في نسخة تجريبية، واطبع المستندات التي سيستلمها عملاؤك فعلًا. عشر دقائق من ذلك تخبرك أكثر من أي عبارة في عرض.
المقارنة بصراحة
| نظام جاهز | نظام يُبنى لك | |
|---|---|---|
| الزمن حتى شيء قابل للاستخدام | أسابيع، إن قبلت العملية القياسية | شهور، وأول نسخة نافعة تأتي قبل آخر خاصية |
| المطابقة | عالية في العمليات الاعتيادية، وتتراجع كلما اقتربت ممّا يميّزك | مطابقة تامة، وبمقدار جودة التفكير الذي سبقها |
| شكل التكلفة | رخصة أو اشتراك مستمر، وتنفيذ، وفاتورة تخصيص عند كل ترقية | كلفة بناء أعلى، ثم استضافة وصيانة تتحكّم فيها |
| الترقيات | منتظمة ومغطّاة إلى حدّ بعيد — إلى أن تُرحَّل وحداتك المخصّصة معها | لا شيء يفرض عليك تغييرًا، وبذلك أيضًا يشيخ النظام بهدوء |
| على من تعتمد | خارطة طريق المنتِج وشريك التنفيذ | من يصون النظام، وهو نقطة فشل واحدة حتى تجعلها اثنتين |
| الخروج | بياناتك قابلة للنقل، وتخصيصاتك لا | تملك كل شيء، وتملك مسؤوليته |
| يفشل حين | تكون عمليتك مختلفة فعلًا وتستمر في الدفع لتتظاهر بغير ذلك | لا يصونه أحد، أو بُني قبل أن يفهم أحد التشغيل |
ولا عمود منهما هو الآمن. هما يفشلان على نحوين مختلفين.
طريقة لاتخاذ القرار
افعل ذلك عمليةً عمليةً لا نظامًا مقابل نظام.
- أحصِ عملياتك. لا الوحدات البرمجية، بل العمليات: من عرض السعر إلى الطلب، ومن الطلب إلى التسليم، ومن الشراء إلى السداد، وإقفال الشهر، والشيء الذي يقضي فيه مدير التشغيل يوم الثلاثاء.
- أشّر على كلٍّ منها: اعتيادية أم مميّزة. الاعتيادية هي التي يتعرّف عليها أي مختصّ من الخارج ولا يختارك عميل بسببها. والمميّزة هي التي تفوز بها بعمل أو تعمل بها أرخص من منافسيك. وكن صارمًا: أغلب العمليات اعتيادية، وتسمية كل شيء مميّزًا أغلى خطأ متاح هنا.
- قارن العمليات الاعتيادية بالنظام الجاهز مطابقةً وفجوة. اطلب من المنفِّذ أن يعرض كلًّا منها ببياناتك أنت لا ببيانات الشركة التجريبية. وسجّل كل فجوة وكيف ستُسدّ: تهيئة، أم Studio، أم وحدة بايثون.
- عدّ الوحدات. كل وحدة مخصّصة في تلك القائمة كلفة ترقية متكرّرة. فإن كان العدد صغيرًا فالجاهز هو الفائز. وإن كانت القائمة طويلة فأنت على وشك بناء نظام مخصّص داخل إطار عمل شركة أخرى، بكل قيوده وبلا شيء من حرّيته.
- انظر في العمليات المميّزة على حدة. إن كانت قليلة وسطحية فالجاهز مع بعض التطوير كافٍ. وإن كانت إحداها قلب التشغيل في الشركة فانظر في بناء ذلك الجزء بناءً صحيحًا.
وهذه النقطة الأخيرة تصف الترتيب الأنجح عمليًا والأقلّ عرضًا: النظام الجاهز للدفاتر وللمكتب الخلفي الاعتيادي، ونظام مخصّص للتشغيل الذي هو لك فعلًا، وتكامل مقصود بينهما. وهو ترتيب صادق مع مواضع القوة في كل نهج. وليس مجانيًا — فالتكامل عمل قائم بذاته، ويجب أن يملكه أحد، والنظامان يعنيان مجموعتَي بيانات رئيسية قد تتعارضان — ولذلك لا يستحق مكانه إلا حين يكون النصفان كبيرين.
ما ينبغي ألّا تثق به وأنت تقرّر
لا تثق بنسب فشل مشروعات الأنظمة المنشورة. فالنسب المتداولة تأتي من مسوح لا تُفصح عن عيّناتها أو تعرّف الفشل تعريفًا متنازعًا عليه، وتُستخدم في البيع في الاتجاهين معًا. أمّا أن التطبيقات تتجاوز الوقت والموازنة كثيرًا فصحيح وموثّق؛ وأمّا رقم بعينه فليس ممّا ينبغي أن تُدخله في قرار.
ولا تثق بعرض توضيحي. فالعروض تعمل على بيانات محضَّرة في شركة نظيفة، وكل نظام يبدو قادرًا فيها. اطلب أن ترى حالتك الشائكة أنت: المرتجع باسترداد جزئي على فاتورة من فترة مقفلة، والطلب المقسوم على فرعين، والعميل الذي له ثلاثة تسجيلات ضريبية.
ولا تثق بعبارة «نستطيع تخصيص أي شيء». فهي صحيحة تقنيًا في كل منصّة، وهي الجملة التي تُنتج مشكلة الوحدات الاثنتي عشرة عند الترقية. والجواب الصحيح عن فجوة يكون أحيانًا أن تغيّر عمليتك أنت، والمنفِّذ الذي لا يقول ذلك أبدًا لا يحميك.
ولا تثق بعرض نظام مخصّص لا يعترف للجاهز بشيء. فالشركة التي تقترح البناء لك ولا تستطيع تسمية أجزاء من تشغيلك يعالجها نظام جاهز معالجةً أفضل لم تفهم تشغيلك، بل فهمت فاتورتها هي. ويغطّي مقال كم يكلّف نظام مخصّص كيف يُقرأ الرقم الذي يتلو ذلك.
إن أردت قرارًا مبنيًا على دليل
نفّذ تحليل المطابقة والفجوة قبل الالتزام بأي من الطريقين؛ فهو رخيص، ومخرجاته ملكك، وهو وحده ما يحوّل هذا إلى قرار بدل أن يبقى تفضيلًا. تبني Softwiro أنظمة مخصّصة، وتقول لك حين يكون النظام الجاهز هو الجواب الأفضل لشركتك — تواصل معنا إن أردت هذه المقارنة مُجراة كما ينبغي.