سَـــنَد Advisory note · Riyadh مذكرة استشارية · الرياض
ERP platform evaluation تقييم منصات تخطيط موارد المؤسسات

One person built it.That is the whole problem. بناه شخص واحد.وهنا تكمن المشكلة.

Sudiana's ERP is genuinely well engineered, and it carries one point of failure that no amount of good engineering can fix: a single person writes it, understands it, patches it and supports it. Here is how it stands against Odoo, Oracle and Dynamics 365 on the criteria a food exporter under Saudi regulation is actually judged on. نظام سوديانا مبنيٌّ بهندسة جيدة فعلًا، لكنه يحمل نقطة فشل واحدة لا يعالجها أي قدر من جودة البرمجة: شخص واحد يكتبه ويفهمه ويصلحه ويدعمه. وهذه مقارنته بأودو وأوراكل وDynamics 365 على المعايير التي تُقاس بها فعليًا شركةُ تصديرٍ غذائي تعمل تحت الأنظمة السعودية.

Prepared by SanadAIsإعداد سند 30 Aug 202630 أغسطس 2026 app.sudiana.net Basis: hands-on testing, Aug 2026الأساس: فحص ميداني، أغسطس 2026 Currency: SARالعملة: ريال سعودي
The engineeringالهندسة Better than expectedأفضل من المتوقع

Authenticated testing found no critical security flaw, solid tenant isolation, strict input validation and real per-permission access control. The developer is competent.لم يكشف الفحص الموثَّق أي ثغرة أمنية حرجة؛ عزل المستأجرين متين، والتحقق من المدخلات صارم، وضبط الصلاحيات حقيقي على مستوى كل صلاحية. المطوّر كفؤ.

The productالمنتج Roughly a third builtمبنيٌّ بمقدار الثلث تقريبًا

A 92-endpoint sweep found the stock ledger returning an error on every call, and payments, costing, work orders, warehouses, contracts and quality checks present in the menu but absent behind it.فحصٌ شمل 92 واجهة برمجية وجد سجل المخزون يفشل في كل استدعاء، ووجد المدفوعات والتكاليف وأوامر التشغيل والمستودعات والعقود وفحوصات الجودة موجودةً في القائمة وغائبةً خلفها.

The platformالمنصة Not a defensible system of recordليست سجلًا مؤسسيًا يمكن الدفاع عنه

No second maintainer, no support contract, no assurance report, no ZATCA e-invoicing path, no partner market. These are structural gaps, not gaps more code can close.لا مطوّر ثانٍ، ولا عقد دعم، ولا تقرير ضمان مستقل، ولا مسار لفوترة هيئة الزكاة والضريبة، ولا سوق شركاء. هذه فجوات بنيوية لا يسدّها مزيد من الكود.

01 — The fieldالخيارات

What is actually being comparedما الذي تجري مقارنته فعلًا

"Oracle" and "365" each cover two very different products at two very different scales. Comparing a mid-size exporter's ERP to Oracle Fusion is not a fair fight in either direction, so the tier is stated for each.اسم «أوراكل» واسم «365» يغطي كلٌّ منهما منتجين مختلفين تمامًا وبحجمين مختلفين تمامًا. ومقارنة نظام شركة تصدير متوسطة بـOracle Fusion ليست مقارنة عادلة في أي اتجاه، لذا نذكر الفئة لكل خيار.

Bespoke · 1 developerمخصص · مطوّر واحد

Sudiana ERPنظام سوديانا

Next.js front end, NestJS API, Postgres, a single VPS behind Caddy. Thirteen modules, Arabic-first RTL, a closed system with admin-issued accounts. Purpose-built for peanut and food-ingredient export.واجهة Next.js وواجهة برمجية NestJS وقاعدة Postgres على خادم افتراضي واحد خلف Caddy. ثلاثة عشر وحدة، وواجهة عربية أولًا من اليمين لليسار، ونظام مغلق بحسابات يُنشئها المسؤول. مبني خصيصًا لتصدير الفول السوداني ومكونات الأغذية.

Fit: perfect. Coverage: partial. Continuity: none.المطابقة: تامة. التغطية: جزئية. الاستمرارية: معدومة.
Open-core suite · SMB → mid-marketمنظومة مفتوحة النواة · للمنشآت الصغيرة والمتوسطة

Odoo

Community (free, self-hosted) or Enterprise (per user). Full accounting, inventory, manufacturing, quality, purchasing, CRM and HR, plus a large app store. Widely deployed across the Kingdom with a real Riyadh and Jeddah partner base and a maintained Saudi localisation.نسخة مجتمعية مجانية ذاتية الاستضافة، أو نسخة مؤسسية بالاشتراك لكل مستخدم. محاسبة ومخزون وتصنيع وجودة ومشتريات وعلاقات عملاء وموارد بشرية كاملة، مع متجر تطبيقات واسع. منتشر في المملكة بقاعدة شركاء حقيقية في الرياض وجدة، ومع تعريب وتوطين سعودي مُحدَّث.

The realistic peer for a business this size.النظير الواقعي لمنشأة بهذا الحجم.
Enterprise cloud · NetSuite / Fusionسحابة مؤسسية · NetSuite / Fusion

Oracle

NetSuite is the mid-market product; Fusion Cloud ERP the large-enterprise one. The deepest financial controls and statutory content of the four, with Oracle cloud regions inside the Kingdom — and the heaviest cost, implementation and process rigidity.NetSuite منتج السوق المتوسط، وFusion Cloud ERP منتج المؤسسات الكبرى. أعمق الخيارات الأربعة في الضوابط المالية والمحتوى النظامي، وله مناطق سحابية داخل المملكة — وهو الأثقل كلفةً وتنفيذًا وجمودًا في الإجراءات.

