تخطَّ إلى المحتوى
ERP Expert

الحضور والرواتب في أودو: من Kiosk Mode إلى Payslip

أحمد حسن الجمالأودو9 دقيقة قراءة

هذا المقال مكتوب من الفيديو أعلاه، «دورة تدريب على الموارد البشرية في نظام أودو (المحاضرة الرابعة) - ODOO HR Module»، ومدّته 21:42.

شاهده على يوتيوب ←

في هذه المحاضرة نكمل سلسلة الـ HR، وندخل على الجزء الذي يسأل عنه كل صاحب شركة: الحضور والانصراف، ثم المرتبات. جزءان مرتبطان ببعضهما أكثر مما يبدو — لأن الساعة التي يسجّلها الموظف في الـ Attendance هي نفسها الساعة التي ستُحسب له في الـ Payslip آخر الشهر.

ابدأ من الـ Configuration كالعادة

كما تعوّدنا في كل قسم، ندخل أولاً على الـ Configuration قبل أن نلمس أي شاشة تشغيل. أول ما ستجده هنا هو الـ Kiosk Mode، وهو وضع الكشك الذي يسجّل منه الموظف حضوره.

أمامك طريقان لتشغيله:

  • تربطه بجهاز: سكانر باركود، أو جهاز بصمة، أو ما يعادلهما مما هو موجود عندك في الشركة.
  • تخرجه كـ Link: تفتح الرابط في صفحة جديدة، فيفتح لك واجهة الكشك مباشرة. هذا الرابط يمكن أن تفتحه من الموبايل، أو من كاميرا الجهاز، أو من أي شاشة تضعها عند الباب.

الفكرة في الرابط أنك تبعثه للموظف، وتستطيع أن تولّد رابطاً جديداً كل يوم إن أردت أن تضبط الأمر أكثر. وفي نفس شاشة الإعدادات تحدّد الـ Barcode Source: الكاميرا الأمامية للموبايل، أو الكاميرا الخلفية، أو السكانر إذا كنت ربطت جهازاً فعلياً.

البادج والـ PIN: كيف يسجّل الموظف حضوره

داخل الكشك، الموظف أمامه خياران. إما أن يمسح الـ Badge الخاص به — وهو الذي أنشأناه في الفيديو الأول من السلسلة — أو يضغط Identify Manually ويختار اسمه من قائمة الموظفين.

بعد أن يختار اسمه، يطلب منه النظام الـ PIN. أحمد مثلاً كان الـ PIN الخاص به مضبوطاً من أول محاضرة، فيُدخله ويضغط OK، فيرد عليه النظام برسالة ترحيب: أهلاً أحمد، تم تسجيل حضورك في هذا التاريخ الساعة كذا.

ونفس المسار في الخروج بالضبط. في نهاية الفيديو رجعت لنفس رابط الكشك واخترت نفس الموظف، فعرف النظام أنه في حالة حضور وطلب منه الـ Check Out. أدخلت الـ PIN، فقال لي: مع السلامة، لقد قضيت ٣٢ دقيقة. ودخلت على شاشة الـ Attendance فوجدت السجل كاملاً: يوم الاثنين ٢٧، دخول وخروج، والمدة ٣٢ دقيقة.

وانتبه: تستطيع كمسؤول أن تعمل Check In و Check Out يدويين لأي موظف. ليس كل شركة سيدخل موظفوها على الكشك من اليوم الأول، والباب اليدوي مفتوح.

الموقع والـ IP: ما الذي يسجّله النظام فعلاً وراء الموظف

هذه النقطة أهم مما تبدو. عندما يعمل الموظف Check In أو Check Out، النظام لا يسجّل الوقت وحده. يسجّل:

  • المكان الذي عمل منه Check In، والمكان الذي عمل منه Check Out.
  • الـ IP Address الذي جرت منه كل عملية.
  • الجهاز الذي اشتغل عليه، والـ Browser الذي فتح وأغلق منه.

