برنامج محاسبة للصيدليات: معايير الاختيار العملية
كيف تختار برنامج محاسبة للصيدليات يتابع الدفعات وتواريخ الصلاحية والبدائل والمرتجعات والفواتير على جهات، مع جدول معايير وقائمة فحص للعرض التوضيحي.
الكاتب:سامي الحيدري
اختيار برنامج محاسبة للصيدليات ليس نسخة مصغّرة من اختيار برنامج لأي متجر تجزئة. الصيدلية تشتري الصنف الواحد بدفعات مختلفة، ولكل دفعة تاريخ انتهاء وسعر شراء مختلف، وتعيد جزءاً معتبراً من مشترياتها إلى المورّد، وتصرف جزءاً آخر على حساب جهة لا على حساب الزبون الواقف أمام الكاشير. أي نظام لا يتعامل مع هذه الأربعة لا يعطيك صورة صحيحة عن مخزونك ولا عن ربحك، حتى لو كانت قيوده المحاسبية سليمة تماماً.
هذا الدليل مكتوب على شكل معايير وأسئلة تطرحها في العرض التوضيحي، لا على شكل مقارنة بين أسماء. الأسماء تتغير، والمعايير تبقى.
لماذا يفشل البرنامج العام في الصيدلية
البرنامج المحاسبي العام مبني على فكرة بسيطة: صنف واحد، كمية، سعر شراء متوسط، سعر بيع. هذه الفكرة كافية لمتجر ملابس أو قطع غيار. في الصيدلية تنكسر من أربع جهات:
- الصنف ليس وحدة واحدة. لديك من نفس المستحضر ثلاث دفعات في الرف، تنتهي في ثلاثة تواريخ، واشتُريت بثلاثة أسعار. البرنامج الذي يرى «١٢٠ علبة» فقط لا يعرف أن ٣٠ منها ستصبح بلا قيمة بعد شهرين.
- البيع ليس دائماً بالعلبة. يُطلب منك شريط واحد من علبة فيها ثلاثة أشرطة، أو كمية محددة من مستحضر يُصرف بالوزن أو بالوحدة.
- المرتجع ليس استثناءً. الإرجاع إلى المورّد نشاط شهري متكرر في الصيدلية، لا حالة نادرة.
- الدافع ليس دائماً المشتري. الصرف على حساب جهة يجعل الذمة المدينة على الجهة، لا على من استلم الدواء.
من يبدأ باختيار نظام ثم يحاول ترقيع هذه الفروق بملفات خارجية ينتهي بمخزون على الورق لا يطابق الرف، وبهامش ربح يبدو جيداً حتى يأتي الجرد.
برنامج محاسبة للصيدليات يبدأ من الدفعة وتاريخ الصلاحية
المخزون الذي ينتهي ليس مخزوناً، بل خسارة لم يُعترف بها بعد. ما دامت الدفعة في الرف وفي النظام بقيمتها الدفترية الكاملة، فأنت تعرض في ميزانيتك أصلاً سيتحول إلى صفر في تاريخ معروف مسبقاً. النظام الذي لا يتابع الدفعة وتاريخ الانتهاء لا يستطيع تقييم المخزون بصدق، لأنه يفتقد المعلومة الوحيدة التي تحدد ما إذا كانت الكمية قابلة للبيع أصلاً.
ما يجب أن يوفره النظام على مستوى الدفعة:
- تسجيل الدفعة عند الشراء، لا عند البيع: رقم الدفعة وتاريخ الانتهاء يُدخلان مع فاتورة المورّد.
- الصرف بالأقدم انتهاءً أولاً (FEFO)، مع اقتراح الدفعة تلقائياً على شاشة البيع وإمكانية التجاوز اليدوي مع تسجيل من تجاوز ولماذا.
- تقييم المخزون بتكلفة الدفعة الفعلية، لا بمتوسط يخفي أن دفعة قديمة اشتُريت بسعر مختلف.
- منع أو تحذير عند صرف دفعة منتهية، بصلاحية لا يملكها كل مستخدم.
- تقرير الصلاحية بشرائح زمنية (٩٠ / ٦٠ / ٣٠ يوماً) يُستخرج بقيمة مالية لا بعدد أصناف فقط.
- قيد إعدام أو إتلاف يخرج الدفعة من المخزون ويسجّل الخسارة في حساب مستقل، حتى تعرف تكلفة الانتهاء كرقم سنوي.
النقطة الأخيرة هي التي تفرّق النظام الجاد عن غيره. إذا كان الإتلاف عندك مجرد «تسوية جرد»، فأنت تذوّب خسارة الصلاحية داخل فروقات الجرد العامة ولا تراها أبداً.
توضيح افتراضي: حجم التعرّض لانتهاء الصلاحية
الأرقام التالية افتراضية لتوضيح الطريقة، وليست بيانات سوق ولا متوسطات قطاع. المقصود منها أن تعيد الحساب بأرقام صيدليتك أنت.
افترض صيدلية قيمة مخزونها الدفتري ٤٠٠٠٠٠ ريال، وشغّلت تقرير الصلاحية بشرائح:
| شريحة الصلاحية | عدد الأصناف | قيمة المخزون (ريال) | نسبة من قيمة المخزون | ما يزال ممكناً |
|---|---|---|---|---|
| منتهية فعلاً | ١٢ | ٣٢٠٠ | ٠٫٨٪ | الإتلاف وتسجيل الخسارة |
| أقل من ٣٠ يوماً | ٢٦ | ٩٦٠٠ | ٢٫٤٪ | تصريف سريع أو عرض مرتبط |
| ٣٠ إلى ٦٠ يوماً | ٤١ | ١٨٤٠٠ | ٤٫٦٪ | خصم موجّه أو نقل إلى فرع أسرع دوراناً |
| ٦٠ إلى ٩٠ يوماً | ٥٥ | ٢٤٨٠٠ | ٦٫٢٪ | تفاوض إرجاع مع المورّد |
| أكثر من ٩٠ يوماً | الباقي | ٣٤٤٠٠٠ | ٨٦٫٠٪ | لا إجراء |
| الإجمالي | — | ٤٠٠٠٠٠ | ١٠٠٪ | — |
اقرأ الجدول من أسفل إلى أعلى. قيمة التعرّض خلال التسعين يوماً القادمة هي ٥٦٠٠٠ ريال، أي ١٤٪ من قيمة المخزون. هذه ليست خسارة، بل مهلة. كل صفٍّ أعلى في الجدول يعني خيارات أقل وتكلفة أعلى: على بعد ٩٠ يوماً يمكن التفاوض على الإرجاع، وعلى بعد ٦٠ يوماً يمكن النقل أو الخصم، وعلى بعد ٣٠ يوماً تضيق الخيارات إلى التصريف بأي هامش، وعند الانتهاء لا يبقى إلا قيد الخسارة.
سياسة التنبيه ٩٠/٦٠/٣٠ لا تقلل الانتهاء بنفسها، بل تنقل القرار من بعد الانتهاء إلى قبله. قيمتها الحقيقية أنها تحوّل رقماً واحداً غامضاً («فاقد») إلى ثلاث قوائم عمل مختلفة، لكل منها إجراء محدد ومسؤول محدد. وهذا يتطلب أن يكون التقرير آلياً ومجدولاً، لا شيئاً يتذكر أحدهم استخراجه.
تفاصيل بناء هذه السياسة على مستوى المخزون موجودة في دليل نظام إدارة المخزون.
الأصناف البديلة والباركود وبيع جزء من العلبة
ثلاث قدرات تُختبر في دقيقتين على شاشة البيع، ومعظم الأنظمة العامة تسقط في إحداها:
البديل والمكافئ. عندما ينتهي صنف من الرف، يحتاج من يقف على الكاشير أن يرى البدائل المرتبطة بالصنف نفسه فوراً، لا أن يبحث بالاسم ويعتمد على ذاكرته. الربط يُبنى مرة واحدة على مستوى المادة الفعّالة أو على مستوى مجموعة يحددها الصيدلي، ثم يظهر كاقتراح في الشاشة. الفائدة محاسبية أيضاً: البيع لا يُفقد، والطلب المكبوت يُسجَّل بدل أن يختفي.
الباركود على مستويين. باركود العلبة وباركود الوحدة ليسا نفس الشيء. النظام يجب أن يقبل أكثر من باركود للصنف الواحد، وأن يعرف معامل التحويل بين وحدة الشراء ووحدة البيع. بدون ذلك ستشتري بالكرتون وتبيع بالعلبة وتترك الفرق يتسرب في كل جرد.
بيع جزء من العلبة. إذا باعت الصيدلية شريطاً من علبة فيها ثلاثة، فالنظام يحتاج أن يخصم ثلث العلبة من المخزون، وأن يحتفظ بالعلبة المفتوحة كوحدات متبقية مربوطة بنفس الدفعة ونفس تاريخ الانتهاء. النظام الذي يتعامل مع الكميات بأعداد صحيحة فقط سيجبرك على خصم علبة كاملة، وستكتشف الفرق لاحقاً كنقص غير مفسّر.
اختبار سريع: اطلب في العرض التوضيحي بيع وحدة واحدة من علبة، ثم اطلب تقرير المخزون لنفس الصنف، ثم اطلب إرجاع تلك الوحدة. إذا عادت الكمية إلى الدفعة الصحيحة، فالنظام يفهم ما تفعله. مزيد عن سلوك شاشة البيع في دليل نظام نقاط البيع.
المرتجعات إلى المورّد وإشعارات الدائن
الصيدلية ترجع أكثر من أي متجر تجزئة تقريباً: دفعات قاربت الانتهاء، أصناف لم تدر، أصناف وصلت بحالة غير مقبولة، وأصناف أوقف المورّد توريدها. هذا يعني أن المرتجع للمورّد ليس شاشة ثانوية، بل دورة كاملة يجب أن يديرها النظام:
- طلب إرجاع مرتبط بفاتورة الشراء الأصلية وبرقم الدفعة تحديداً، لا بالصنف فقط.
- خروج المخزون من نفس الدفعة، لا من أي دفعة متاحة.
- إشعار دائن من المورّد يُسجَّل ويُسوّى مقابل حسابه، مع متابعة ما لم يُسوَّ بعد.
- تقرير بعمر طلبات الإرجاع: ما أُرسل ولم يُقابله إشعار، لأن هذا رصيد لك عند المورّد لا يظهر في أي مكان آخر.
وعلى الجانب الآخر، مرتجعات الزبائن بعد إصدار الفاتورة تُعالج بإشعار دائن مرتبط بالفاتورة الأصلية. هذا ليس خياراً تنظيمياً: في المرحلة الثانية من الفاتورة الإلكترونية لا يجوز تعديل الفاتورة بعد إصدارها، والتصحيح يتم بإشعار دائن أو مدين. فإذا كان نظامك يعالج المرتجع بـ«تعديل الفاتورة»، فأنت أمام مشكلة بنيوية لا إعداداً يُضبط.
الفواتير على جهات: التأمين والعقود
جزء من صرف الصيدلية يذهب إلى مستلم ليس هو الدافع: شركة تأمين، جهة حكومية، عقد شركة. المعالجة التشغيلية والمحاسبية مختلفة جوهرياً عن البيع النقدي، وهذا ما يحتاجه النظام:
| ما يحدث على الأرض | ما يجب أن يسجّله النظام |
|---|---|
| المستلم يأخذ الدواء ويدفع جزءاً أو لا يدفع | إيراد بالكامل، تحصيل نقدي جزئي، والباقي ذمة مدينة |
| الباقي على جهة لا على المستلم | الذمة المدينة تُفتح على حساب الجهة، لا على اسم المستلم |
| المطالبة تُجمَّع وتُرسَل دورياً | تجميع البنود في مطالبة واحدة قابلة للطباعة والتصدير |
| الجهة قد ترفض بنداً | تسوية جزئية: المحصّل، المرفوض، والمتبقي كأرصدة منفصلة |
| السداد يأتي بعد أسابيع | تقرير أعمار ذمم لكل جهة على حدة |
الخلاصة المحاسبية بسيطة ويغفلها كثيرون: إذا كان نظامك يسجّل هذه العمليات كبيع نقدي بخصم، فأنت تُظهر إيراداً محصّلاً وأنت لم تحصّل، وتفقد القدرة على معرفة كم لك عند كل جهة. وإذا سجّلها على اسم المستلم، فستجمع آلاف الحسابات الفردية بدل حساب واحد قابل للمطالبة والمطابقة.
ما يجب أن يسأل عنه مشتري النظام: هل يمكن تقسيم الفاتورة الواحدة بين نقد وذمة جهة؟ هل يمكن إقفال مطالبة جزئياً؟ وهل يظهر المرفوض كرصيد قابل للمتابعة أم يُشطب بصمت؟ هذه أسئلة تشغيلية عن قدرات النظام، لا اقتباس لأي لائحة.
متعدّد الفروع والنقل بين الصيدليات
وجود أكثر من فرع يغيّر معنى كلمة «مخزون». النظام يحتاج:
- رصيد مستقل لكل فرع، مع إمكانية رؤية الرصيد الكلي في شاشة واحدة.
- أمر نقل بين الفروع يسجّل الكمية والدفعة وتاريخ الانتهاء، بمرحلتَي إرسال واستلام، حتى تعرف ما هو «في الطريق».
- تسعير وعروض على مستوى الفرع عند الحاجة، مع كتالوج أصناف مركزي واحد.
- تقارير مقارنة بين الفروع: الدوران، الفاقد، والتعرّض للصلاحية لكل فرع.
- صلاحيات مرتبطة بالفرع، فلا يرى مسؤول فرع بيانات فرع آخر إلا بتفويض.
النقل بين الفروع هو أرخص أداة لتقليل الانتهاء: الصنف الراكد في فرع قد يكون سريع الدوران في فرع آخر. لكنه لا يعمل إلا إذا كان النقل يحمل الدفعة وتاريخها، وإلا نقلت المشكلة بدل أن تحلّها. من يبحث عن إدارة مخزون بالدفعات وتواريخ الصلاحية يبدأ من هنا تحديداً.
الفاتورة الإلكترونية في بيئة صيدلية
الصيدلية تُصدر عدداً كبيراً من الفواتير المبسّطة اليومية، ولهذا فإن متطلبات المرحلة الثانية تمسّ شاشة البيع عندها أكثر من أي قسم آخر. ما هو مثبّت ويجب أن يوفره النظام:
- الفاتورة تُصدر بصيغة XML وفق UBL 2.1.
- ختم تشفيري على الفاتورة.
- عدّاد لا يُصفَّر، وسلسلة تجزئة (hash chain) تربط كل فاتورة بما قبلها.
- رمز QR على الفواتير المبسّطة.
- الفواتير المبسّطة تُبلَّغ خلال ٢٤ ساعة من الإصدار، ولا تحتاج موافقة مسبقة.
- لا تعديل بعد الإصدار؛ التصحيح بإشعار دائن أو مدين.
نقطتان عمليتان تهمّان الصيدلية تحديداً. الأولى: العدّاد وسلسلة التجزئة تعني أن انقطاع الإنترنت لا يجوز أن يكسر التسلسل، فاسأل كيف يتصرف النظام عند العمل دون اتصال وكيف يبلّغ لاحقاً داخل نافذة الـ٢٤ ساعة. الثانية: كثرة المرتجعات تعني كثرة إشعارات الدائن، فاختبر إصدار إشعار دائن مرتبط بفاتورة مبسّطة قديمة وتأكد أنه يخرج مكتملاً بالمتطلبات نفسها.
ولتوضيح لازم: الهيئة لا تعتمد البرامج ولا تصادق عليها، بل تنشر «القائمة الاسترشادية لمزودي خدمات الفوترة الإلكترونية». أي عرض يقول لك إن برنامجه «معتمد» يستخدم لفظاً غير دقيق. الفرق بين نوعَي الفاتورة وأثره على شاشة البيع مشروح في الفاتورة القياسية مقابل المبسّطة.
جدول معايير الاختيار
| المعيار | ما تطلبه الصيدلية تحديداً | سؤال تطرحه في العرض |
|---|---|---|
| الدفعة والصلاحية | دفعة وتاريخ انتهاء على كل حركة | أدخل دفعتين لنفس الصنف وأرني تقييم المخزون |
| سياسة الصرف | FEFO تلقائي مع تجاوز موثّق | من يستطيع تجاوز الأقدم انتهاءً وهل يُسجَّل؟ |
| تنبيهات الصلاحية | شرائح ٩٠/٦٠/٣٠ بالقيمة المالية | أرني التقرير مجدولاً لا يدوياً |
| الإتلاف | قيد مستقل لخسارة الانتهاء | ما الحساب الذي يُرحَّل إليه الإتلاف؟ |
| الباركود | أكثر من باركود للصنف ومعامل تحويل | اشترِ بالكرتون وبِع بالعلبة أمامي |
| البيع الجزئي | كميات كسرية مربوطة بالدفعة | بِع وحدة من علبة ثم أرجِعها |
| البدائل | ربط بدائل يظهر على شاشة البيع | كيف يُبنى الربط ومن يصونه؟ |
| مرتجع المورّد | مرتجع بالدفعة وإشعار دائن مُسوّى | أرني أعمار طلبات الإرجاع غير المسوّاة |
| الفواتير على جهات | فاتورة مقسّمة ومطالبة قابلة للتسوية الجزئية | أقفل مطالبة جزئياً أمامي |
| الفروع | أمر نقل بالدفعة بمرحلتي إرسال واستلام | ما الذي يظهر كـ«في الطريق»؟ |
| الفاتورة الإلكترونية | XML وختم وعدّاد وسلسلة وQR | كيف يعمل دون اتصال ثم يبلّغ؟ |
| الصلاحيات | صلاحيات بالفرع وبالوظيفة | هل يرى الكاشير التكلفة؟ |
| التقارير | ربح بالصنف وبالدفعة وبالفرع | أخرِج تقرير هامش حسب الدفعة |
| البيانات | تصدير كامل بصيغة مفتوحة | أخرِج لي أصنافي وأرصدتي الآن |
قائمة فحص للتجربة العملية على أصنافك
لا تقبل عرضاً توضيحياً على بيانات جاهزة. خذ ملفاً من خمسين صنفاً من أصنافك الحقيقية، بأسمائها وبدفعاتها وتواريخها، وافرض هذا السيناريو:
- استورد الخمسين صنفاً بباركوداتها ومعاملات التحويل.
- أدخل فاتورة شراء فيها صنف بدفعتين وتاريخَي انتهاء مختلفَين.
- بِع من ذلك الصنف وتأكد أن النظام اختار الأقدم انتهاءً.
- بِع وحدة واحدة من علبة، ثم اطبع تقرير رصيد الصنف.
- أصدِر فاتورة مبسّطة وتأكد من رمز QR وصيغة XML.
- أرجِع بنداً من فاتورة أمس بإشعار دائن.
- سجّل فاتورة على جهة: جزء نقدي وجزء على ذمة الجهة.
- أنشئ أمر نقل لدفعة إلى فرع آخر ولا تستلمه، ثم اطلب تقرير «في الطريق».
- شغّل تقرير الصلاحية بشرائح ٩٠/٦٠/٣٠ واطلبه بالقيمة.
- أتلف دفعة منتهية واسأل عن القيد الناتج.
- اطلب تقرير هامش الربح حسب الدفعة.
- اطلب تصدير كل بياناتك إلى ملف مفتوح وأنت ما زلت في العرض.
إذا تعذّرت ثلاث خطوات أو أكثر، فأنت أمام نظام عام يحتاج تخصيصاً، والتخصيص تكلفة متكررة لا تظهر في السعر المعلن. معايير المقارنة العامة بين الأنظمة مشروحة في دليل اختيار برنامج المحاسبة.
التكلفة وكيف تقرأها
السعر المعلن ليس التكلفة. اجمع قبل القرار: الاشتراك السنوي، تكلفة كل مستخدم إضافي، تكلفة كل فرع إضافي، تهيئة الأصناف والباركودات، تدريب فريق الكاشير، وأي رسوم على الربط أو على عدد الفواتير. ثم اسأل سؤالاً واحداً: ما الذي يرتفع ثمنه إذا فتحت فرعاً ثالثاً أو أضفت مستخدمَين؟
للمقارنة على مرجع واحد معلن، باقات سمارت برو: Mini بـ١٥٠٠ ريال سنوياً شاملة الضريبة (مستخدم واحد، فرع واحد)، Pro بـ٤٥٠٠ ريال (ثلاثة مستخدمين، ثلاثة فروع)، Max بـ٢٠٥٠٠ ريال. اقرأ أي عرض آخر بالمنطق نفسه: ما يشمله السعر، وما يُحتسب فوقه، وكيف يتغير مع نمو الصيدلية.
المرجع الرسمي
متطلبات الفاتورة الإلكترونية ومواعيد الربط تُنشر من هيئة الزكاة والضريبة والجمارك على zatca.gov.sa. اعتمد النص الرسمي عند أي تعارض مع ما يقوله أي عرض بيعي، وتذكّر أن الهيئة تنشر قائمة استرشادية للمزودين ولا تصدر اعتماداً للبرامج.
اقرأ أيضاً
صور المقال
الأسئلة الشائعة
ما الذي يميّز برنامج محاسبة للصيدليات عن أي برنامج محاسبي عام؟
الفرق الأساسي هو التعامل مع الدفعة وتاريخ الانتهاء كجزء من كل حركة مخزون، لا كحقل إضافي. يضاف إلى ذلك البيع بوحدة أصغر من وحدة الشراء، وربط الأصناف البديلة، ودورة مرتجعات كاملة مع المورّد، وفواتير تُحمَّل على جهة لا على المستلم. البرنامج العام قد يسجّل القيود بشكل سليم، لكنه لا يستطيع تقييم مخزون تنتهي صلاحيته ولا متابعة ذمم الجهات.
كيف أعرف حجم تعرّض صيدليتي لانتهاء الصلاحية؟
شغّل تقرير الصلاحية بشرائح ٩٠ و٦٠ و٣٠ يوماً واطلبه بالقيمة المالية لا بعدد الأصناف. مجموع الشرائح الثلاث هو مهلتك لا خسارتك، وكل شريحة أقرب تعني خيارات أقل: الإرجاع للمورّد ثم النقل بين الفروع ثم الخصم ثم الإتلاف. الأرقام التوضيحية في المقال افتراضية لتوضيح الطريقة، والمقصود أن تعيد الحساب على بياناتك.
كيف يجب أن يعالج النظام المرتجعات إلى المورّد؟
طلب الإرجاع يُربَط بفاتورة الشراء الأصلية وبرقم الدفعة تحديداً، وخروج المخزون يكون من نفس الدفعة لا من أي دفعة متاحة. إشعار الدائن من المورّد يُسجَّل ويُسوّى مقابل حسابه، مع تقرير يظهر طلبات الإرجاع التي لم يقابلها إشعار بعد. أما مرتجعات الزبائن فتُعالج بإشعار دائن مرتبط بالفاتورة الأصلية، لأن الفاتورة لا تُعدَّل بعد إصدارها في المرحلة الثانية.
هل يحتاج نظام الصيدلية إعداداً خاصاً للفاتورة الإلكترونية؟
المتطلبات نفسها: صيغة XML وفق UBL 2.1، وختم تشفيري، وعدّاد لا يُصفَّر، وسلسلة تجزئة، ورمز QR على الفواتير المبسّطة التي تُبلَّغ خلال ٢٤ ساعة من الإصدار دون موافقة مسبقة. ما يتغير في الصيدلية هو الحجم: عدد كبير من الفواتير المبسّطة وعدد كبير من إشعارات الدائن، فاختبر سلوك النظام عند انقطاع الاتصال وعند إصدار إشعار دائن لفاتورة قديمة. ولاحظ أن الهيئة لا تعتمد البرامج، بل تنشر قائمة استرشادية لمزودي الخدمة.