Over-scoped below roughly 200 staff.أكبر من الحاجة دون نحو 200 موظف.
Microsoft cloud · BC / F&Oسحابة مايكروسوفت · BC / F&O

Dynamics 365

Business Central for SMB, Finance & Operations for enterprise. Business Central is the direct Odoo competitor: strong finance, native Microsoft 365 and Power BI integration, a large Saudi partner channel and a Microsoft cloud region in the Kingdom.‏Business Central للمنشآت الصغيرة والمتوسطة، وFinance & Operations للمؤسسات. وBusiness Central هو المنافس المباشر لأودو: محاسبة قوية، وتكامل أصيل مع Microsoft 365 وPower BI، وقناة شركاء سعودية واسعة، ومنطقة سحابية لمايكروسوفت داخل المملكة.

The other realistic peer, given a strong local partner.النظير الواقعي الآخر، بشرط وجود شريك محلي قوي.
02 — Scorecardجدول التقييم

Sixteen criteria, scored 0–5ستة عشر معيارًا، بتقييم من 0 إلى 5

Scored for a food exporter of roughly 30–150 staff dealing in lots, certificates of analysis, phytosanitary paperwork and letters of credit, operating under Saudi regulation. Higher is better in every row; rows tagged KSA are Kingdom-specific.التقييم موضوع لشركة تصدير غذائي بين 30 و150 موظفًا تتعامل بالتشغيلات وشهادات التحليل والشهادات الصحية والاعتمادات المستندية، وتعمل تحت الأنظمة السعودية. الأعلى أفضل في كل صف؛ والصفوف الموسومة «السعودية» خاصة بالمملكة.

Criterionالمعيار Sudianaسوديانا Odoo Oracle Dynamics 365
Continuity / bus factorالاستمرارية ومعامل الشخص الواحدWho keeps it alive if the author stopsمن يُبقيه حيًّا إذا توقّف كاتبه
1
4
5
5
ZATCA Phase 2 e-invoicingالفوترة الإلكترونية — المرحلة الثانيةKSAالسعوديةFatoora clearance, reporting, cryptographic stampإجازة فاتورة، والإبلاغ، والختم التشفيري
0
4
5
5
Functional coverage todayالتغطية الوظيفية اليومWorking modules, not menu entriesوحدات تعمل فعلًا، لا عناوين في القائمة
2
5
5
5
Fit without customisationالمطابقة دون تخصيصLots, COAs, allergens, export documentsالتشغيلات وشهادات التحليل والمواد المسببة للحساسية ومستندات التصدير
5
3
2
2
Statutory & tax upkeepمواكبة الأنظمة والضرائبKSAالسعوديةVAT, GOSI, WPS, customs, IFRS changesضريبة القيمة المضافة والتأمينات وحماية الأجور والجمارك والمعايير المحاسبية
1
4
5
5
Integration ecosystemمنظومة التكاملBanks, shipping, BI, payroll, e-commerceالبنوك والشحن وتحليل البيانات والرواتب والتجارة الإلكترونية
1
5
4
5
Local partner marketسوق الشركاء المحليينKSAالسعوديةFirms in Riyadh or Jeddah who can take it overشركات في الرياض أو جدة تستطيع تسلّم النظام
0
5
4
5
Support & SLAالدعم واتفاقية مستوى الخدمةContractual response when it breaks at 2amاستجابة تعاقدية حين يتعطل النظام في الثانية فجرًا
1
4
5
5
Third-party assuranceالضمان المستقلISO 27001, SOC 1 / SOC 2 for your auditorشهادات ISO 27001 وSOC 1 وSOC 2 لمراجعك
0
4
5
5
Financial controls maturityنضج الضوابط الماليةPeriod close, segregation of duties, audit trailإقفال الفترات وفصل المهام وأثر المراجعة
2
4
5
5
Data residency & PDPLموطن البيانات ونظام حماية البياناتKSAالسعوديةWhere the data physically sits; SDAIA dutiesأين تقع البيانات فعليًا، والتزامات «سدايا»
3
4
5
5
Availability & disaster recoveryالإتاحة والتعافي من الكوارثRedundancy, tested restores, RTO and RPOالتكرار، واستعادة مُختبَرة، وزمن ونقطة التعافي
1
4
5
5
Speed of changeسرعة التغييرTime from "we need this" to liveمن «نحتاج هذا» إلى التشغيل
5
4
2
2
Five-year cost of ownershipكلفة التملك على خمس سنواتLicences plus the people to run itالتراخيص إضافةً إلى من يشغّله
2
5
2
3
Scalability headroomهامش التوسع10× transactions, more entities, more countriesعشرة أضعاف الحركات، وكيانات ودول أكثر
2
4
5
5
Exit & portabilityالخروج وقابلية النقلGetting your data and process outإخراج بياناتك وإجراءاتك
3
4
2
3
Total — out of 80المجموع — من 80 28 67 66 70

Swipe the table sideways to see all four platforms →اسحب الجدول أفقيًا لعرض المنصات الأربع ←

0 absent · 1 critical gap · 2 weak · 3 adequate · 4 strong · 5 best in class0 معدوم · 1 فجوة حرجة · 2 ضعيف · 3 كافٍ · 4 قوي · 5 الأفضل في فئته Totals are unweighted; read the rows, not the sum.المجاميع غير مرجّحة؛ اقرأ الصفوف لا الحاصل.

