تقرير اختبار وظيفي — الدورة الأولى

ثلاث ملاحظات مؤكَّدة في الربط بين المستندات والدفتر العام. كل ملاحظة مُثبتة بأرقام يطبعها النظام نفسه، ويمكن التحقق منها داخل النظام في أقل من دقيقة.

النظام
HesbaPlus
البيئة
hesbaplus-production
تاريخ التنفيذ
1 سبتمبر 2026
نطاق الدورة
مراجعة وظيفية ورأي فني

الخلاصة

من بين ستة مستندات تشغيلية موجودة في بيانات التجربة، هناك مستندان أثّرا في المخزون فعليًا ولم يُنتِجا أي قيد محاسبي على الإطلاق: مرتجع مبيعات، وعملية بيع عبر نقاط البيع. المستندان يعرضان حالة تؤكد الترحيل («مرحّل» و«مكتملة»)، والدفتر العام خالٍ منهما تمامًا.

أثر ذلك مباشر على الأرقام: بضاعة عادت إلى المستودع والإيراد ما زال مسجَّلًا بكامله، وشاشة خرجت من المستودع دون إيراد ودون نقدية. ضريبة القيمة المضافة المخرجة خاطئة في الاتجاهين معًا — زائدة 300.00 بسبب المرتجع، وناقصة 300.00 بسبب بيع نقاط البيع. هذه ليست ملاحظة واجهة، بل فرق في إقرار ضريبي.

الملاحظة الثالثة من نوع مختلف: فاتورة صادرة دخلت الذمم المدينة بينما قيدها ما زال مسودة، فاختلّ تطابق حساب المراقبة مع دفتر الأستاذ المساعد بمقدار 14,375.00.

1 مرتجع مبيعات مرحّل لا يُنتج قيدًا محاسبيًاالمخزون عاد، والإيراد والضريبة والتكلفة لم تتغير حرجة
2 عملية بيع في نقاط البيع لا تُنتج قيدًا ولا نقديةالمخزون خرج، ولا إيراد ولا ضريبة ولا نقدية في الدفتر حرجة
3 فاتورة «صادرة» تدخل الذمم المدينة وقيدها مسودةكشف الحساب والأعمار يقولان 14,375.00 وميزان المراجعة يقول 0.00 عالية

تحقّق بنفسك في ثلاثين ثانية

قبل قراءة التفاصيل، هذه أقصر طريقة للتأكد من الملاحظتين الأولى والثانية داخل نظامك، دون الاعتماد على أي كلام في هذا التقرير. المستندات المذكورة من بياناتك أنت، وكانت موجودة قبل بدء الاختبار.

الخطوات

  1. افتح: المحاسبة ← القيود اليومية.
  2. في حقل المرجع اكتب INV-26-0000001 ثم اضغط بحث. النتيجة: قيدان يظهران — وهذا يثبت أن البحث بالمرجع يعمل.
  3. امسح الحقل واكتب SR-26-0000001 ثم بحث. النتيجة: «لا توجد قيود بعد».
  4. كرّر مع POS-26-0000001. النتيجة: «لا توجد قيود بعد».

الخطوة الثانية هي الأهم: هي الضابط الذي يُثبت أن الفلتر سليم ويجد القيود فعلًا. ومع ذلك لا يجد شيئًا للمرتجع ولا لعملية نقاط البيع — لأن القيود غير موجودة.

الضابط البحث بمرجع فاتورة المبيعات INV-26-0000001 — يظهر قيدان مرحّلان.
شاشة القيود اليومية والبحث بالمرجع INV-26-0000001 يعرض قيدين مرحّلين
الملاحظة 1 نفس الشاشة ونفس الفلتر بمرجع المرتجع SR-26-0000001 — «لا توجد قيود بعد».
شاشة القيود اليومية والبحث بالمرجع SR-26-0000001 لا يعرض أي نتائج

ملاحظة 1

مرتجع مبيعات مُرحّل لا يُنتج عنه أي قيد محاسبي

المستند
SR-26-0000001
التاريخ
2026-08-30
الفاتورة الأصلية
INV-26-0000001
الإجمالي
2,300.00 (منها 300.00 ضريبة)
الحالة المعروضة
مرحّل · له أثر مخزني
درجة الأهمية
حرجة

ما الذي حدث فعلًا

