بصمة الفاتورة السابقة لا تطابق بصمة الفاتورة التي قبلها في أرشيف ZIP نفسه
صورة القيمة في التقريرchain.pih_not_previous_member_hashلا يطابق بصمة الفاتورة التي قبلها
ما الخلل
بصمة الفاتورة السابقة KSA-13 في هذا المستند ليست بصمة المستند الذي يسبقه في سلسلة عدّاد البائع نفسه داخل هذا الأرشيف: فالملف الذي تقلّ قيمة عدّاد الفواتير KSA-16 فيه بواحد يحمل بصمة تجزئة مختلفة في الحقل 6 من رمز الاستجابة السريعة الخاص به، وهي البصمة التي كتبها له حل الفوترة الإلكترونية الذي أصدره. ويشترط معيار تطبيق XML الصادر عن هيئة الزكاة والضريبة والجمارك أن يحمل كل مستند بصمة SHA-256 بترميز base64 للفاتورة التي صدرت قبله، محسوبةً بالطريقة نفسها التي تُحسب بها البصمة الواردة ضمن الختم المميز؛ ويحمل رمز الاستجابة السريعة في الحقل 6 البصمة نفسها، وهي بصمة تجزئة ملف XML للفاتورة. وبقراءة القيمتين معاً تنتظم المستندات في سلسلة الفواتير بحيث لا يمكن تغيير التسلسل دون كسر صلة منها. ولا يحسب مطابق أي بصمة بنفسه، بل يقارن القيمتين اللتين يحملهما المستندان أصلاً بعد ردّ كل منهما إلى البصمة التي تمثّلها، فاختلاف الترميز وحده، أي بايتات خام مقابل ترميز base64، أو ترميز base64 للبايتات مقابل ترميز base64 لنصها الست عشري، ليس عدم تطابق. وتُرصد هذه الحالة بوصفها مخاطرة لا سبب رفض: فليس في قواعد الهيئة المنشورة فحص واحد يقرأ مستندين معاً، وما تفعله منصة «فاتورة» عند انقطاع السلسلة ليس مما يستطيع مطابق قياسه. وإن كانت هذه الملفات صادرة عن أجهزة مختلفة فهذا أمر متوقَّع: ففي قراءة مطابق للدليل الإرشادي التفصيلي للفوترة الإلكترونية الصادر عن الهيئة، يخصّ العدّاد والسلسلة حل الفوترة الإلكترونية الذي يُصدر المستندات، فحلّان من حلول الفوترة الإلكترونية لبائع واحد صُدِّرت ملفاتهما معاً تتداخل سلسلتاهما.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
تحقّق أولاً من أن الملفين صادران عن الجهاز أو النظام نفسه؛ فإن لم يكونا كذلك فلا خلل. وإن كانا كذلك فخطوة البصمة في وحدة الفوترة الإلكترونية لديك تقرأ المستند الخطأ، والأسباب المعتادة: بصمة فاتورة سابقة مأخوذة من آخر مستند قُدِّم للاعتماد أو أُبلغ عنه لدى الهيئة لا من آخر مستند صدر؛ وعمليتان تتشاركان عدّاداً واحداً وتحتفظ كل منهما بآخر بصمة على حدة؛ ومستند أُعيد توليده بعد أن صدر المستند الذي يليه. قارن في نظامك بين الحقل 6 في المستند السابق وبصمة الفاتورة السابقة في هذا المستند، ثم تحقّق من المستند الذي تقرأ منه الوحدة البصمة السابقة. ولا تُفحص هذه الصلة هنا إلا حيث تُفكّ القيمتان كلتاهما إلى بصمة SHA-256؛ أما القيمة التي ليست كذلك فتُرصد على حدة في قاعدتي بصمة الفاتورة السابقة ورمز الاستجابة السريعة.