Note where the custom build wins: fit and speed of change, both at maximum. That is real, and it is the whole reason the system exists. Everything it loses on is a property of the organisation behind the software, not of the software itself — and no release will change it. لاحظ أين يفوز النظام المخصص: المطابقة وسرعة التغيير، وكلاهما في أعلى درجة. وهذا مكسب حقيقي، وهو سبب وجود النظام أصلًا. أما كل ما يخسر فيه فهو صفة في المنظمة التي خلف البرنامج، لا في البرنامج نفسه — ولن يغيّره أي إصدار جديد.

03 — Saudi complianceالالتزام النظامي السعودي

Five Saudi obligations one developer must carry aloneخمسة التزامات سعودية يحملها مطوّر واحد وحده

This is where a custom ERP stops being a preference and becomes a liability. Each of the following is shipped, certified and maintained by the three vendors. For Sudiana, each is a build project competing for the same single pair of hands.هنا يتحوّل النظام المخصص من تفضيل إلى التزام مالي ونظامي. كل بند مما يلي يأتي جاهزًا ومعتمدًا ومُحدَّثًا لدى المزوّدين الثلاثة. أما في سوديانا فكل بند مشروع بناء يزاحم غيره على اليدين نفسهما.

ZATCA · فاتورة

Phase 2 e-invoicing integrationتكامل الفوترة الإلكترونية — المرحلة الثانية

Not a PDF with a QR code. Phase 2 means UBL 2.1 XML, an ECDSA secp256k1 cryptographic stamp, an X.509 certificate obtained per EGS unit through compliance-then-production CSID onboarding, a TLV-encoded QR on every invoice, gapless sequential numbering, Riyadh-local timestamps, and two distinct flows — synchronous Clearance for standard B2B invoices, asynchronous Reporting within 24 hours for simplified ones.ليست ملف PDF عليه رمز استجابة سريعة. المرحلة الثانية تعني ملف UBL 2.1، وختمًا تشفيريًا بخوارزمية ECDSA secp256k1، وشهادة X.509 تُستخرج لكل وحدة إصدار عبر تسجيل امتثال ثم إنتاج، ورمز QR بترميز TLV على كل فاتورة، وترقيمًا متسلسلًا بلا فجوات، وتوقيتًا بتوقيت الرياض، ومسارين منفصلين: الإجازة الفورية لفواتير الأعمال، والإبلاغ خلال 24 ساعة للفواتير المبسطة.

SanadAIs scoped exactly this for its own billing platform and rated the leading Node SDK medium confidence, one-week spike required — for a team that does this for a living.درست «سند» هذا الأمر نفسه لمنصتها للفوترة، وقيّمت أفضل مكتبة متاحة بأنها ثقة متوسطة تحتاج أسبوع دراسة — وذلك لفريق هذا عمله اليومي.
ZATCA · الزكاة والضريبة والجمارك

VAT and audit defensibilityضريبة القيمة المضافة وقابلية الدفاع أمام المراجعة

15% VAT with correct treatment of exports, zero-rating and reverse charge; retention of invoices in a form the authority accepts; and books that survive an inspection. A tax auditor asking how invoices are generated and controlled expects an answer that names a recognised system, not a private codebase.ضريبة بنسبة 15% مع معالجة صحيحة للصادرات والتوريدات الخاضعة للنسبة الصفرية والاحتساب العكسي، وحفظ الفواتير بصيغة تقبلها الهيئة، ودفاتر تصمد أمام التفتيش. والمفتش الضريبي حين يسأل كيف تُصدر الفواتير وتُضبط ينتظر إجابةً تُسمّي نظامًا معروفًا، لا كودًا خاصًا.

Vendor localisation packs track rate and rule changes; here, someone must read the circular and code it.حزم التوطين لدى المزوّدين تتابع تغيّر النسب والقواعد؛ أما هنا فعلى شخصٍ أن يقرأ التعميم ويبرمجه.
GOSI · قوى · مُدد

Payroll and labour reportingالرواتب والتقارير العمالية

Wage Protection System files in the accepted format, GOSI contribution calculations, end-of-service benefit rules, Saudisation and Nitaqat headcount reporting, and contract data consistent with Qiwa. Getting the WPS file wrong is not a bug report — it is a compliance flag against the employer.ملفات حماية الأجور بالصيغة المعتمدة، واحتساب اشتراكات التأمينات الاجتماعية، وقواعد مكافأة نهاية الخدمة، وتقارير السعودة والنطاقات، وبيانات عقود متسقة مع «قوى». والخطأ في ملف حماية الأجور ليس بلاغ خلل برمجي — بل مخالفة تُسجَّل على صاحب العمل.

Testing found Sudiana's HR contracts module has no implementation behind its permissions.كشف الفحص أن وحدة عقود الموارد البشرية في سوديانا بلا تنفيذ خلف صلاحياتها.
SFDA · الجمارك · فسح

Food traceability and export documentsتتبع الأغذية ومستندات التصدير

Food import and export requires SFDA registration and product listings, health and phytosanitary certificates, halal documentation where applicable, and customs declarations through the national single window. Every one of these hangs off lot-level traceability — the exact thing the dead stock ledger is supposed to provide.يتطلب استيراد الأغذية وتصديرها تسجيلًا لدى الهيئة العامة للغذاء والدواء وقوائم منتجات، وشهادات صحية وشهادات الصحة النباتية، ووثائق الحلال عند الاقتضاء، وبيانات جمركية عبر النافذة الوطنية الموحدة. وكل واحدة منها تقوم على التتبع على مستوى التشغيلة — وهو بالضبط ما يُفترض أن يوفره سجل المخزون المعطّل.

The one confirmed critical defect sits directly under this obligation.الخلل الحرج الوحيد المؤكَّد يقع تحت هذا الالتزام مباشرة.
SDAIA · حماية البيانات

Personal data protectionحماية البيانات الشخصية