حركة المخزون STK-26-0000003 بتاريخ 2026-08-30 سجّلت استلام وحدة واحدة (+1) في المستودع الرئيسي. البضاعة عادت.

ما الذي لم يحدث

لا يوجد أي قيد بتاريخ 2026-08-30، ولا أي قيد مصدره مرتجع مبيعات. آخر قيد في الدفتر هو GL-26-0000006 بتاريخ 2026-08-29.

ميزان المراجعة عن الفترة 2026-01-01 إلى 2026-12-31، بعد المرتجع
الحسابالرصيد الحاليما ينبغي أن يكون بعد المرتجع
4100إيرادات المبيعات2,000.00 دائن0.00
2300ضريبة القيمة المضافة — مخرجات300.00 دائن0.00
5100تكلفة البضاعة المباعة1,500.00 مدين0.00
1300المخزون0.001,500.00 مدين

وفي كشف حساب العميل CL-001 عن السنة كاملة تظهر حركتان فقط: الفاتورة والتحصيل. المرتجع بمبلغ 2,300.00 غير موجود في الكشف، فيُقفل الرصيد على 0.00 بدلًا من إظهار مبلغ مستحق للعميل.

القاعدة المحاسبية

مرتجع المبيعات المُرحّل يجب أن يعكس الإيراد وضريبة المخرجات والذمم المدينة، وأن يعيد البضاعة إلى المخزون بالتكلفة مقابل إقفال تكلفة البضاعة المباعة. هذا صحيح تحت أي سياسة تسعير للمخزون وأي دليل حسابات.

الأثر على القوائم

  • الإيراد مبالغ فيه بمقدار 2,000.00
  • ضريبة المخرجات مبالغ فيها بمقدار 300.00 — إقرار ضريبي أعلى من الواقع
  • تكلفة البضاعة المباعة مبالغ فيها بمقدار 1,500.00
  • المخزون ناقص بمقدار 1,500.00
  • مبلغ 2,300.00 مستحق للعميل لا يظهر في أي تقرير
دليل 1.1 مستند المرتجع نفسه: الحالة «مرحّل»، وأثر المخزون «استلام 1»، والإجمالي 2,300.00.
تفاصيل مرتجع المبيعات SR-26-0000001 بحالة مرحّل وأثر مخزني استلام 1
دليل 1.2 حركات المخزون: STK-26-0000003 بتاريخ 2026-08-30 يسجّل عودة الوحدة بمرجع SR-26-0000001.
شاشة حركات المخزون تعرض حركة استلام مرتجع مبيعات بمرجع SR-26-0000001
دليل 1.3 كشف حساب العميل CL-001 عن السنة كاملة — حركتان فقط، والمرتجع غائب.
كشف حساب العميل يعرض الفاتورة والتحصيل فقط دون المرتجع

ملاحظة 2

عملية بيع مكتملة في نقاط البيع لا يُنتج عنها قيد ولا نقدية

المستند
POS-26-0000001
التاريخ
2026-08-31 20:47
نقطة البيع
حي الشهداء
الإجمالي
2,300.00 — نقدًا
الحالة المعروضة
مكتملة
درجة الأهمية
حرجة

ما الذي حدث فعلًا

حركة المخزون STK-26-0000004 سجّلت صرف وحدة واحدة (−1)، وتقارير نقاط البيع تعرض العملية: عملية واحدة، 2,300.00، نقدًا، صنف واحد.

ما الذي لم يحدث

لا يوجد أي قيد بتاريخ 2026-08-31. الإيراد ما زال 2,000.00 والضريبة 300.00، ولا يظهر أي حساب صندوق نقدي في ميزان المراجعة أصلًا.

الأهم من ذلك: وحدة نقاط البيع تعرف تمامًا ما جرى، والمحاسبة لا تعرف شيئًا. الوردية SHF-26-0000001 أُغلقت بأرقام سليمة ومتسقة: عدد العمليات 1، إجمالي المبيعات 2,300.00، مبيعات نقدية 2,300.00، النقدية المتوقعة 2,300.00، النقدية المعدودة 2,300.00، فرق الصندوق 0.00.

أي أن نقاط البيع متسقة داخليًا من أولها إلى آخرها — عملية البيع، وحركة المخزون، وإغلاق الوردية، وعدّ النقدية كلها متفقة على 2,300.00 — ولا شيء من ذلك يعبر إلى الدفتر العام. الصندوق فيه 2,300.00 لا يعرف بها أي حساب.

