في أي نظام مخازن هناك أشياء تعدّلها في أي وقت: شكل التقرير، صلاحيات المستخدمين، حد إعادة الطلب، تصميم الشاشة. وهناك أربعة قرارات إن أخطأت فيها من البداية فلن تعالجها بتحديث: كيف تُرقَّم الأصناف، وماذا تتتبع مع كل قطعة، وبأي طريقة تُحسب تكلفة المخزون، وأين تُحجز الكمية عند البيع. تغيير أي منها بعد سنة تشغيل يعني ترحيل بيانات وإعادة طباعة ملصقات وإعادة بناء التقارير، وغالبًا فترة تعمل فيها بنظامين في وقت واحد.
هذا الدليل يتناول ترقيم الأصناف وما يتفرع عنه من قرارات، لا مزايا أنظمة المخازن. مكتوب لصاحب شركة توزيع أو مصنع صغير أو سلسلة فروع أو صيدلية أو مستورد مستحضرات تجميل في مصر أو السعودية أو الخليج، يوشك أن يوقّع على مواصفات نظام جديد ولا يريد أن يكتشف بعد عام أن أرقامه لا تصلح.
المنتج والموقع والشحنة: ثلاثة أرقام يخلط بينها الجميع
الخلط الأكثر تكلفة في مشاريع المخازن هو استعمال رقم واحد لثلاثة أشياء مختلفة. المعيار العالمي يفصل بينها بوضوح: تُعرّف GS1 اثني عشر مفتاح تعريف لكل منها وظيفة، وأشهرها ثلاثة:
| المفتاح | يعرّف | مثال من مخزنك |
|---|---|---|
| GTIN (رقم بند التجارة العالمي) | المنتج أو الخدمة | عبوة زيت 1 لتر من علامة معينة |
| GLN (رقم الموقع العالمي) | الأطراف والمواقع | المستودع نفسه، أو الفرع، أو المصنع |
| SSCC (كود حاوية الشحن التسلسلي) | الوحدة اللوجستية | البالتة أو الطرد المشحون |
الفرق العملي: الـGTIN يظل ثابتًا على ملايين العبوات من الصنف نفسه، بينما الـSSCC يُصرف مرة واحدة لشحنة بعينها ولا يتكرر. وكود الرف داخل مخزنك شيء رابع تمامًا، فهو ترقيم داخلي لن يقرأه أحد خارج شركتك، إلا إذا كان نشاطك خاضعًا لنظام تتبع حكومي كما سنرى بعد قليل.
وداخل الباركود نفسه توجد طبقة أخرى من التمييز. ملف GS1 التعريفي للـGTIN يشرحها في سطر واحد: الـGTIN يعرّف نوع المنتج عند أي مستوى تعبئة، والمجموعات المنتَجة في ظروف متشابهة تُميَّز إضافةً برقم التشغيلة وتاريخ الصلاحية، والقطعة الواحدة تُميَّز بالـGTIN مضافًا إليه رقم تسلسلي. هذه البيانات الإضافية تُحمل في الباركود عبر ما تسميه GS1 مُعرِّفات التطبيق (Application Identifiers)، ومرجعها المنشور يحدد لكل منها صيغته:
| المُعرِّف | البيان | الصيغة |
|---|---|---|
| 01 | GTIN | 14 رقمًا |
| 10 | رقم التشغيلة أو الدفعة | حتى 20 خانة أرقام وحروف |
| 17 | تاريخ انتهاء الصلاحية | YYMMDD |
| 21 | الرقم التسلسلي | حتى 20 خانة أرقام وحروف |
| 00 | SSCC | 18 رقمًا |
| 414 | موقع فيزيائي (GLN) | 13 رقمًا |
خذ من الجدول قرارًا واحدًا: رقم التشغيلة قد يحتوي حروفًا وقد يصل إلى 20 خانة. إذا صمم فريقك حقلًا رقميًا من 8 خانات لأن تشغيلات موردك الحالي كذلك، فأول مورد أجنبي سيكسر النظام.
هل تحتاج رقم GS1 أم يكفي ترقيم من عندك؟
الإجابة تعتمد على مكان بيع المنتج، لا على حجم شركتك.
إذا كان المنتج سيُمسح على كاشير محل تجزئة أو سيُدرج في سوق إلكتروني، فأنت تحتاج رقمًا من GS1. لبناء أي مفتاح تعريف يجب أن تصبح عضوًا في GS1 وتحصل على بادئة شركة (GS1 Company Prefix)، وتشدد GS1 على أنها لا تسمح بنقل أرقام GTIN أو إعادة بيعها، وأن المكتب العضو المرخص وحده يصدرها ويضمن تفردها. الأرقام المعروضة للبيع على مواقع وسيطة إما ليست في نظام GS1 أصلًا، وإما أرقام صادرة لطرف آخر ستظهر مرتبطة ببياناته لا ببياناتك.
ومكاتب GS1 موجودة في المنطقة فعلًا؛ صفحة التواصل على gs1.org تدرج مصر والسعودية والإمارات والكويت وقطر وعُمان والبحرين والأردن ضمن مكاتبها. وبادئات المنطقة في جدول البادئات الرسمي كالآتي: 622 لمصر، 628 للسعودية، 629 للإمارات، 627 للكويت، 630 لقطر، 607 لعُمان، 608 للبحرين. وGS1 السعودية تصف نفسها بأنها الجهة الوحيدة المخوّلة بإصدار الباركود السعودي بالبادئة 628.
هنا تصحيح يستحق الانتباه لأنه يظهر في مواد تسويقية كثيرة: البادئة لا تعني بلد المنشأ. تقول GS1 صراحة إن الرقم يبدأ ببادئة المكتب الذي أصدره فحسب، وإن المنتج قد يكون صُنع في أي مكان في العالم. فلا تبنِ تقرير «مبيعات المنتج المحلي» على أول ثلاثة أرقام من الباركود.
أما إذا كان الصنف لا يغادر شركتك، مثل المواد الخام وقطع الغيار والأصناف التي تُباع بالجملة بفاتورة لا بمسح ضوئي، فترقيمك الداخلي كافٍ. النظام العالمي نفسه يحجز بادئات لهذا الغرض: جدول GS1 يخصص 0000000 و040 إلى 049 لأرقام التداول المقيّد داخل الشركة، و020 إلى 029 و200 إلى 299 لأرقام مقيّدة داخل منطقة جغرافية.
وفي مصر، الجهة التي قد تظنها الأكثر تشددًا تقبل الحالتين. ملف «التكويد» المنشور على صفحة التكويد بمصلحة الضرائب المصرية يطلب من الممول بيانًا بالأكواد المستخدمة لديه «سواء بالاعتماد على نظام تكويد عالمي مثل (GS1) أو نظام تكويد داخلي يتم ربطه بنظام التصنيف المجموعة السلعية (GPC) أو كليهما» (اطّلعنا عليه في سبتمبر 2026). بعبارة أخرى: لست مضطرًا لشراء باركود لكل صنف لتصدر فاتورة إلكترونية، لكنك مضطر لأن يكون لكل صنف كود ثابت مرتبط بتصنيف معتمد. تفاصيل الربط نفسه في دليل ربط نظامك بالفاتورة الإلكترونية المصرية، وفي السعودية في المرحلة الثانية من الفوترة الإلكترونية.
بنية كود الصنف: ما يدخل فيه وما يُخزَّن بجانبه
القاعدة الأولى تأتي من GS1 نفسها: كل منتج وكل تنويعة منه، أي كل مقاس وكل لون، تحتاج رقمًا خاصًا بها، والرقم الواحد لا يُسند إلا لمنتج واحد. هذا يعني أن قميصًا بأربعة مقاسات وثلاثة ألوان هو اثنا عشر صنفًا في نظامك، لا صنف واحد بخصائص. إن حاولت اختصاره إلى صنف واحد فستكتشف عند أول جرد أنك لا تعرف كم بقي من المقاس الوسط الأزرق.
ثم يأتي قرار التخزين، وهو غير قرار الطباعة. توصي GS1 بحفظ الـGTIN في قواعد البيانات دائمًا في 14 خانة، مع إكمال الصيغ الأقصر بأصفار بادئة. السبب عملي: الصيغ الأربع الشائعة هي GTIN-8 وGTIN-12 (المعروف بـUPC) وGTIN-13 (المعروف بـEAN) وGTIN-14 للكراتين، وإذا خزّنتها بأطوالها المختلفة فستفشل المطابقة بين ملف المورد وقاعدة بياناتك على صنف واحد بين كل عشرة، والفرق كله صفر بادئ.
أصعب هذه القرارات على الإقناع هو الثالث: لا تضع معلومات متغيرة داخل الكود. الترقيم «الذكي» الذي يحمل حرف المورد ورقم المخزن وسنة الإدخال يبدو مريحًا في أول شهر، ثم يتحول إلى عبء عند أول تغيير مورد أو نقل صنف بين فرعين، لأنك ستجد نفسك أمام خيارين سيئين: كود يكذب على واقعه، أو كود جديد يقطع تاريخ الصنف إلى نصفين. المورد والفرع والسنة حقول مستقلة تُربط بالكود، لا حروف داخله. اجعل الكود ثابتًا وأعمى، واترك المعنى للحقول والتقارير.
عمليًا، احتفظ بحقلين منفصلين لكل صنف: كودك الداخلي الذي لا يتغير أبدًا، والـGTIN الذي قد يكون فارغًا، وقد يكون أكثر من واحد للصنف نفسه إذا كان لك أكثر من مصدر. نظام «رصد» السعودي يعترف بهذا الاحتمال صراحة، إذ تجيز أسئلته الشائعة إضافة أكثر من GTIN لرقم تسجيل الدواء الواحد.
التشغيلة والرقم التسلسلي والصلاحية: متى تصير التزامًا
فريق سنابل يوفر لك دراسة فنية مخصصة لتحديد التقنيات المناسبة وتكلفة التنفيذ الدقيقة.
في قطاعات بعينها يحسم هذا السؤال نصٌّ تنظيمي منشور، وتُحاسَب على مخالفته.
الغذاء في السعودية. اللائحة التنفيذية لنظام الغذاء الصادرة عن الهيئة العامة للغذاء والدواء تلزم المنشأة الغذائية في مادتها الحادية والخمسين بوضع دليل تتبع، وبتطبيق التتبع «خطوة واحدة للأمام وخطوة واحدة للخلف»، وبسجل للموردين يتضمن اسم المورد وعنوانه وتاريخ الاستلام وكميات المنتجات وبيانات نقلها وتخزينها، وسجل مماثل للعملاء. وتحدد الفقرة الخامسة من المادة ما الذي يجب أن يُعرف عن كل غذاء متداول: الباركود وتاريخ الإنتاج وانتهاء الصلاحية ورقم الدفعة. ثم تأتي المادة الثانية والخمسون بالرقم الذي يهم من يصمم قاعدة البيانات: سجلات التتبع تُحفظ مدة أدناها 180 يومًا تبدأ من تاريخ انتهاء صلاحية المنتج، وللهيئة أن تحدد مددًا أخرى لأغذية بعينها. واللائحة تعرّف الدفعة بأنها «كمية محددة من الأغذية أنتجت أساسًا تحت نفس الظروف»، وهو تعريف يحسم لك متى تفتح تشغيلة جديدة.
ولأن السحب هو الاختبار الحقيقي لأي نظام تتبع، تنص المادة الثامنة والخمسون على البدء الفوري في إجراءات السحب فور العلم أو الشك بعدم المطابقة، وإبلاغ الهيئة فورًا، وإتمام السحب خلال فترة تحددها الهيئة. إذا كان مخزنك يعرف الكميات فقط دون أن يعرف أي تشغيلة ذهبت إلى أي عميل، فأنت أمام سحب كامل للصنف بدلًا من سحب دفعة واحدة.
مستحضرات التجميل في السعودية. اللائحة التنفيذية لنظام منتجات التجميل تشترط أن يحمل كل منتج تجميلي صلاحية المنتج و«تاريخ الإنتاج ورقم التشغيلة، أو أحدهما»، وتلزم المُدرج بتوثيق بيع المنتج بالجملة وبإبلاغ الهيئة عند استدعاء المنتج في أي بلد. الالتزام الأخير يعني أن نظامك يجب أن يجيب في دقائق عن سؤال: هذه التشغيلة المستدعاة في الخارج، أين منها عندنا وإلى من ذهبت.
الأدوية. السعودية سبقت المنطقة هنا. تنشر الهيئة تعاميم نظام التتبع الدوائي «رصد» وتشمل تزويد الهيئة بالـGTIN، وتطوير الباركود الخطي إلى ثنائي الأبعاد، وترميز كل عبوة برقم تسلسلي داخل الباركود وهو تعميم صادر في 1 فبراير 2018 وحالته «فعّال». وأسئلة النظام الشائعة تحسم ثلاث نقاط تصميمية: لا يُكرَّر الرقم التسلسلي على دواء يحمل نفس الـGTIN، ويجب أن يكون لكل مستودع مرخص رقم موقع عالمي خاص به، ويجب التبليغ عن كل عمليات الإرسال والقبول لكل عبوة سواء داخل المنشأة أو خارجها. الشرط الثاني وحده يلغي فكرة «مخزن واحد بمواقع فرعية» في تصميمك.
مصر. في المستلزمات والأجهزة الطبية والكواشف المعملية يوجد التزام منشور: ألزمت هيئة الدواء المصرية بقرار رئيسها رقم 499 لسنة 2021 كل ما يُتداول داخل مصر من مستلزمات وأجهزة طبية وكواشف معملية بحمل الباركود الدولي (GTIN). نُشر القرار في الوقائع المصرية بالعدد 257 يوم 16 نوفمبر 2021، وأعطى الشركات مهلة أقصاها سنة للحصول على الأرقام.
أما تتبع الأغذية في مصر فلم نعثر على نص تنظيمي منشور يحدد متطلبات تفصيلية على غرار اللائحة السعودية. الهيئة القومية لسلامة الغذاء أُنشئت بالقانون رقم 1 لسنة 2017 المنشور بالجريدة الرسمية في 10 يناير 2017، وتتولى الرقابة على تداول الغذاء، لكننا لم نصل إلى لائحة منشورة تحدد مدد الاحتفاظ بالسجلات أو محتواها. إن كان نشاطك غذائيًا في مصر فاسأل الهيئة مباشرة قبل أن تثبّت تصميمك، ولا تفترض أن المتطلب غير موجود لمجرد أنك لم تجده منشورًا.
عمليًا، ما يعنيه كل ما سبق في قاعدة بياناتك شيء واحد: الكمية لا تُخزَّن على مستوى الصنف، بل على مستوى (صنف، تشغيلة، موقع). وهذا هو الفرق بين نظام يستطيع تطبيق الصرف بأقرب صلاحية أولًا وآخر يطبع تقريرًا بإجمالي لا معنى له.
طريقة تقييم المخزون: قرار محاسبي ينفّذه نظامك
سؤال «فيفو أم متوسط مرجح؟» يُطرح عادةً على المبرمج، وهو في الأصل قرار محاسبي محكوم بمعيار.
في مصر، معايير المحاسبة المصرية صدرت بقرار وزير الاستثمار رقم 110 لسنة 2015 وبدأ العمل بها من أول يناير 2016، وتصفها الهيئة العامة للرقابة المالية بأنها متوافقة إلى حد كبير مع المعايير الدولية. ونص معيار المخزون يحدد ثلاث حالات: البنود التي لا تحل محل بعضها تُحمَّل بطريقة «التمييز المحدد للتكلفة»، وما عداها يُحمَّل بطريقة الوارد أولًا يصرف أولًا أو المتوسط المرجح، وعلى المنشأة استخدام الطريقة نفسها لكل أنواع المخزون التي لها الطبيعة نفسها والاستخدام نفسه. كما يوجب المعيار الإفصاح في القوائم المالية عن السياسة المحاسبية المتبعة في قياس المخزون بما فيها طريقة حساب التكلفة.
وفي السعودية، تُطبَّق معايير IFRS المعتمدة من الهيئة السعودية للمراجعين والمحاسبين على المنشآت ذات المسؤولية العامة، ويجوز لغيرها استخدام المعايير الكاملة أو معيار المنشآت الصغيرة والمتوسطة. ومعيار المحاسبة الدولي رقم 2 يتبنى المنطق نفسه: تمييز محدد للبنود غير القابلة للإحلال، وفيفو أو متوسط مرجح لما عداها.
ثلاثة آثار على النظام. الأول أن الطريقة تُثبَّت لكل مجموعة أصناف متشابهة، فلا يترك النظام الاختيار للمستخدم عند كل عملية. والثاني أن تكلفة البضاعة المباعة يجب أن تُحسب وقت الصرف لا في نهاية الشهر، وإلا فقدت القدرة على معرفة ربح الصنف. والثالث أن تغيير الطريقة لاحقًا يمر بالمحاسب وبالإفصاح في القوائم المالية، فلا تعامله كخيار في شاشة الإعدادات. اتفق عليها مع محاسبك قبل أن يبدأ الفريق التقني، لا بعده.
تنبيه: ما سبق عرض لنصوص منشورة، وليس استشارة محاسبية أو ضريبية. راجع محاسبك القانوني قبل اعتماد سياسة التقييم.
الجرد: الدوري والمستمر، وماذا تفعل بالفروق
الجرد السنوي الذي توقف فيه العمل يومًا كاملًا يعطيك صورة صحيحة مرة واحدة في السنة، ثم تبدأ الصورة في الانحراف من اليوم التالي. البديل هو الجرد الدوري الجزئي (cycle counting): تعدّ كل أسبوع مجموعة صغيرة من المواقع أو الأصناف بحيث يمر عليها جميعًا خلال دورة كاملة، فتكتشف الانحراف وهو صغير وتعرف متى بدأ.
شاشة الجرد متشابهة في معظم الأنظمة. الفرق يظهر فيما يحدث بعد العد: أي تسوية يجب أن تُسجَّل بسبب مصنّف لا بملاحظة حرة. توثيق حالات المخزون في Shopify يوضح الفكرة بقائمة أسباب جاهزة، منها cycle_count_available للفروق المكتشفة بين العد الفعلي والرصيد المسجل، وshrinkage حين يكون الرصيد الفعلي أقل بسبب السرقة أو الفقد، وdamaged وrestock وreceived. الفارق بين تسوية سببها خطأ إدخال وأخرى سببها فقد هو الفارق بين تقرير يُصلح عملية وتقرير يُغلق ملفًا.
ثلاثة شروط تجعل الجرد الدوري مفيدًا: أن يعدّ الموظف موقعًا بعينه لا صنفًا في كل المخزن، وأن يكون اعتماد الفرق صلاحية منفصلة عن صلاحية العد، وأن يبقى سجل التسوية غير قابل للحذف. بدون هذه الثلاثة يتحول الجرد إلى أداة لإخفاء الفروق لا لكشفها.
البيع الزائد: مشكلة حالات لا مشكلة تنبيهات
أشهر عطب في المخازن المربوطة بمتجر إلكتروني هو بيع صنف نفد. التفسير الشائع أن «المخزون يتحدث متأخرًا»، والتفسير الأدق أن النظام يحتفظ برقم واحد للكمية بينما الواقع يحتاج عدة أرقام.
توثيق Shopify يعرض النموذج بوضوح: الرصيد الفعلي في الموقع (on_hand) يساوي مجموع المتاح للبيع (available) والمحجوز لطلبات قائمة (committed) والمعزول لغرض محدد (reserved) والتالف (damaged) ومخزون الأمان (safety_stock) وما هو قيد الفحص (quality_control). وحالة committed تديرها المنصة نفسها عند إنشاء الطلب وتنفيذه ولا تُعدَّل من الواجهة البرمجية. أي أن الكمية تُخصم من المتاح لحظة إنشاء الطلب، لا لحظة الشحن. وفي قائمة الأسباب نفسها يظهر safety_stock موصوفًا بأنه عزل وحدات «للحماية من البيع الزائد».
وحتى مع النموذج الصحيح تبقى مشكلة التزامن: طلبان يصلان في اللحظة نفسها لآخر قطعة. هنا يُحسم الأمر في قاعدة البيانات لا في واجهة المستخدم. توثيق PostgreSQL يشرح أن SELECT ... FOR UPDATE يقفل الصفوف المسترجَعة فيمنع المعاملات الأخرى من تعديلها أو قفلها حتى تنتهي المعاملة الحالية. بلغة المخازن: تقرأ رصيد الصنف وتقفله، وتتحقق من الكمية، وتخصم، ثم تُنهي المعاملة. الطلب الثاني ينتظر ثم يقرأ الرصيد بعد الخصم فيُرفض بدل أن يُقبل. اسأل عن هذه النقطة تحديدًا في أي عرض فني تتلقاه.
ويبقى شرط رابع: قناة واحدة للحقيقة. إذا كان الكاشير يخصم من جدول والمتجر من جدول آخر ويتزامنان كل خمس دقائق، فأنت تملك رصيدين، وكل تنبيه ستضيفه سيصلك بعد أن يكون العميل قد دفع. تفاصيل ربط الكاشير بالمخزن في دليل نظام نقاط البيع، وربط المخزن بالشحن في حلول الشحن للمتاجر الإلكترونية، وتطبيق الفكرة على مطعم متعدد الفروع في المنظومة التقنية للمطاعم.
قائمة القرارات قبل كتابة أول سطر
- هل تحتاج أرقام GS1؟ احسم ذلك حسب قناة البيع، ولو احتجتها فتعامل مع مكتب GS1 في بلدك وحده.
- ثبّت كودًا داخليًا ثابتًا لكل صنف، واحفظ الـGTIN في حقل منفصل بـ14 خانة، واسمح بأكثر من GTIN للصنف الواحد.
- عرّف كل تنويعة (مقاس، لون، حجم عبوة) كصنف مستقل من اليوم الأول.
- قرر الآن: هل تحتاج تشغيلة، أم رقمًا تسلسليًا، أم كليهما، أم لا شيء؟ وراجع ما يفرضه نشاطك نظاميًا قبل أن تقرر.
- اجعل الكمية محفوظة على مستوى (صنف، تشغيلة، موقع)، وامنح كل مستودع كود موقع مستقلًا.
- احسم طريقة التقييم مع محاسبك، وثبّتها لكل مجموعة أصناف متشابهة.
- اطلب قائمة أسباب مصنّفة لكل تسوية مخزون، وسجلًا غير قابل للحذف، وفصلًا بين من يعدّ ومن يعتمد.
- اطلب حجز الكمية عند إنشاء الطلب مع قفل على مستوى الصف، ورصيدًا واحدًا مشتركًا بين كل القنوات.
- حدد مدة الاحتفاظ بسجلات التتبع بناءً على ما يفرضه قطاعك، وابنِ الأرشفة على أساسها لا على أساس مساحة القرص.
هذه القرارات هي ما يفرّق بين نظام مخازن يكبر مع الشركة وآخر يُستبدل بعد سنتين. أغلبها لا يكلف شيئًا إضافيًا إن اتُّخذ في مرحلة التصميم، وكلها تكلف كثيرًا بعد التشغيل. وإن كنت تقارن بين نظام جاهز ونظام مخصص، فالأسئلة التسعة السابقة هي أفضل اختبار للمفاضلة؛ المقارنة الأوسع في أنظمة جاهزة أم مخصّصة، وبنود التكلفة في دليل تكلفة نظام ERP، والفرق بين ما يديره ERP وما يديره CRM في الفرق بين ERP وCRM.
إذا كنت تبني نظام مخازن أو تستبدل نظامًا قائمًا، ابدأ من صفحة الأنظمة المخصصة واكتب لنا نشاطك وعدد أصنافك والقنوات التي تبيع عبرها وما إذا كان قطاعك يفرض تتبع تشغيلات. يردّ عليك فريق سنابل بنطاق مقترح للمشروع ومدة متوقعة وحدود ميزانية، دون رسوم أو ارتباط.
المصادر
- GS1: مفاتيح التعريف وبادئة الشركة وجدول البادئات ومرجع مُعرِّفات التطبيق وملف GTIN التعريفي وتخزين GTIN في 14 خانة، اطُّلع عليها في 21 سبتمبر 2026.
- الهيئة العامة للغذاء والدواء (السعودية): اللائحة التنفيذية لنظام الغذاء واللائحة التنفيذية لنظام منتجات التجميل وتعاميم وأدلة نظام «رصد».
- هيئة الدواء المصرية: قرار رئيس الهيئة 499 لسنة 2021 عن الباركود الدولي GTIN.
- مصلحة الضرائب المصرية: صفحة التكويد وملف «التكويد» المنشور عليها.
- الهيئة العامة للرقابة المالية: معايير المحاسبة المصرية ونص الإصدار.
- IFRS Foundation: معيار IAS 2 وملف السعودية.
- Shopify: إدارة كميات المخزون وحالاته.
- PostgreSQL: القفل الصريح.