Employee and counterparty data brings PDPL duties: lawful basis, retention limits, breach notification, a named data protection officer, and controls on transfers outside the Kingdom. Where the server physically sits becomes a compliance question, not an infrastructure preference.بيانات الموظفين والأطراف المقابلة تستدعي التزامات نظام حماية البيانات الشخصية: أساس نظامي للمعالجة، وحدود للاحتفاظ، وإشعار عند التسريب، ومسؤول مُسمّى لحماية البيانات، وضوابط على النقل خارج المملكة. وموقع الخادم الفعلي يصبح مسألة التزام، لا تفضيلًا تقنيًا.

Self-hosting is an advantage here — but only once the box is actually inside the Kingdom and documented.الاستضافة الذاتية ميزة هنا — لكن فقط متى كان الخادم داخل المملكة فعلًا وموثَّقًا.
Stated assumption.افتراض معلن. This section assumes Sudiana is, or is becoming, a Saudi-registered and VAT-registered entity. If the company trades only outside the Kingdom, substitute the equivalent authorities in its jurisdiction — the structural argument is unchanged, but these five rows and their scores fall away. Confirm the entity's CR status before this note goes to a third party. يفترض هذا القسم أن سوديانا كيان مسجّل في المملكة ومسجّل في ضريبة القيمة المضافة، أو في طريقه لذلك. فإن كانت الشركة تعمل خارج المملكة فقط، فاستبدل الجهات المناظرة في نطاقها — الحجة البنيوية لا تتغير، لكن هذه البنود الخمسة ودرجاتها تسقط. تأكّد من وضع السجل التجاري قبل إرسال هذه المذكرة لطرف ثالث.
04 — The argumentجوهر المشكلة

Why one builder is the wrong shape for a system of recordلماذا لا يصلح بانٍ واحد لنظام يمسك سجلّ المؤسسة

Ordered by severity. The first three cannot be engineered away; the rest are chronic taxes the business pays forever.مرتّبة بحسب الخطورة. الثلاثة الأولى لا تُحلّ بالهندسة؛ والبقية ضرائب مزمنة تدفعها المنشأة دائمًا.

Fatalقاتل

The bus factor is literally oneمعامل الشخص الواحد يساوي واحدًا حرفيًا

One person holds the entire mental model: the schema, the posting rules, the deploy path, the reasoning behind every design decision. If they resign, fall ill, raise their price or fall out with the company, the system that runs purchasing, inventory, invoicing and payroll becomes a black box nobody can change — and the business cannot stop trading while someone reverse-engineers it. There is no second reader of this code.شخص واحد يحمل الصورة الذهنية كاملة: بنية البيانات، وقواعد القيود، ومسار النشر، ومبررات كل قرار تصميمي. فإن استقال أو مرض أو رفع سعره أو اختلف مع الشركة، صار النظام الذي يدير المشتريات والمخزون والفوترة والرواتب صندوقًا مغلقًا لا أحد يستطيع تعديله — والمنشأة لا تستطيع إيقاف نشاطها ريثما يفكّك أحدهم الكود. لا قارئ ثانيًا لهذا الكود.

Alternatives:البدائل: Odoo has partner firms in Riyadh and Jeddah and a public codebase; Oracle and Microsoft are contractually obliged to keep the product alive. Any of them can be handed to a different implementer within weeks.لأودو شركاء في الرياض وجدة وكود مفتوح، وأوراكل ومايكروسوفت ملزمتان تعاقديًا بإبقاء المنتج حيًّا. وأي منها يمكن تسليمه لمنفّذ آخر خلال أسابيع.
Fatalقاتل

The menu is not the productالقائمة ليست المنتج

Thirteen modules appear in the navigation. Testing every endpoint behind them found the stock ledger dead, and payments, costing, warehouses, work orders, HR contracts and quality checks defined as permissions with no route behind them. A solo builder ships breadth first because breadth demos well; depth — the closing entries, the landed-cost allocation, the credit note that reverses correctly — is where the years go, and it is not there yet.تظهر ثلاث عشرة وحدة في القائمة. وفحص كل واجهة برمجية خلفها وجد سجل المخزون معطّلًا، ووجد المدفوعات والتكاليف والمستودعات وأوامر التشغيل وعقود الموارد البشرية وفحوصات الجودة معرّفةً كصلاحيات بلا مسار خلفها. البانِي المنفرد يُطلق الاتساع أولًا لأن الاتساع يبدو جيدًا في العرض؛ أما العمق — قيود الإقفال، وتوزيع التكلفة حتى الوصول، وإشعار الدائن الذي يعكس القيد بشكل صحيح — فهناك تذهب السنوات، وهو غير موجود بعد.

Alternatives:البدائل: the three vendors have shipped these paths for 20–45 years across tens of thousands of companies. Every edge case you are about to discover, someone already reported and someone already fixed.المزوّدون الثلاثة يطلقون هذه المسارات منذ 20 إلى 45 سنة عبر عشرات آلاف الشركات. وكل حالة طرفية أنت على وشك اكتشافها، سبق أن أبلغ عنها أحدٌ وأصلحها آخر.
Fatalقاتل

Saudi regulation moves faster than one developerالأنظمة السعودية تتحرك أسرع من مطوّر واحد

ZATCA waves, VAT rulings, WPS format revisions, SFDA product requirements and customs procedures change continually, each with a deadline attached. Vendors employ localisation teams and ship the change as an update before that deadline. A solo developer must read the regulation, interpret it, build it and test it — while also fixing today's bugs. Miss it and the exposure is penalties and blocked shipments, not a support ticket.موجات الفوترة الإلكترونية، وقرارات ضريبة القيمة المضافة، وتعديلات صيغة حماية الأجور، ومتطلبات الهيئة العامة للغذاء والدواء، والإجراءات الجمركية تتغير باستمرار، ولكلٍّ منها موعد نهائي. المزوّدون يوظفون فرق توطين ويطلقون التغيير كتحديث قبل الموعد. أما المطوّر المنفرد فعليه أن يقرأ النظام ويفسّره ويبنيه ويختبره — بينما يصلح أخطاء اليوم أيضًا. وإن فاته الموعد فالتبعة غرامات وشحنات موقوفة، لا تذكرة دعم فني.