القاعدة المحاسبية

عملية البيع المكتملة في نقاط البيع يجب أن تُرحّل الإيراد وضريبة المخرجات وتكلفة البضاعة المباعة والنقدية إلى الدفتر العام. الدفاع الوحيد المتاح نظريًا هو «الترحيل يتم عند إغلاق الوردية» — والوردية مغلقة بالفعل ولم يُنتج عنها قيد.

الأثر على القوائم

  • الإيراد ناقص بمقدار 2,000.00
  • ضريبة المخرجات ناقصة بمقدار 300.00 — إقرار ضريبي أقل من الواقع
  • تكلفة البضاعة المباعة ناقصة
  • 2,300.00 نقدًا خارج الدفتر بالكامل، ولا يمكن تسويتها بأي تقرير مالي
دليل 2.1 إغلاق الوردية SHF-26-0000001: النقدية المتوقعة 2,300.00 = النقدية المعدودة 2,300.00، وفرق الصندوق 0.00.
ملخص إغلاق الوردية يعرض مبيعات نقدية 2300 ونقدية متوقعة 2300 وفرق صندوق صفر
دليل 2.2 البحث في القيود اليومية بمرجع POS-26-0000001 — «لا توجد قيود بعد».
البحث في القيود اليومية بمرجع POS-26-0000001 دون أي نتائج

ملاحظة 3

فاتورة «صادرة» تدخل الذمم المدينة بينما قيدها ما زال مسودة

هذه الملاحظة أنشأناها بأنفسنا بخطوات معلومة، ولذلك يمكن لمبرمجكم إعادة إنتاجها فورًا.

خطوات إعادة الإنتاج

  1. المبيعات ← فواتير المبيعات ← إنشاء.
  2. العميل CL-001، المستودع YH001، الصنف SAM-001 ورصيده صفر، الكمية 5، السعر 2,500.00، الضريبة 15%.
  3. اضغط إنشاء الفاتورة.

النتيجة الحالية: تُنشأ الفاتورة INV-26-0000002 بحالة صادرة وإجمالي 14,375.00 والكمية المصروفة صفر. ويُنشأ قيدها GL-26-0000007 بحالة مسودة، فيستبعده ميزان المراجعة — بينما لا يستبعده دفتر الأستاذ المساعد:

نفس الفاتورة، ثلاثة تقارير، رقمان مختلفان
التقريرالقيمة المعروضة
كشف حساب العميل CL-00114,375.00
أعمار الذمم المدينة14,375.00
ميزان المراجعة · 1200 الذمم المدينة0.00
ميزان المراجعة · 4100 إيرادات المبيعات2,000.00 (دون تغيير)

القاعدة المحاسبية

يجب أن يساوي حساب المراقبة للذمم المدينة مجموع أرصدة العملاء في كل لحظة. هنا يزيد دفتر الأستاذ المساعد عن حساب المراقبة بمقدار 14,375.00. والفاتورة إما ألا تصدر حتى تتوفر الكمية، وإما أن تصدر ويُرحّل قيدها — لكن لا يصح أن تدخل الذمم وقيدها مسودة.

الأثر على القوائم

ميزان المراجعة وكشف حساب العميل وتقرير الأعمار تتعارض فيما بينها بكامل قيمة الفاتورة، والفجوة تكبر صامتة مع كل فاتورة تصدر بكمية غير متوفرة. أي متابعة تحصيل أو إقرار ضريبي مبني على هذه التقارير سيكون غير صحيح.

دليل 3.1 الفاتورة INV-26-0000002 بحالة «صادرة» وإجمالي 14,375.00.
قائمة فواتير المبيعات تعرض الفاتورة الثانية بحالة صادرة
دليل 3.2 أعمار الذمم المدينة تعرض 14,375.00 مستحقة، بينما حساب المراقبة صفر.
تقرير أعمار الذمم المدينة يعرض مبلغ 14375

الدليل القاطع على الملاحظتين الأولى والثانية

الاعتراض المتوقع هو «القيد موجود ولم تجدوه». هذا مُغلق بثلاثة أدلة مستقلة، يكفي أي واحد منها وحده.