في المثال الذي شرحته، الموظف كان موجوداً في دبي، فجاء اللوكيشن دبي، والـ IP الذي فُتح منه ظاهراً أمامي. فأنت تستطيع أن تعرف: هذا الموظف المفروض أنه يسجّل حضوره من مكان معين، فهل سجّل من هناك فعلاً؟

والفائدة الحقيقية تظهر مع الموظف الذي لا يعمل ثماني ساعات متصلة في مكان واحد. الموظف الذي يعمل ساعة في دبي ثم يطلع إلى الشارقة: يعمل Check In في دبي، وينهي الساعة بـ Check Out، ثم يذهب إلى الشارقة ويعمل Check In من جديد. وهكذا.

وهذا بالذات وضع موظفي الصيانة ومن يعملون في المواقع. عندهم النظام يربط الـ Attendance بالـ Timesheet ويأخذ الـ GPS Coordinates، بحيث أنه عندما يعمل Submit لتاسك، أو يسجّل زيارة عميل، يكون فعلاً عند العميل — لا يسجّل زيارة العميل وهو جالس في البيت.

تقارير الحضور

من أعلى الشاشة تتحكم في الفترة التي تريد رؤيتها. تعرضها بالأسبوع فيخرج لك يوم الاثنين اشتغل كم، بالشهر فيعطيك الشهر كله، أو بالسنة فيعطيك كل الموظفين الموجودين وكم ساعة اشتغل كل واحد منهم وكيف أداؤه. وتستطيع أن تحوّل العرض إلى Pivot وتختار الـ Measures التي تهمك، أو تخرج تقرير الكشك ليخبرك كم واحداً حضر وتفاصيلهم بالكامل.

الحضور والانصراف في النهاية لا يأخذ منك دقيقتين أو ثلاثاً في اليوم. لكن ما يبنيه من بيانات هو أساس الجزء التالي.

داشبورد الـ Payroll: التنبيهات التي توفّر عليك المطاردة

انتقل إلى قسم الـ Payroll، وستجد داشبورد مختلفاً في طبيعته عن باقي الأقسام. هو لا يعرض لك بيانات فقط، بل يعرض لك ما ينتظر تصرفاً.

يخبرك بتكاليف الموظفين، وكم موظفاً جديداً دخل، والـ Batches الموجودة: باتش جديد لشهر مايو، باتش Confirmed، باتش خلص Done في أبريل، وباتش مدفوع لشهر ثلاثة. فترى أمامك تاريخ المرتبات كله في شاشة واحدة.

ثم تأتي التنبيهات، وهذه هي القيمة الحقيقية:

  • موظف Without Running Contract — أي أن عقده انتهى ولم يُجدَّد. تضغط عليه فيفتح لك الموظف وعقده المنتهي.
  • تأشيرة موظف على وشك الانتهاء — في المثال الذي أمامي، تنتهي خلال ٧٢ يوماً.
  • كشوف مرتبات مفتوحة لموظف ولم تُغلق.

المعنى العملي: الشخص المسؤول عن الـ Payroll في الشركة يدخل من هنا، ولا يحتاج أن يجري وراء كل موظف ليعرف هل عقده انتهى، وهل يحتاج عقداً جديداً، وما وضع إقامته. كل التنبيهات تصله مباشرة من صفحة الـ Payroll.

Work Entries: تصنيف كل ساعة قبل أن تُحسب

قبل أن يخرج أي مرتب، النظام يحتاج أن يعرف طبيعة كل ساعة في الشهر. هذا هو الـ Work Entry.

عندك حضور عادي، وعندك Overtime لأن الناس اشتغلت زيادة، وعندك من مشى عادي، ومن أخذ إجازة، ومن اشتغل من البيت، وعندك إجازة مدفوعة وإجازة غير مدفوعة، وعندك من اشتغل خارج مدة عقده — إما لأن عقده يبدأ من الغد، أو لأن عقده انتهى وهو ما زال Still Working، مثل الموظف الذي رأيناه في التنبيهات.