Alternatives:البدائل: statutory content is the single biggest reason Saudi mid-market firms buy rather than build. It is the part nobody maintains alone.المحتوى النظامي هو أكبر سبب منفرد يجعل شركات السوق المتوسط في السعودية تشتري بدل أن تبني. وهو الجزء الذي لا يصونه أحد بمفرده.
Severeخطير

Your auditor and your bank have nothing to rely onمراجعك وبنكك لا يجدان ما يستندان إليه

External auditors test IT general controls; trade financiers and large buyers ask what runs your traceability. For a named platform they accept the vendor's SOC 1, SOC 2 or ISO 27001 report and move on. For a private ERP there is no report, so they must test your controls directly — which costs more, takes longer, and can end with the system judged unreliable for financial reporting. For food export specifically, BRCGS and HACCP traceability audits ask the same question about lot records.المراجعون الخارجيون يختبرون الضوابط العامة لتقنية المعلومات، ومموّلو التجارة وكبار المشترين يسألون عمّا يدير التتبع لديك. ومع منصة معروفة يقبلون تقرير المزوّد ويمضون. أما مع نظام خاص فلا تقرير، فيضطرون لاختبار ضوابطك مباشرة — وهو أغلى وأطول، وقد ينتهي بالحكم على النظام بأنه غير موثوق لأغراض التقارير المالية. وفي تصدير الأغذية تحديدًا تطرح مراجعات BRCGS وHACCP السؤال نفسه عن سجلات التشغيلات.

Alternatives:البدائل: assurance reports are a purchased commodity for the vendors, and an unaffordable annual project for a one-person team.تقارير الضمان سلعة يشتريها المزوّدون، ومشروع سنوي لا يقدر عليه فريق من شخص واحد.
Severeخطير

Every integration is a bespoke projectكل تكامل مشروع مستقل

Bank statement import from a Saudi bank, letter-of-credit paperwork, shipping line bookings, payment gateways, payroll and WPS submission, WhatsApp notifications, Power BI, the customs single window, a customer's EDI feed. On Odoo or Business Central most of these are an app you install and configure in an afternoon. Here, each is a fresh build by the same one person, competing for the same hours as everything else — and each becomes another piece only they can maintain.استيراد كشوف الحساب من بنك سعودي، ومستندات الاعتماد المستندي، وحجوزات خطوط الشحن، وبوابات الدفع، والرواتب ورفع ملف حماية الأجور، وإشعارات واتساب، وPower BI، والنافذة الجمركية الموحدة، وقناة EDI لعميل. في أودو أو Business Central معظم هذه تطبيقٌ تُثبّته وتضبطه في بعد ظهر واحد. أما هنا فكلٌّ منها بناء جديد من الشخص نفسه، يزاحم غيره على الساعات نفسها — ويصير قطعةً أخرى لا يصونها سواه.

Alternatives:البدائل: the Odoo app store and the Microsoft and Oracle partner catalogues turn integrations into procurement decisions instead of engineering projects.متجر تطبيقات أودو وأدلة شركاء مايكروسوفت وأوراكل تحوّل التكاملات إلى قرارات شراء بدل أن تكون مشاريع هندسية.
Severeخطير

Support is a phone number, not a contractالدعم رقم هاتف، لا عقد

When posting fails during month-end close, or the server dies during a shipment window, the escalation path is one person's availability. No SLA, no on-call rotation, no second line, no status page, no credit for downtime. Holidays, sleep and other clients are all single points of failure for your operations.حين تفشل القيود أثناء إقفال الشهر، أو يتوقف الخادم في نافذة شحن، فمسار التصعيد هو توفّر شخص واحد. لا اتفاقية مستوى خدمة، ولا مناوبة، ولا خط ثانٍ، ولا صفحة حالة، ولا تعويض عن التوقف. الإجازات والنوم والعملاء الآخرون كلها نقاط فشل منفردة في تشغيلك.

Alternatives:البدائل: named response times, a hosted platform with published uptime, and a partner who can be replaced if they fail to meet it.أزمنة استجابة محددة، ومنصة مستضافة بنسبة إتاحة معلنة، وشريك يمكن استبداله إن أخلّ بها.
Chronicمزمن

There is no labour market for this codebaseلا سوق عمل لهذا الكود

"Odoo developer" and "Business Central partner" are things you can hire this month in Riyadh, at a known rate. "Developer who knows the Sudiana codebase" has a market of one. Adding a second developer means months of ramp-up on undocumented decisions before they are productive — which is exactly why it never gets done while the first developer is still available.«مطوّر أودو» و«شريك Business Central» وظائف يمكن توظيفها هذا الشهر في الرياض بسعر معروف. أما «مطوّر يعرف كود سوديانا» فسوقه شخص واحد. وإضافة مطوّر ثانٍ تعني شهورًا من التأهيل على قرارات غير موثّقة قبل أن ينتج — وهذا بالضبط سبب تأجيلها دائمًا ما دام الأول متاحًا.

Alternatives:البدائل: skills are transferable and priced by a market, so capacity can be bought when it is needed.المهارات قابلة للنقل ويُسعّرها السوق، فيمكن شراء الطاقة وقت الحاجة.
Chronicمزمن