البحث داخل شاشة القيود اليومية — الحالة: كل الحالات، بلا فلتر تاريخ
البحثالنتيجة
المرجع INV-26-0000001الضابطقيدان: GL-26-0000003 وGL-26-0000004 · مرحّل
المرجع SR-26-0000001لا توجد قيود بعد
المرجع POS-26-0000001لا توجد قيود بعد
الفترة من 2026-08-30 إلى 2026-08-31 — تاريخا المستندينلا توجد قيود بعد
الحالة مسودةقيد واحد فقط: GL-26-0000007 وهو الذي أنشأناه نحن

ولا يوجد قيد مخفي في مكان آخر

القائمة تعرض 7 صفوف على صفحة سعتها 25 صفًا، وأرقام القيود متسلسلة من GL-26-0000001 إلى GL-26-0000007 دون أي فجوة. فلا شيء أُخفي بترقيم الصفحات، ولا شيء مخبأ كمسودة. كذلك لا تحتوي شاشتا SR-26-0000001 وPOS-26-0000001 على أي رابط لقيد محاسبي، بينما تحتوي شاشة فاتورة المبيعات على «عرض القيد المحاسبي».

دليل 4.1 القيود اليومية كاملة دون أي فلتر: سبعة قيود بترقيم متصل، آخرها بتاريخ 2026-08-29 قبل القيد الذي أنشأناه.
قائمة القيود اليومية كاملة تعرض سبعة قيود بترقيم متسلسل
دليل 4.2 البحث بالفترة 2026-08-30 إلى 2026-08-31، وهما تاريخا المستندين، دون أي فلتر مرجع — لا نتائج.
البحث في القيود اليومية بفترة 30 إلى 31 أغسطس دون نتائج

الرأي الفني

الملاحظتان الأولى والثانية ليستا خطأين منفصلين. الأرجح أنهما عَرَضان لسبب واحد في البنية، وهذا هو الجزء الذي يستحق الانتباه أكثر من قائمة الأخطاء نفسها.

فاتورة مبيعاتتُرحّل
فاتورة مشترياتتُرحّل
استلام مخزني من أمر شراءيُرحّل
تحصيل من عميليُرحّل
قيد رواتبيُرحّل
مرتجع مبيعاتلا يُرحّل
بيع نقاط البيعلا يُرحّل

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

وما يزيد الأمر خطورة أن المستندين المعنيين يعرضان حالة تؤكد الترحيل صراحة: «مرحّل» و«مكتملة». أي أن النظام لا يكتفي بعدم الترحيل، بل يطمئن المستخدم إلى أن الترحيل تم.

أسئلة بنيوية نقترح طرحها على فريق التطوير

  • هل تمر كل المستندات عبر خدمة ترحيل واحدة، أم لكل نوع مستند مسار خاص به؟
  • هل تُحسب الأرصدة من الحركات، أم تُخزَّن في أعمدة تُحدَّث؟
  • هل حالة «مرحّل» مشتقة من وجود قيد فعلي، أم حقل مستقل يُضبط يدويًا؟
  • هل يمنع النظام إقفال وردية أو فترة محاسبية فيها مستند بلا قيد؟

ملاحظات لم نُدرجها كأخطاء

هذه ملاحظات لم تستوفِ معيار الإثبات الكامل الذي اعتمدناه، ونعرضها للعلم فقط لا كأخطاء مؤكدة.

وما يعمل بشكل صحيح


نطاق هذه الدورة وما تم إنشاؤه

هذه الدورة الأولى ركّزت عمدًا على أخطاء مستقلة عن السياسة المحاسبية — أي أخطاء تظل خاطئة تحت أي سياسة تسعير للمخزون وأي دليل حسابات — لأن سياسة التكلفة وخريطة الحسابات لم تصلنا بعد. لم تشمل هذه الدورة أي مراجعة أمنية.

ما كتبناه في قاعدة البيانات

سجلّان فقط، أُنشئا بتاريخ 2026-09-01 أثناء إثبات الملاحظة الثالثة، ومعلّمان بالمرجع QA-NEGSTOCK:

هما دليل الملاحظة الثالثة، ونقترح إبقاءهما حتى يطّلع عليهما فريق التطوير ثم حذفهما. ولم يُنشأ أو يُعدَّل أو يُحذف أي سجل آخر.

ما تحتاجه الدورة التالية