إضافة نوع جديد سهلة جداً: تكتب الاسم — Overtime مثلاً — وتعطيه كوداً، ثم تحدّد الـ Rounding: بدون تقريب، أو نصف يوم، أو يوم. والتقريب يكون Up أو Down: لو اشتغل ساعة زيادة والتقريب Down فسيسقطها، ولو اخترت بدون تقريب فستبقى الساعة كما هي داخل الـ Overtime. في الحالة العملية الأنسب أن تتركها كما هي، حتى تظهر التفاصيل صحيحة في الشهر.

بعدها Working Schedules — مواعيد العمل التي مررنا عليها في المحاضرة السابقة: ٤٠ ساعة، ٣٠ ساعة، والجدول الذي أنشأناه ساعتها لأربيل.

Structure Types وقواعد الرواتب

هنا تحدّد Salary Structure Type لكل نوع من الموظفين. عندك موظف عادي، وعندك Consultant، وعندك خبير أجنبي — لكل واحد تايب مختلف.

عند إضافة Consultant مثلاً تختار البلد — الإمارات — وتحدّد هل هو بالساعة، وما هو الـ Default Schedule: شهري، أو ربع سنوي، أو يومي، والـ Resource المرتبط به على حسب المواعيد.

وانتبه لمصيدة صغيرة هنا: لو تركت البلد على United States سيطالبك النظام بضبط الـ State، لأن الإعدادات هناك مبنية على ذلك. جرّبت أن أفرغ خانة البلد تماماً فاختفى الطلب — لأن شركتنا في الإمارات وليست في الولايات المتحدة، ولا داعي لأي حقل يقف في طريقك بلا سبب.

ثم Structures والـ Rules: الـ Basic Salary، والبدلات — بدل مواصلات، بدل سكن، Meal Voucher — والاستقطاعات والـ Deductions والـ Input Types. عند إضافة قاعدة جديدة تختار الـ Category: Basic أم Gross أم Net، وتربطها بالـ Structure المناسبة مثل Regular Pay.

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

من الحضور إلى كشف المرتب

شاشة الـ Work Entries تعرض لك الموظفين مقابل الأيام والساعات: أحمد حسن في هذا اليوم من الساعة كذا إلى الرابعة والنصف، وموظفة أخرى في يوم آخر من الثامنة صباحاً إلى الثانية عشرة ظهراً. الأصل أن هذه البيانات تأتي وحدها من الـ Attendance، أو من الـ Timesheet لو كان الموظف يعمل على تايم شيت مشروع. لكنك تستطيع أن تضيف Work Entry يدوياً من هنا كذلك.

وعند الإضافة اليدوية انتبه إلى الـ Conflicts. أضفت Overtime لأحمد حسن في اليوم ١٣ من التاسعة إلى الرابعة — سبع ساعات — بينما كان له تسجيل آخر في نفس اليوم، فأظهر لي النظام تعارضاً بين السجلين حتى أحسم أيهما الصحيح. هذه حماية مقصودة: لا تخرج مرتباً على بيانات متضاربة.

نفس الكلام على الـ Time Off. أي إجازة — Sick Leave أو Annual Leave أو مدفوعة أو غير مدفوعة — تظهر لك في تقرير التايم أوف، وتستطيع أن تضيفها من داخل الـ Payroll نفسه: تختار الموظف ونوع الإجازة والمدة، وتعمل Approve. أضفت Sick Time Off من ٢٦ إلى ٢٧ فظهرت مباشرة وحُسبت يوماً كاملاً. وهذا الباب اليدوي مهم في البداية تحديداً، حين لا يكون الموظفون قد أخذوا Users وصلاحيات ليطلبوا إجازاتهم بأنفسهم.