Security posture is a snapshot, not a processالوضع الأمني لقطة، لا عملية مستمرة

To be fair to the build: the security testing came back strong. But posture decays. Node, Next.js and NestJS ship security patches continuously; a dependency advisory lands the week the developer is deep in a feature and nobody is watching. Vendors run product security teams, advisories, disclosure programmes and forced patch cycles. Here, patching competes with everything else for one person's attention, and nothing enforces it.إنصافًا للنظام: جاءت نتائج الفحص الأمني قوية. لكن الوضع الأمني يتآكل. فـNode وNext.js وNestJS تصدر ترقيعات أمنية باستمرار، وينزل تنبيه في أسبوع يكون المطوّر فيه غارقًا في ميزة ولا أحد يراقب. المزوّدون لديهم فرق أمن منتج وتنبيهات وبرامج إفصاح ودورات ترقيع إلزامية. أما هنا فالترقيع يزاحم كل شيء آخر على انتباه شخص واحد، ولا شيء يفرضه.

Alternatives:البدائل: managed cloud ERPs patch under you. Self-hosted Odoo still needs discipline — but has published advisories and a community that finds issues for you.الأنظمة السحابية المُدارة تُرقّع من تحتك. وأودو ذاتي الاستضافة يحتاج انضباطًا كذلك — لكن له تنبيهات منشورة ومجتمع يكتشف المشكلات نيابةً عنك.
Chronicمزمن

No QA function, so quality is whatever one person's day allowedلا وظيفة جودة، فالجودة بقدر ما سمح به يوم شخص واحد

A single-day external sweep surfaced twenty issues, including inconsistent error formats, three different pagination shapes, a trial balance that accepts an inverted date range, and a permission model whose owner role cannot create records in five modules. None are catastrophic; collectively they are the signature of software with no independent tester. Nobody is paid to try to break it before your accountant does.فحص خارجي ليوم واحد أظهر عشرين ملاحظة، منها صيغ أخطاء غير متسقة، وثلاثة أشكال مختلفة لتقسيم الصفحات، وميزان مراجعة يقبل نطاق تاريخ معكوسًا، ونموذج صلاحيات لا يستطيع فيه دور «المالك» إنشاء سجلات في خمس وحدات. لا شيء منها كارثي؛ لكنها مجتمعةً بصمة برنامج بلا مختبِر مستقل. لا أحد يتقاضى أجرًا ليحاول كسره قبل أن يكسره محاسبك.

Alternatives:البدائل: release trains, regression suites, beta channels and a user base of thousands who hit the bug before you do.دورات إصدار منتظمة، وحزم اختبار انحدار، وقنوات تجريبية، وقاعدة مستخدمين بالآلاف يصطدمون بالخلل قبلك.
05 — Evidenceنتائج الفحص

What the testing actually foundما وجده الفحص فعلًا

Black-box and authenticated testing of app.sudiana.net and its demo instance, August 2026: three security passes plus a four-lane functional sweep of roughly 92 endpoints as an owner-role user. Findings are dated — some may since be fixed.فحص من الخارج وفحص موثَّق لموقع app.sudiana.net ونسخته التجريبية في أغسطس 2026: ثلاث جولات أمنية، إضافةً إلى مسح وظيفي رباعي المسارات شمل نحو 92 واجهة برمجية بصلاحية «مالك». والنتائج مؤرخة — وقد يكون بعضها أُصلح منذئذٍ.

0Critical security flaws, across unauthenticated, no-role and owner testingثغرة أمنية حرجة، عبر الفحص غير الموثَّق وبلا صلاحيات وبصلاحية المالك
1Critical functional defect — the stock ledgerخلل وظيفي حرج — سجل المخزون
6Modules with permissions but no route behind themوحدات لها صلاحيات بلا مسار خلفها
20Total findings from one day of external testingإجمالي الملاحظات من يوم فحص خارجي واحد
  • CriticalحرجGET /api/inventory/ledger returns an error on every call. For an exporter, stock movement history is the ledger — traceability, valuation, SFDA and recall evidence all sit on top of it.يفشل في كل استدعاء. ولشركة تصدير، سِجل حركة المخزون هو الدفتر — فالتتبع والتقييم وأدلة الهيئة العامة للغذاء والدواء والاستدعاء كلها قائمة عليه.
  • HighمرتفعThe seeded owner role has no create permissions across CRM, sales, finance, inventory or master data, so the core business flows are blocked — meaning the create-time validation layer has never been exercised at all.دور «المالك» المُهيّأ بلا صلاحيات إنشاء في علاقات العملاء والمبيعات والمالية والمخزون والبيانات الرئيسية، فالمسارات التشغيلية الأساسية محجوبة — أي أن طبقة التحقق عند الإنشاء لم تُختبر إطلاقًا.
  • HighمرتفعPOST /api/hr/leaves validates the request body before checking authorisation, disclosing the schema to unauthorised users and suggesting a missing guard.يتحقق من محتوى الطلب قبل التحقق من الصلاحية، فيكشف بنية البيانات لغير المخوّلين ويشير إلى حارس صلاحيات مفقود.
  • MediumمتوسطPayments, costing, warehouses, quality checks, HR contracts and manufacturing work orders exist as permissions with no implementation behind them.المدفوعات والتكاليف والمستودعات وفحوصات الجودة وعقود الموارد البشرية وأوامر التشغيل موجودة كصلاحيات بلا تنفيذ خلفها.
  • MediumمتوسطNo route was found to delete or deactivate a user — an account lifecycle gap that matters for both leavers and auditors.لم يُعثر على مسار لحذف مستخدم أو تعطيله — وهي فجوة في دورة حياة الحسابات تهمّ المغادرين والمراجعين معًا.
  • StrongقويGenuinely good: no broken object-level access, no injection, strict rejection of mass-assignment, tenant isolation that ignores client-supplied company identifiers, refresh-token rotation with reuse detection, and only one server error across 92 endpoints. The engineering is not the problem.جيد فعلًا: لا اختراق للوصول على مستوى الكائنات، ولا حقن، ورفض صارم للإسناد الجماعي، وعزل مستأجرين يتجاهل معرّف الشركة القادم من العميل، وتدوير لرموز التجديد مع كشف إعادة الاستخدام، وخطأ خادم واحد فقط عبر 92 واجهة. الهندسة ليست هي المشكلة.
