بناء نظام إدارة الموارد البشرية الذكي للشركات السعودية بكلود AI
إدارة الموارد البشرية في السوق السعودية تختلف جوهرياً عن أي سوق آخر في العالم. نظام العمل السعودي، اشتراكات GOSI، نطاقات السعودة، صرف الرواتب عبر Mudad، إجازات الأعياد الهجرية، ومكافأة نهاية الخدمة — كل هذه عناصر لا تجد حلولاً جاهزة متكاملة في الأنظمة الغربية. بناء نظام HR مخصص للسوق السعودية كان حكراً على شركات البرمجة الكبيرة. اليوم مع كلود AI، يمكن لفريق تقني صغير بناء منظومة موارد بشرية متكاملة ومتوافقة 100% مع اللوائح السعودية.
في هذا الدليل، سنبني نظام HR شامل يغطي دورة حياة الموظف كاملة: من إعلان الوظيفة والتوظيف، مروراً بالتعيين وإعداد العقد، وإدارة الرواتب والمزايا والاستقطاعات، وصولاً إلى تقييم الأداء وإدارة الإجازات، وانتهاءً بحساب مكافأة نهاية الخدمة بدقة قانونية. كلود سيكتب كل سطر كود مع الشرح الكامل.
معمارية النظام — وحدات الـ HR السعودي
قبل كتابة أي كود، يجب تحديد وحدات النظام الأساسية. نظام HR السعودي يتكون من ثماني وحدات مترابطة:
قاعدة البيانات — ERD النظام الكامل
أرسل هذا المخطط لكلود مع طلب إنشاء جميع Migrations دفعة واحدة:
HR SYSTEM SAUDI — DATABASE SCHEMA
====================================
[employees]
id (PK, UUID)
employee_number (UNIQUE, auto-generated: EMP-2026-0001)
national_id / iqama_number (encrypted, UNIQUE)
nationality (SA / non-SA — يحدد GOSI rate)
full_name_ar / full_name_en
date_of_birth
gender
marital_status
dependents_count (يؤثر على بدل الأسرة)
phone / personal_email
emergency_contact_name / phone
iban (encrypted — للصرف عبر Mudad)
bank_name / bank_code (SAMA bank code)
photo_path
status (active/on_leave/terminated/suspended)
department_id (FK)
position_id (FK)
direct_manager_id (FK → employees, self-referential)
hire_date
probation_end_date (عادة 90 يوم)
contract_type (permanent/fixed_term/part_time)
contract_end_date (للعقود المحددة)
work_location (office/remote/hybrid)
iqama_expiry / passport_expiry / visa_expiry
created_at / updated_at / deleted_at
[salary_structures]
id
employee_id (FK)
effective_from (تاريخ سريان الراتب)
basic_salary
housing_allowance (بدل السكن — عادة 25% من الأساسي)
transportation_allowance (بدل نقل)
food_allowance
phone_allowance
other_allowances (JSON: {name, amount}[])
total_package (computed)
currency (SAR default)
is_current (boolean)
[payroll_runs]
id (PK)
period_year / period_month
run_date
status (draft/processing/approved/paid/cancelled)
total_gross / total_deductions / total_net
mudad_file_path (WPS file)
mudad_submission_ref
approved_by / approved_at
paid_at
[payroll_items]
id
payroll_run_id (FK)
employee_id (FK)
basic_salary / total_allowances / gross_salary
gosi_employee_share (10% للسعودي، 0 لغيره)
gosi_employer_share (9% للسعودي، 2% لغيره)
income_tax_deduction (للموظفين من دول معاهدات)
loan_deduction / advance_deduction
absence_deduction / lateness_deduction
other_deductions (JSON)
net_salary
payment_status (pending/transferred/failed)
transfer_ref
[leave_types]
id / name_ar / name_en
days_per_year / is_paid / requires_approval
applicable_to (all/saudi/non-saudi/female)
max_consecutive_days
carry_forward_allowed / max_carry_forward_days
[leave_requests]
id (PK, UUID)
employee_id (FK)
leave_type_id (FK)
start_date / end_date / total_days
status (pending/approved/rejected/cancelled)
reason
approved_by / approved_at
rejection_reason
hijri_start / hijri_end (للتقويم الهجري)
[leave_balances]
id
employee_id (FK)
leave_type_id (FK)
year
entitled_days / used_days / pending_days / remaining_days
carried_forward_days
[attendance_records]
id
employee_id (FK)
attendance_date
check_in / check_out (timestamps)
late_minutes / early_departure_minutes
overtime_minutes
status (present/absent/late/half_day/remote)
source (biometric/mobile/manual)
notes
[performance_cycles]
id / name / period_start / period_end / status
[performance_reviews]
id (PK, UUID)
employee_id (FK)
cycle_id (FK)
reviewer_id (FK → employees)
review_type (self/manager/peer/360)
overall_score (1-5)
goals_achievement_score
competencies_score
values_score
strengths_text / improvements_text / development_plan
status (draft/submitted/acknowledged)
submitted_at / acknowledged_at
[positions]
id / title_ar / title_en / department_id / grade_level
min_salary / max_salary / job_description
nitaqat_category (SA/non-SA slot)
[departments]
id / name_ar / name_en / parent_id / head_employee_id
[recruitment_jobs]
id / position_id / department_id
title / description / requirements
vacancies_count / status
posted_at / closed_at / filled_at
[job_applications]
id / job_id (FK) / candidate_name / email / phone
cv_path / cover_letter
status (new/screening/interview_scheduled/offer/hired/rejected)
applied_at
[end_of_service_calculations]
id / employee_id (FK)
calculation_date / termination_reason
years_of_service / months / days
last_basic_salary / average_variable_pay
eos_amount (calculated per Article 84)
annual_leave_balance_payout
other_dues / total_dues
notes
حساب GOSI — المنطق الكامل
GOSI هو أكثر ما يُعقّد نظام الرواتب السعودي. إليك البرومبت الدقيق لكلود:
// البرومبت لكلود: "اكتب GOSICalculationService في Laravel يحسب اشتراكات GOSI بدقة: للموظف السعودي: - حصة الموظف: 10% من الراتب الأساسي + بدل السكن - حصة صاحب العمل: 9% من الراتب الأساسي + بدل السكن - سقف الوعاء: 45,000 ريال شهرياً - حد أدنى: 400 ريال شهرياً للموظف غير السعودي (WCA فقط): - حصة صاحب العمل فقط: 2% (تأمين ضد الأخطار المهنية) - لا يوجد استقطاع من الموظف احتسب بناءً على: - nationality من جدول employees - basic_salary + housing_allowance فقط (ليس كل البدلات) - تقريب المبلغ لأقرب ريال أضف دالة generateGOSIReport(int $year, int $month): array تُنتج تقرير GOSI الشهري بتنسيق يصلح للتحميل كـ Excel: [employee_number, name, national_id, gosi_number, base_wage, employee_share, employer_share, total] أضف unit tests كاملة لكل الحالات."
حساب مكافأة نهاية الخدمة — المادة 84
هذا الحساب القانوني الدقيق يُربك كثيراً من المطورين. إليك كيف تطلبه من كلود:
// البرومبت لكلود:
"اكتب EndOfServiceCalculator class يحسب مكافأة نهاية الخدمة
وفق المادة 84 من نظام العمل السعودي بدقة قانونية:
السيناريو 1: إنهاء من صاحب العمل (فصل)
- السنوات 1-5: ثلث الراتب الشهري عن كل سنة خدمة
- السنوات 5+: راتب شهري كامل عن كل سنة زائدة
- الكسور بالتناسب (الأشهر والأيام)
السيناريو 2: استقالة الموظف
- أقل من سنتين: لا مكافأة
- 2-5 سنوات: ثلث الاستحقاق الكامل
- 5-10 سنوات: ثلثا الاستحقاق الكامل
- أكثر من 10 سنوات: كامل الاستحقاق
السيناريو 3: الوفاة أو العجز الكلي
- كامل الاستحقاق مهما كان مدة الخدمة
قاعدة الراتب المستخدم في الحساب:
- الراتب الأساسي + بدل السكن + بدل النقل
- يُضاف متوسط العمولات والحوافز المتغيرة آخر 12 شهراً
الدالة الرئيسية:
calculate(Employee $employee, string $terminationReason,
Carbon $terminationDate): EOSResult
EOSResult يحتوي:
- years / months / days (مدة الخدمة الكاملة)
- base_calculation_salary
- eos_for_first_5_years / eos_for_remaining_years
- total_eos
- annual_leave_payout (رصيد الإجازة × الراتب اليومي)
- total_dues (مكافأة + إجازة + مستحقات أخرى)
- calculation_breakdown (JSON تفصيلي للمراجعة)
أضف unit tests لـ 8 حالات مختلفة."
تكامل Mudad لصرف الرواتب
Mudad هو النظام الوطني السعودي لتحويل الرواتب. دعمه في نظامك إلزامي للشركات السعودية:
// البرومبت لكلود: "اكتب MudadIntegrationService يدعم صرف الرواتب عبر Mudad: 1. توليد ملف WPS (Wages Protection System) بالتنسيق المطلوب: - header record: company info, month, year, total employees - detail records: employee IBAN, amount, employee_id, notes - footer: total amount, record count - encoding: UTF-8, separator: | 2. API Integration مع Mudad (إذا متاح): - Authentication: OAuth2 - Endpoint: POST /v1/payroll/submit - Request: JSON payload بيانات الرواتب - Response handling: success/pending/failed - Retry logic للحالات المعلقة 3. Validation قبل الإرسال: - التحقق من صحة كل IBAN (سعودي SA + 22 رقم) - التحقق من عدم تكرار الموظف - مطابقة المجموع الكلي - التحقق من أن جميع الموظفين لديهم حسابات بنكية 4. Logging كامل: كل إرسال مع الحالة والاستجابة والأخطاء 5. Job Queue: معالجة غير متزامنة مع إشعار عند الاكتمال"
بوابة الموظف الذاتية (Employee Self-Service)
جزء حيوي من أي نظام HR حديث — يُخفف العبء على قسم الموارد البشرية:
// البرومبت لكلود: "اكتب Employee Self-Service Portal بـ Laravel + Blade + Alpine.js: الصفحات المطلوبة: 1. لوحة التحكم الشخصية: - ملخص راتب الشهر الحالي - رصيد الإجازات (مرئي بشكل رسومي) - طلبات الإجازة المعلقة - موعد تجديد الإقامة/الجواز 2. صفحة الرواتب: - كشوف رواتب آخر 12 شهراً - تفصيل كل بند (البدلات والاستقطاعات) - تنزيل كشف الراتب PDF (بتنسيق احترافي باللغتين) 3. صفحة الإجازات: - طلب إجازة جديدة مع validation (لا أيام سالبة، لا طلب في فترة الراتب) - تاريخ الطلبات السابقة - رصيد مفصّل لكل نوع إجازة 4. صفحة البيانات الشخصية: - تحديث رقم الهاتف / البريد / العنوان - رفع المستندات المطلوبة (تجديد إقامة، شهادات) - عرض بيانات العقد (للاطلاع فقط) 5. صفحة الأداء: - أهداف الربع الحالي - تقييمات السنوات السابقة - خطة التطوير الشخصي الأمان: كل موظف يرى بياناته فقط. RTL عربي كامل مع دعم إنجليزي."
إدارة خط أنابيب التوظيف
وحدة التوظيف تربط الإعلان عن الوظيفة بالتعيين الفعلي في منظومة واحدة:
// البرومبت لكلود: "اكتب Recruitment Pipeline Management بـ Filament v3: 1. Kanban Board للمتقدمين بمراحل: [جديد] → [فرز السيرة] → [مقابلة هاتفية] → [مقابلة تقنية] → [مقابلة الإدارة] → [عرض عمل] → [موافق/رافض/مؤجل] 2. AI-Powered CV Screening (عبر Claude API): - رفع ملفات PDF للسير الذاتية - استخراج: المهارات، الخبرة، المؤهلات، اللغات - مطابقة تلقائية مع متطلبات الوظيفة - تقدير نسبة التوافق (0-100%) - توليد ملخص نقاط القوة والضعف لكل مرشح 3. جدولة المقابلات: - ربط مع Google Calendar / Microsoft Teams - إرسال تذكير واتساب للمرشح والمحاور قبل 24 ساعة - تسجيل ملاحظات المقابلة مباشرة في النظام 4. نموذج عرض العمل الآلي: - توليد عقد عمل Word من Template - إرسال للمرشح للتوقيع الرقمي - عند التوقيع: إنشاء ملف الموظف تلقائياً في النظام 5. تقرير إحصائيات التوظيف: متوسط وقت الإغلاق لكل وظيفة، مصادر أفضل المرشحين، معدل القبول/الرفض لكل مرحلة"
نظام تقييم الأداء والـ KPIs
ربط تقييم الأداء بالرواتب والترقيات يجعل النظام حقيقياً وليس إدارياً فقط:
// البرومبت لكلود: "اكتب Performance Management Module: 1. إطار الأهداف والـ OKR: - تحديد أهداف الشركة → القسم → الفرد (cascading) - تسجيل تقدم أسبوعي مع نسبة الإنجاز - تنبيه تلقائي للموظف والمدير عند الأهداف المتأخرة 2. نموذج التقييم المرن: - كفاءات المنصب (مهارات تقنية وسلوكية) — وزن 40% - إنجاز الأهداف — وزن 40% - قيم الشركة — وزن 20% - كل عنصر يُقيَّم 1-5 مع تعليق نصي إلزامي 3. التقييم 360 درجة: - المدير المباشر + زميلان + تقييم ذاتي - لوحة مقارنة النتائج بدون كشف هوية الزملاء - التقرير النهائي يجمع الآراء بطريقة موضوعية 4. ربط النتائج بالقرارات: - أداء ممتاز (4.5+): علاوة 15% + ترقية مقترحة - أداء جيد (3.5-4.4): علاوة 8% - أداء متوسط (2.5-3.4): خطة تطوير 90 يوم - أداء دون المتوسط (أقل من 2.5): إجراء تأديبي 5. تقرير الإدارة: مصفوفة 9-Box الأداء (محور Y) × الإمكانات (محور X) لتحديد الموهوبين والمعرضين للمخاطر"
لوحة الامتثال ونطاقات السعودة
الامتثال التنظيمي في السوق السعودية متطلب حرج يؤثر مباشرة على تصاريح العمل ونشاط الشركة:
// البرومبت لكلود: "اكتب ComplianceModule يتتبع متطلبات السوق السعودي: 1. حساسة نطاقات السعودة: - حساب نسبة السعودة الفعلية لحظة بلحظة - جلب نسب النطاق المطلوبة حسب نشاط الشركة من database - تصنيف الوضع: بلاتيني/أخضر مرتفع/أخضر/أصفر/أحمر/منخفض - توصية: 'تحتاج X موظف سعودي للوصول للنطاق الأخضر' - تنبيه تلقائي إذا انخفضت النسبة عن الحد الأدنى 2. متابعة انتهاء التصاريح: - جدول مركزي: الإقامات / التأشيرات / شهادات المهن / رخص القيادة - تنبيه للموظف والـ HR قبل 90 يوم، 60 يوم، 30 يوم - Dashboard يُظهر التصاريح التي ستنتهي هذا الشهر والتالي 3. تقرير GOSI الشهري الآلي: - توليد ملف GOSI بالتنسيق الإلكتروني - مطابقة مع الشهر السابق (إضافات، انتهاء خدمة، تغيير رواتب) - جاهز للرفع على بوابة GOSI 4. سجل الإجراءات التأديبية: - إنذارات شفوية وكتابية، خصومات، فصل - مطابقة مع نظام العمل (متطلبات الإنذار قبل الفصل) - تقرير سنوي للإدارة القانونية"
بنية النشر والتكامل مع الأنظمة الحكومية
DEPLOYMENT & INTEGRATIONS MAP
=================================
[نظام HR الداخلي]
|
┌────┴────────────────────────────┐
| |
[Mudad API] [GOSI Portal]
صرف الرواتب WPS تقارير شهرية
|
[بوابة مزودي التأمين الصحي]
تحديث قوائم المؤمَّن عليهم
|
[منصة مسار — وزارة الموارد البشرية]
إبلاغ التغييرات الوظيفية
|
[Absher API] (اختياري)
التحقق من هوية الموظفين السعوديين
[قنوات الإشعارات]
├── واتساب: كشف الراتب / قبول الإجازة / انتهاء الإقامة
├── بريد إلكتروني: تقارير الإدارة / عروض العمل
└── SMS: OTP للبوابة الذاتية / تنبيهات طارئة
[تقنية الأمان]
├── تشفير AES-256 للـ IBAN والهوية الوطنية
├── مصادقة ثنائية إلزامية للـ HR والمدراء
├── Audit Log لكل تعديل مالي
└── نسخ احتياطي مشفر يومياً على S3
أفضل 8 ممارسات لبناء نظام HR السعودي مع كلود
ابدأ دائماً بتحميل نص نظام العمل السعودي لكلود في بداية كل جلسة تتعلق بالمنطق القانوني — المادة 74 للعقود، 84 لنهاية الخدمة، 113 للإجازات. هذا يضمن كتابة كود متوافق قانونياً من السطر الأول.
اطلب من كلود كتابة unit tests لكل حسابات الرواتب ومكافأة نهاية الخدمة قبل الانتهاء من كتابة الكود — هذه الحسابات المالية لا مجال فيها للخطأ وكلود يكتب tests شاملة لكل الحالات الحدية.
استخدم UUID بدل auto-increment لجميع جداول الموظفين والرواتب — يمنع تخمين أرقام الموظفين ويحمي خصوصية البيانات المالية. اطلب من كلود تطبيق هذا بشكل موحد في كل الـ Models.
قسّم منطق الرواتب في PayrollService مستقل تماماً عن Controllers والـ Jobs. هذا يسهل الاختبار والتدقيق المحاسبي — اطلب من كلود توثيق كل دالة حسابية بـ PHPDoc مع مثال محسوب يدوياً.
بناء نموذج الأذونات (RBAC) من البداية وليس لاحقاً — مدير HR يرى كل شيء، المدير المباشر يرى فريقه فقط، الموظف يرى بياناته فقط. كلود يكتب Spatie Permission setup مخصصاً للـ HR بدقة عالية.
لا تبدأ بتكامل Mudad مباشرة — ابنِ أولاً وحدة توليد ملف WPS واختبرها بالبيانات الحقيقية. عندما تتحقق من صحة الأرقام والتنسيق، انتقل لتكامل API. كلود يكتب validator لملف WPS قبل الإرسال.
احتفظ بـ salary_structures كجدول تاريخي لا تُحذف منه السجلات — فقط أضف سجلاً جديداً مع تاريخ السريان. هذا ضروري لحساب مكافأة نهاية الخدمة الدقيق ولأغراض التدقيق القانوني.
اطلب من كلود بناء تقرير "الالتزامات المستقبلية لنهاية الخدمة" — يُقدّر المبالغ المترتبة إذا أنهى كل موظف خدمته اليوم. هذا تقرير تطلبه الإدارة المالية دورياً ويُميّز نظامك عن الأنظمة التجارية البسيطة.
جواهر خفية — ميزات تُميّز نظامك
تحليل دوران العمالة بكلود AI
أرسل لكلود بيانات الموظفين الذين غادروا خلال السنة (القسم، مدة الخدمة، سبب المغادرة، الراتب) واطلب تحليل الأنماط: أي الأقسام أعلى معدل دوران؟ ما الفترة التي تشهد أعلى مغادرات؟ هل هناك علاقة بين الراتب ونسبة الاستبقاء؟ هذا التحليل يُقدّر بآلاف الريالات استشارياً.
مساعد HR الذكي عبر واتساب
بوت واتساب مدعوم بكلود يُجيب على أسئلة الموظفين الشائعة: "كم رصيد إجازتي؟" — "متى صرف راتب هذا الشهر؟" — "ما رصيد سلفتي؟" — يُرسل كشف الراتب PDF فوراً. يُوفر على قسم HR ما بين 20-40 رسالة يومياً من الأسئلة المتكررة.
تنبيهات الإجازة الموسمية الذكية
قبل شهر رمضان والأعياد الوطنية، يُرسل النظام تلقائياً لكل مدير قائمة الموظفين الذين قدّموا طلبات إجازة في نفس الفترة ويُقارنها بالحد الأدنى للتشغيل. يُنبّه إذا كانت نسبة الغياب ستتجاوز 30% في أي قسم — يحمي الاستمرارية التشغيلية دون حظر الإجازات.
توليد عقود العمل الآلي بالعربية
عند تعيين موظف جديد، يُولّد النظام تلقائياً عقد العمل بالعربية بجميع البنود القانونية المطلوبة وفق نظام العمل السعودي — الراتب، المزايا، ساعات العمل، الإجازات، البنود التأديبية، اتفاقية السرية. كلود يكتب Template engine قانوني محكم يوفر رسوم المحامين.
تقرير مؤشرات الصحة التنظيمية
تقرير شهري يُقدّم للإدارة 12 مؤشراً لقياس صحة المنظومة البشرية: معدل الاحتفاظ، متوسط مدة الخدمة، نسبة السعودة، تكلفة الموظف الواحد، معدل الغياب، وقت إغلاق الوظائف الشاغرة. كلود يكتب هذا التقرير المُصدَّر كـ PDF مع رسوم بيانية تلقائياً.