الباتش: توليد كشوف المرتبات دفعة واحدة

آخر خطوة هي الـ Payslips. تستطيع أن تخرج كشفاً واحداً، لكن العملي أن تشتغل بالـ Batch.

تدخل على Batches وترى الدفعات الموجودة، ثم تنشئ واحدة جديدة: الاسم May 24، والـ Period من ١/٥ إلى ٣١/٥، والشركة التي تخرج لها المرتبات. تحفظ، ثم تضغط Generate Payslips.

هنا تختار من تريد بالضبط: الموظفين، والـ Structure — وغالباً ستكون Regular Pay — والقسم. تستطيع أن تخرج مرتبات قسم الـ IT وحده، أو قسم الـ Commercial وحده، أو الشركة كلها. اخترت الـ Commercial فولّد لي ثلاثة كشوف.

تفتح أي واحد منها فترى الصورة كاملة. كشف راشيل مثلاً: الحضور المسجّل ٢٣ يوماً بواقع ١٨٤ ساعة، والمرتب ٣٥٥٠. تعمل Print فيخرج الكشف بالتفصيل — الـ Basic ٣٠٠٠، والبدلات فوقه حتى ٣٥٥٠، وبيانات الموظفة، والاستقطاعات والضرائب إن وجدت مطروحة من المبلغ الأساسي.

ومن أين جاءت هذه الأرقام؟ من عقد الموظفة نفسه. القواعد التي ضبطتها في الـ Structure هي التي تحدّد الحقول، وقيمة كل حقل — الـ Basic والبدلات — مكتوبة في الـ Contract. فلو أردت تغيير المرتب، تعدّل العقد، ويخرج الكشف بعدها على الرقم الجديد.

بعد المراجعة تعمل Save، ثم Confirm، ثم تنتقل للحسابات وتعمل Register Payment. وترجع للباتش فتجد الكشوف الباقية، تولّد لها Draft Payslips وتغلقها بنفس المسار حتى تصير كلها Done.

خذ النظام خطوة بخطوة

الملاحظة التي أكرّرها في كل محاضرة، وتنطبق هنا أكثر من أي مكان: لا تأخذ السيستم مرة واحدة.

اشتغل جزءاً جزءاً. ابدأ بالـ Time Off والـ Work Entries يدوياً في البداية. ثم فعّل الـ Attendance، وبدل أن يدخل الناس مباشرة على الـ Check In والـ Check Out من الكشك، اجعله يدوياً في الأول، ثم ابدأ بتفعيل الأوتوماتيك ودع الناس تستخدمه واحدة واحدة، حتى يُزرع في الشركة بالكامل.

وحين يستقر، ستجد أن الموضوع ليس ثقيلاً ولا فيه تفاصيل كثيرة كما بدا. تدخل على الـ Payroll فترى التنبيهات، والعقود، وكم واحداً جديداً وكم واحداً منتهياً، وتخرج الكشوف. ويكون عندك في النهاية نظام يجعلك متحكماً في شركتك ورائياً لكل شيء فيها، دون أن يشعر الموظف عندك بالخنقة.

في الفيديو القادم ندخل على الأقسام الأصغر التي مررنا عليها ونحن داخل مديول الـ HR — الـ Expenses والـ Time Off وغيرها — لكن هذه المرة كل واحدة منها بالتفصيل وكأيقونة مستقلة قائمة بذاتها.

OdooHRPayrollAttendance

عن الكاتب

أحمد حسن الجمال

خبرة تتجاوز 15 سنة في قيادة التحول الرقمي بالإمارات والسعودية ومصر، وأكثر من 60 مشروع ERP — من داخل غرفة التنفيذ، لا من العرض التقديمي.

اقرأ أيضاً

أدلة مكتوبة على الموقع تشرح نفس الموضوع بتفصيل أكبر.

شاهد أيضاً