06 — The other sideالوجه الآخر

Where the custom build genuinely beats all threeأين يتفوق النظام المخصص فعلًا على الثلاثة

A comparison that only argues one way is a sales pitch. These advantages are real, and any decision has to pay for them somewhere else.المقارنة التي تنحاز لجهة واحدة عرضُ بيع. وهذه مزايا حقيقية، وأي قرار عليه أن يدفع ثمنها في مكان آخر.

  • Exact process fit.مطابقة تامة للإجراءات. Peanut lots, seasons, farms, ports, certificates of analysis, allergen records and export documentation are modelled natively. On Odoo or Business Central this is a customisation project — which produces code someone has to maintain, just on a supported core.تشغيلات الفول السوداني والمواسم والمزارع والموانئ وشهادات التحليل وسجلات مسببات الحساسية ومستندات التصدير مُنمذجة أصلًا. وفي أودو أو Business Central يكون هذا مشروع تخصيص — ينتج كودًا على أحدهم صيانته، لكن فوق نواة مدعومة.
  • Arabic-first, not Arabic-translated.عربي أولًا، لا عربي مُترجَم. The RTL interface was designed rather than retrofitted, and it shows. Vendor Arabic support is adequate; this is better.واجهة اليمين لليسار صُممت ولم تُركَّب لاحقًا، والفرق ظاهر. دعم المزوّدين للعربية كافٍ؛ وهذا أفضل.
  • No per-user meter.لا عدّاد لكل مستخدم. Adding twenty warehouse users costs nothing. On Business Central or NetSuite each carries a monthly price, and that shapes who you let into the system — usually badly.إضافة عشرين مستخدمًا في المستودع لا تكلّف شيئًا. أما في Business Central أو NetSuite فلكل مستخدم سعر شهري، وهذا يحدد من تُدخله النظام — غالبًا بصورة سيئة.
  • Days, not quarters.أيام، لا أرباع سنة. A change requested on Sunday can be live on Tuesday. No partner statement of work, no change request, no upgrade-safety review.تغيير يُطلب الأحد يمكن أن يعمل الثلاثاء. بلا نطاق عمل من شريك، ولا طلب تغيير، ولا مراجعة سلامة ترقية.
  • Full data ownership and residency control.ملكية كاملة للبيانات وتحكم في موطنها. Your database, your server, your export — and with PDPL in force, the ability to put the box inside the Kingdom on your own terms.قاعدتك وخادمك وتصديرك — ومع سريان نظام حماية البيانات، القدرة على وضع الخادم داخل المملكة بشروطك.
  • The security work was done properly.العمل الأمني أُنجز كما ينبغي. Judged as engineering, this system is above the average small-vendor ERP. That is worth saying plainly.مقيسًا بالهندسة، هذا النظام أعلى من متوسط أنظمة المزوّدين الصغار. وهذا يستحق أن يُقال صراحة.
07 — Moneyالتكلفة الحقيقية

The "free" ERP is the expensive oneالنظام «المجاني» هو الأغلى

The custom system has no licence fee, which is why it looks cheap. Its real price is a developer's salary in perpetuity — honestly two salaries, because one is the risk described above.النظام المخصص بلا رسوم ترخيص، ولذلك يبدو رخيصًا. لكن ثمنه الحقيقي راتب مطوّر إلى الأبد — بل راتبان بصراحة، لأن الواحد هو الخطر الموصوف أعلاه.

Optionالخيار Indicative licence, 25 usersترخيص تقريبي، 25 مستخدمًا People requiredالكوادر المطلوبة What the money buysما الذي يشتريه المال
Sudiana customسوديانا المخصص Noneلا يوجد SAR 180k–450k / year180–450 ألف ريال سنويًا1–2 developers plus GOSI, foreverمطوّر أو اثنان مع التأمينات، دائمًا Roughly a third of an ERP, and total dependence on whoever wrote itثلث نظام تقريبًا، واعتماد كامل على من كتبه
Odoo Community Noneلا يوجد 1 developer or a partner retainerمطوّر واحد أو عقد شريك A complete, supported core; you maintain only your own extensionsنواة كاملة ومدعومة؛ ولا تصون سوى إضافاتك أنت
Odoo Enterprise SAR 30k–45k / year30–45 ألف ريال سنويًا Partner retainer, part-timeعقد شريك بدوام جزئي Full suite, upgrades, support, Saudi localisation, an app market for integrationsمنظومة كاملة وترقيات ودعم وتوطين سعودي ومتجر تطبيقات للتكاملات
Dynamics 365 Business Central SAR 80k–115k / year80–115 ألف ريال سنويًا Implementation partnerشريك تنفيذ Deep finance, Microsoft 365 integration, the largest Saudi partner channelمحاسبة عميقة وتكامل مع Microsoft 365 وأوسع قناة شركاء سعودية
Oracle NetSuite / Fusion SAR 150k+ / year150 ألف ريال فأكثر سنويًا Implementation partner, longer projectشريك تنفيذ، ومشروع أطول Enterprise-grade controls and statutory depth you will not use at this sizeضوابط بمستوى المؤسسات وعمق نظامي لن تستخدمه بهذا الحجم

