المخزون في Odoo لموزّعي الإمارات: الدفعات والأرقام التسلسلية والتتبّع الفعلي
تعرف معظم شركات التجارة والتوزيع في الإمارات التي أبدأ العمل معها ما يوجد في مستودعها، لكن قلّة منها تستطيع أن تحدّد من أي دفعة مورّد جاء كرتون تالف، أو أي عميل استلم الوحدة التي تحمل رقماً تسلسلياً بعينه، أو لماذا لا تتطابق قيمة المخزون في الميزانية العمومية مع ما كشف عنه الجرد الفعلي للتوّ. وهذه الفجوة بنيوية، تُحسَم في الأسابيع الأولى من إعداد تطبيق المخزون في Odoo: إما أن يُبنى الأساس الصحيح وإما أن تفوت الفرصة. وفيما يلي الطريقة التي أبني بها هذا الأساس ليبقى التتبّع سليماً بعد مرور أشهر.
التتبّع بالدفعات مقابل التتبّع بالأرقام التسلسلية: يُختار لكل منتج على حدة
يتتبّع Odoo المنتج بإحدى طريقتين، تُختار على المنتج نفسه بعد تفعيل خيار «الدفعات والأرقام التسلسلية» (Lots & Serial Numbers) من المخزون (Inventory) ← التهيئة (Configuration) ← الإعدادات (Settings). فرقم الدفعة يعرّف مجموعة وحدات استُلمت أو خُزّنت أو صُنّعت معاً، وهو مفيد في تجميع الوحدات التي تشترك في مورّد واحد أو حاوية واحدة. أما الرقم التسلسلي فمعرّف فريد لوحدة واحدة، يُستخدم لتتبّع تلك القطعة بعينها على امتداد حياتها في سلسلة التوريد.
وعند موزّع في الإمارات يكون التمييز بين الأسلوبين واضحاً في الغالب. فكراتين المواد الغذائية المستوردة ومستحضرات التجميل ومواد البناء مكانها الدفعات: يكفي رقم دفعة واحد لكل حاوية ليظل الإدخال خفيفاً مع توفّر مسار يُرجَع إليه عند الاستدعاء. أما المولّدات والمضخات والضواغط وكل ما يخضع لضمان فردي فمكانها الأرقام التسلسلية، لأن مطالبة الضمان تخصّ وحدة واحدة لا الدفعة التي وصلت فيها. وإن تتبّعتَ سلعة سائبة بالرقم التسلسلي فلن تجني من ذلك شيئاً، وإن تركتَ الأدوية بلا تتبّع بقي سؤال الاستدعاء بلا جواب. وحين تُباع هذه الوحدات أيضاً في صالة البيع، لا بد أن يبقى الرقم نفسه ملازماً لها عند الصندوق، وهذه هي الطبقة التي أبنيها في أنظمة نقاط البيع التي أُعدّها لتجار التجزئة والمشغّلين متعدّدي الفروع في الإمارات.
تواريخ الانتهاء ومدة الصلاحية: ما يقوم عليه أسلوب FEFO
يحتاج موزّعو الأغذية والأدوية ومستحضرات التجميل إلى طبقة إضافية فوق تتبّع الدفعات، هي الصلاحية. فبعد تفعيل «الدفعات والأرقام التسلسلية»، تضيف ميزة تواريخ الانتهاء (Expiration Dates) في Odoo أربعة حقول إلى المنتج المتتبَّع، يُحدَّد كل منها بعدد من الأيام: تاريخ الانتهاء (Expiration Date) الذي قد يصبح استخدام السلعة بعده خطراً؛ وتاريخ الاستهلاك المفضّل (Best Before Date) الذي تبدأ السلعة بعده بالتدهور دون أن تكون خطرة بعد؛ وتاريخ الإزالة (Removal Date) الذي ينبغي أن يكون المخزون قد سُحب قبل بلوغه؛ وتاريخ التنبيه (Alert Date) الذي يصدر عنده تحذير مسبق قبل حلول تاريخ الإزالة. ويحتسب Odoo هذه التواريخ الأربعة تلقائياً ابتداءً من يوم استلام الدفعة أو تصنيعها.
استراتيجيات سحب المخزون: FIFO افتراضياً وFEFO حين تهمّ الصلاحية
يحتاج Odoo إلى قاعدة تحدّد أي الوحدات يسحبها أولاً حين يُشحن الطلب، وهي استراتيجية السحب (Removal Strategy)، وتُضبط على الموقع أو على فئة المنتج، وللفئة الأولوية الأعلى. وإذا تُركت دون ضبط اعتمد Odoo افتراضياً أسلوب الوارد أولاً صادر أولاً (FIFO)، فيسحب المخزون الذي وصل قبل غيره. وهذا لا يكفي للسلع سريعة التلف، لأن الدفعة التي وصلت أولاً ليست دائماً أولى الدفعات انتهاءً؛ فاختلاف تواريخ الإنتاج بين الشحنات قد يجعل شحنة وصلت لاحقاً تسبق شحنة وصلت قبلها في تاريخ الانتهاء. ويعالج أسلوب الأقرب انتهاءً أولاً صادر أولاً (FEFO) هذا الأمر بالفرز بحسب تاريخ الإزالة لا تاريخ الوصول، فيخرج أولاً ما هو أقرب إلى التلف.
وثمة تحذير أوجّهه إلى كل عميل في قطاعي الأغذية والأدوية: يحدّد FEFO الأولوية ولا يفرض حظراً صارماً. فالدفعة التي تجاوزت تاريخ إزالتها يمكن أن تُسحب لتسليم طلب ما دام لم يُخرجها أحد من المخزون، ولذلك لا تفيد تواريخ التنبيه إلا إذا تصرّف أحد بناءً عليها. والمخطط أدناه هو الصورة التي أعرضها على كل عميل، من استلام البضاعة إلى الرقم المسجَّل في دفتر الأستاذ.
هيكل المستودعات والمواقع المتعدّدة
المستودع في Odoo هو المبنى أو المنشأة المادية، أما الموقع (Location) فهو الرف أو المنطقة أو الطابق داخلها، وتتيح خاصيتا مواقع التخزين (Storage Locations) والمسارات متعدّدة الخطوات (Multi-Step Routes) أن يكون للمستودع الواحد أكثر من موقع افتراضي. وإذا فعّلتَ المسارات متعدّدة الخطوات صار بوسع المستودع أن يستلم ويشحن بخطوة واحدة أو خطوتين أو ثلاث، وهو ما يصبح مهماً منذ اللحظة التي تحتاج فيها الحاوية إلى فحص جمركي أو فحص جودة قبل الإفراج عنها إلى المخزون القابل للبيع.
ويستطيع الموزّع الذي يدير مستودعاً جمركياً ومستودعاً رئيسياً وصالات عرض في فروعه أن يضع عدة مستودعات في قاعدة بيانات واحدة وأن ينقل المخزون بينها بعمليات نقل اعتيادية، مع خيار إعادة التزوّد من (Resupply From) الذي يتيح لأحد المواقع أن يسحب من موقع آخر تلقائياً. وهي المسألة نفسها التي يواجهها بائعو التجزئة متعدّدو الفروع والبائعون عبر الإنترنت من الجهة المقابلة، أي مطابقة المخزون في المواقع المختلفة مع ما وُعد به العميل، وهي الأرضية التي يقوم عليها ربط التجارة الإلكترونية والمخزون متعدّد الشركات ونقاط البيع في الفروع لتجار التجزئة في الإمارات.
التكاليف المحمّلة على البضاعة: ليعكس هامش الاستيراد حقيقته
سعر أمر الشراء ليس التكلفة الفعلية للسلعة المستوردة، وإذا لم يطّلع Odoo على بقية التكاليف جاء كل تقرير لهامش الربح بعد ذلك خاطئاً بصمت. وتتيح لك ميزة التكاليف المحمّلة (Landed Costs)، وتُفعَّل من المخزون ← التهيئة ← الإعدادات ← التقييم (Valuation)، أن تأخذ استلاماً مكتملاً وتضيف إليه تكاليف الشحن والتأمين والرسوم الجمركية وأي رسوم أخرى، فيعيد Odoo احتساب قيمة كل وحدة مستلمة لتشمل حصتها منها، ويرحّل التسوية إلى دفتر اليومية الذي تختاره. وثمة شرط يوقع كثيرين في الخطأ: لا بد أن تكون طريقة احتساب التكلفة في الفئة AVCO أو FIFO، فلا تنطبق التكاليف المحمّلة على فئة ما زالت على التكلفة القياسية (Standard).
وبالنسبة إلى الموزّع الذي يخلّص بضاعته عبر ميناء جبل علي أو أي ميناء آخر في الدولة، فإن بند الرسوم الجمركية والشحن جزء مما كلّفته السلعة فعلاً وليس من المصروفات العامة، ولذلك أُعدّ التكاليف المحمّلة قبل وصول أول حاوية لا بعدها. وحين يكون الشحن والتخليص هو نشاط الشركة نفسه يمتد الانضباط ذاته إلى مدى أبعد، وعليه يقوم عملي في احتساب تكاليف الشحن والتخليص الجمركي لمشغّلي الخدمات اللوجستية في الإمارات.
أعمار المخزون ورؤية المخزون الراكد
معرفة ما في المخزون لا تغني عن معرفة المدة التي أمضاها فيه. فتقرير التقييم (Valuation) في Odoo، ضمن المخزون ← التقارير، يعرض الأرقام نفسها بصيغ القائمة والجدول المحوري والرسم البياني، ويؤدي العرض المحوري عمل تقرير أعمار المخزون، إذ يوزّع الكمية المتوفرة وقيمتها بحسب تاريخ الاستلام. وهنا يظهر المخزون الراكد: بضاعة قابعة منذ تاريخ شراء مضى عليه شهور، تحجز المساحة والسيولة بينما تتحرّك الدفعات الأحدث من حولها. وفي شركة تجارة أو توزيع تحتفظ بتشكيلة واسعة من الأصناف (SKU) موزّعة على أكثر من مستودع، يكون هذا العرض المحوري عادةً أول ما أنظر فيه حين تبدو الهوامش سليمة على الورق والسيولة شحيحة. أما هيكل المشتريات والمخزون الأوسع الذي يقف خلفه فأتناوله في دليلي عن إدارة شركة تجارة وتوزيع على Odoo في الإمارات.
الجرد الدوري مقابل الجرد السنوي
يجدول Odoo افتراضياً جرداً شاملاً واحداً في السنة، في 31 ديسمبر ما لم يُغيَّر إعداد «يوم الجرد السنوي وشهره» (Annual Inventory Day and Month)، فيُجرَد كل منتج في كل موقع دفعة واحدة. أما الجرد الدوري فيختلف: إذ يُجرى من المخزون ← العمليات ← الجرد الفعلي (Physical Inventory)، ويتيح عدّ مواقع محدّدة وفق جدولها الخاص وبالتكرار الذي تحتاج إليه. ويناسب الجرد السنوي الواحد مستودعاً قليل القيمة بطيء الحركة، لكنه لا يناسب المواقع التي قد تنحرف فيها الأصناف الأعلى قيمة أو الأسرع حركة طوال العام دون أن يلحظ أحد. وأضبط الجرد الدوري على تلك المواقع وأترك الباقي على الدورة السنوية.
مطابقة تقييم المخزون مع دفتر الأستاذ
كل قسم من الأقسام السابقة يجب أن يلتقي في النهاية عند رقم واحد في الميزانية العمومية، وهنا تظهر أخطاء صغيرة تبدو كلفتها باهظة. يقيّم Odoo المخزون بإحدى ثلاث طرق لاحتساب التكلفة تُضبط على فئة المنتج: التكلفة القياسية (Standard)، وهي تكلفة ثابتة تُحدَّث يدوياً؛ ومتوسط التكلفة (AVCO)، وهو متوسط مرجّح يُعاد احتسابه بعد كل استلام؛ والوارد أولاً صادر أولاً (FIFO)، حيث تحتفظ كل دفعة بتكلفتها الخاصة إلى أن تُستهلك. وتُضبط الفئة كذلك على التقييم الدوري (Periodic) أو المستمر (Perpetual)، والمستمر هو المعتاد في الإمارات، إذ يُدرج المخزون في الأصول عند الاستلام ويُحمَّل على المصروفات عند البيع. ومما يجدر معرفته في Odoo 19 أن التقييم المستمر صار يُرحَّل على مستوى الفاتورة مع قيد إقفال واحد، بدلاً من قيد فوري لكل حركة مخزون، فاختلف شكل دفتر الأستاذ عمّا كان عليه في الإصدارات السابقة. وكل طريقة من طرق احتساب التكلفة هذه لا تعمل إلا من نقطة بداية صحيحة؛ فالرصيد الافتتاحي للمخزون، كميةً كان أم قيمةً، إذا أُدخل خاطئاً في اليوم الأول صار خطأً ترثه بصمت كل التقارير المذكورة أعلاه، ولهذا أعدّه جزءاً لا ينفصل عن إنجاز ترحيل البيانات إلى Odoo على الوجه الصحيح من المرة الأولى.
تغيّر التكاليف المحمّلة طبقة التقييم (Valuation Layer)، وتُرحَّل تسوية الجرد بقيدها الخاص، وتحدّد طريقة احتساب التكلفة كيف يُسعَّر كلاهما. ولا شيء من ذلك يتطابق من تلقاء نفسه. ولهذا أربط تقرير التقييم بحساب المخزون عند كل إقفال، وهو الانضباط نفسه الذي أطبّقه في مطابقة حسابات المراقبة الخاصة بضريبة القيمة المضافة قبل تقديم الإقرار، لأن الرقم غير المطابَق كثيراً ما يكتشفه المدقّق قبل أن يكتشفه أحد من الفريق.
القاعدة العملية التي أعطيها لكل موزّع في الإمارات: لا شيء يدخل المخزون أو يخرج منه دون مستند. فلا تعديل لكمية بالكتابة فوق رقم في تقرير، ولا استلام بالاستناد إلى فاتورة مورّد تتجاوز عملية النقل الفعلية. وإذا تعذّر إعادة بناء تاريخ وحدة ما من عمليات نقلها وحدها، فإن التتبّع لم يكن حقيقياً قط، بل بدا كذلك إلى أن جاء وقت الحاجة إليه.
الأسئلة الشائعة
ما الفرق بين رقم الدفعة والرقم التسلسلي في Odoo؟
هل يسحب Odoo المخزون المنتهي الصلاحية تلقائياً من المخزون القابل للبيع؟
هل يستطيع Odoo تتبّع دفعة مستدعاة وصولاً إلى كل عميل استلمها؟
هل يحتسب Odoo التكلفة الحقيقية للسلعة المستوردة بعد الشحن والرسوم الجمركية؟
ما الوتيرة المناسبة لموزّع في الإمارات بين الجرد الشامل للمخزون والجرد الدوري؟
قراءات ذات صلة
مزيد من الأدلة التي أعددتها: ما الجديد في Odoo 19، وفيه تغيّر التقييم الذي يقف وراء التحوّل في دفتر الأستاذ المذكور أعلاه؛ وOdoo Community مقابل Enterprise: كيف تختار، وهو قرار النسخة الذي يحدّد أدوات المخزون والتتبّع التي تحصل عليها فعلاً؛ وما الذي يحدّد فعلاً تكلفة تطبيق Odoo في الإمارات، وهو يبيّن موضع إعداد المستودعات والمخزون من ميزانية المشروع الأوسع؛ وأخيراً ما تخصّصه الشركات الإماراتية فعلاً في Odoo، إذ مثّلت أعمال المخزون والمستودعات وحدة من كل عشر وحدات في ذلك الإحصاء الذي ضمّ 140 وحدة.
هل ترغب في أن يراجع إعداد مستودعك شخص سبق أن أنجز مثله؟
أنا محمد سلمان علي خان، استشاري Odoo تقني ووظيفي في دبي، ورئيس المشاريع في Techbot Information Technology LLC، وهي من شركاء Odoo في الإمارات. لديّ خبرة تتجاوز 10 سنوات وأكثر من 100 عملية تطبيق، وأحمل شهادات Odoo المعتمدة على الإصدارات v13 وv14 وv15 وv16 وv18 وv19، وقد قدّمتُ مزايا Odoo 19 الجديدة في Odoo Experience 2025 في بروكسل. أخبرني عن مستودعك، وسأعرض عليك صورة صادقة ومحدّدة النطاق لما يتطلبه فعلاً إعداد المخزون والتتبّع على وجههما الصحيح في Odoo، دون أي مقابل.
احصل على تقييم مجاني لأعمالك