Swipe the table sideways to see all four platforms →اسحب الجدول أفقيًا لعرض المنصات الأربع ←

Licence figures are indicative bands converted from vendor list pricing, before 15% VAT and before implementation — confirm current quotes with a local partner before relying on them. The point is not the exact number: one full-time developer in Riyadh costs several times an Odoo Enterprise subscription for 25 users, and delivers a fraction of the functionality. Two developers — the minimum for genuine continuity — costs roughly ten times it. أرقام التراخيص نطاقات تقريبية محوّلة من الأسعار المعلنة لدى المزوّدين، قبل ضريبة القيمة المضافة 15% وقبل التنفيذ — تأكّد من عروض الأسعار الحالية مع شريك محلي قبل الاعتماد عليها. والمقصود ليس الرقم الدقيق: مطوّر واحد بدوام كامل في الرياض يكلّف أضعاف اشتراك أودو المؤسسي لخمسة وعشرين مستخدمًا، ويقدّم جزءًا يسيرًا من الوظائف. ومطوّران — وهو الحد الأدنى لاستمرارية حقيقية — يكلّفان نحو عشرة أضعافه.

08 — Recommendationالتوصية

Three routes, in order of preferenceثلاثة مسارات، مرتّبة بالأفضلية

The honest answer is not "throw it away". It is to stop asking one person to be an ERP vendor.الجواب الصادق ليس «تخلّص منه»، بل أن تكفّ عن مطالبة شخص واحد بأن يكون شركة أنظمة.

Recommendedالموصى به

Split the system in twoاقسم النظام إلى نصفين

  1. Put finance, inventory, purchasing and payroll — the regulated, audited, generic half — on a supported platform. At this size that means Odoo first, Business Central if a strong Saudi partner is available.ضع المالية والمخزون والمشتريات والرواتب — النصف المنظَّم والمُراجَع والعام — على منصة مدعومة. وبهذا الحجم يعني ذلك أودو أولًا، أو Business Central إن توفّر شريك سعودي قوي.
  2. Inherit ZATCA Phase 2, VAT, WPS and GOSI as vendor-maintained features rather than a build backlog.ارِث الفوترة الإلكترونية وضريبة القيمة المضافة وحماية الأجور والتأمينات كخصائص يصونها المزوّد، بدل أن تكون قائمة بناء مؤجلة.
  3. Keep the genuinely differentiated half: lot genealogy, certificates of analysis, allergen and recall records, export documentation. Build it as an app against the platform, not as a parallel ERP.احتفظ بالنصف المتميز فعلًا: نسب التشغيلات، وشهادات التحليل، وسجلات مسببات الحساسية والاستدعاء، ومستندات التصدير. وابنِه تطبيقًا فوق المنصة، لا نظامًا موازيًا.
  4. The developer stays, and becomes far more valuable — building the ten percent nobody sells, on a core they no longer have to maintain.يبقى المطوّر ويصير أثمن بكثير — يبني العشرة بالمئة التي لا يبيعها أحد، فوق نواة لم يعد مضطرًا لصيانتها.
If you keep it, not optionalإن أبقيته، فهذه ليست اختيارية

Make the custom build survivableاجعل النظام المخصص قابلًا للبقاء

  1. Source code and infrastructure in the company's own accounts today, plus a written escrow or handover agreement.الكود والبنية التحتية في حسابات الشركة نفسها اليوم، مع اتفاقية إيداع أو تسليم مكتوبة.
  2. A second developer with real commit history — not a name on a contract.مطوّر ثانٍ له سجل مساهمات حقيقي — لا اسم في عقد.
  3. A dated, costed ZATCA Phase 2 plan, or a certified third-party e-invoicing service in front of the ERP.خطة مؤرخة ومسعّرة للفوترة الإلكترونية، أو مزوّد فوترة معتمد أمام النظام.
  4. Written runbooks: deploy, restore, close the period, add a user, rotate a secret.أدلة تشغيل مكتوبة: النشر، والاستعادة، وإقفال الفترة، وإضافة مستخدم، وتدوير مفتاح سري.
  5. Backups with a restore actually tested and timed, to a stated RTO and RPO, on infrastructure inside the Kingdom.نسخ احتياطية مع استعادة مُختبَرة ومُوقَّتة فعليًا، بزمن ونقطة تعافٍ معلنين، على بنية داخل المملكة.
  6. A monthly dependency patch window and an annual external penetration test.نافذة ترقيع شهرية للاعتماديات، واختبار اختراق خارجي سنوي.
  7. Fix the stock ledger, then finish or remove the dead modules. Never ship a menu entry with nothing behind it.أصلح سجل المخزون، ثم أكمل الوحدات المعطّلة أو احذفها. ولا تُطلق أبدًا عنوانًا في القائمة بلا شيء خلفه.
Only if the fit is uniqueفقط إن كانت المطابقة فريدة

Full migrationانتقال كامل

  1. Justified if the business is growing fast, taking external investment, or facing an audit or certification the current system cannot evidence.مبرَّر إن كانت المنشأة تنمو بسرعة، أو تستقبل استثمارًا خارجيًا، أو تواجه مراجعة أو اعتمادًا لا يستطيع النظام الحالي إثباته.
  2. Budget two to four times the licence cost for implementation and data migration in year one.خصّص ضعفين إلى أربعة أضعاف كلفة الترخيص للتنفيذ وترحيل البيانات في السنة الأولى.
  3. Run both systems in parallel for one full close cycle before switching the old one off.شغّل النظامين بالتوازي دورة إقفال كاملة قبل إيقاف القديم.