تحوّل بصمة SHA-256 محتوى ملف إلى بصمة من أربعة وستين حرفًا ست عشريًّا. فالملف نفسه يعطي البصمة نفسها؛ وأي اختلاف، ولو ضئيلًا، يعطي بصمةً أخرى شبه أكيدة. وهذا مفيد للتحقق من أن ملف XML المصدَّر مطابق للملف الذي خُتم لحظة الإصدار. لكن البصمة وحدها لا تسمّي صاحبها، ولا تعطي تاريخًا موثوقًا قانونًا، ولا تثبت أي إيداع لدى المديرية العامة للضرائب.

القراءة السليمة للبصمة
- تحسب SHA-256 بصمةً حتميةً على المحتوى الثنائي بالضبط.
- تغيير حرف أو مسافة أو الترميز يكفي لتغيير النتيجة.
- تطابق البصمتين يثبت تطابق المحتوى المقارَن، لا صدق المضمون التجاري.
- البصمة وحدها ليست توقيعًا إلكترونيًّا ولا ختمًا مؤهَّلًا ولا توقيتًا موثوقًا.
- احفظ البصمة في بيان منفصل وراقبها قبل الإرسال أو الاسترجاع.
- يختم BelloPOS محليًّا ملف UBL الصادر ويعيد تصدير هذه النسخة بعينها.
1. كيف يصير مبلغ 1 200 درهم بصمةً
لا تفهم الخوارزمية فاتورةً ولا درهمًا. بل تقرأ سلسلةً من الوحدات الثنائية: وسوم XML والحروف والأرقام والمسافات وفواصل الأسطر. وتُنتج دائمًا 256 بتًّا، تُعرَض عادةً في أربعة وستين حرفًا من 0 إلى 9 ومن a إلى f. فلفاتورة صغيرة ولملف مضغوط كبير بصمةٌ بالطول نفسه. ولفهم المضمون قبل حساب بصمته، اقرأ دليل UBL 2.1.
| الإجراء على النسخة | البصمة المنتظرة | التأويل |
|---|---|---|
| بلا أي تعديل | مطابقة | المحتوى المقارَن متطابق |
| 1 200.00 تصير 1 201.00 | مختلفة | المضمون تغيّر |
| إضافة مسافة | مختلفة | التمثيل الثنائي تغيّر |
| ترميز جديد أو فواصل أسطر مختلفة | مختلفة | قد يبدو النص متطابقًا، لا المحتوى الثنائي |
| إعادة التسمية دون مسّ المضمون | مطابقة | الاسم لا يدخل في بصمة الملف |
| الضغط داخل ملف مضغوط جديد | بصمة الملف المضغوط مختلفة | الأرشيف كائن آخر يجب مراقبته |
ويجعل أثرُ الانهيار البصمتين بلا أي علاقة بصرية ولو كان التغيير طفيفًا. فلا ينبغي إذن البحث عن الحقل الذي تغيّر بقراءة البصمات؛ بل يُلاحَظ فقط أن المحتوى لم يعد نفسه، ثم تُقارَن الملفات أو يُرجَع إلى المصدر.
2. ما تثبته البصمة فعلًا
إذا كانت لديك بصمةٌ مرجعية محفوظة على حدة وطابقها الحساب الحالي، أمكنك استنتاج أن الملف المختبَر يحمل المحتوى نفسه الذي يحمله المرجع. وفي BelloPOS، تُحسَب هذه المرجعية لحظة تلقي الفاتورة رقمها ووضع ملف XML في الطابور المحلي. ويكرّر بيان تصدير XML والملف المضغوط البصمةَ من أجل المقاربة.
- السلامة: كشف أن ملفًّا لم يعد مطابقًا للنسخة المرجعية.
- إزالة التكرار: التعرف على نسختين متطابقتين في المحتوى رغم اختلاف الاسمين.
- التسليم: تدوين بصمة الملف المرسَل والتحقق من النسخة المتوصَّل بها.
- الاسترجاع: مراقبة أن النسخة الاحتياطية تعيد بالضبط الكائن المنتظر.
- المسار: ربط رقم في البيان بملف XML المقابل له.
وتتوقف جودة الإثبات على حماية المرجع. فإذا عدّل مهاجمٌ ملف XML والبصمةَ المخزَّنة في المجلد نفسه، فلن تكشف مقارنةٌ ساذجة شيئًا. فانسخ إذن البيان أو السجل إلى موضع محمي، وقلّص الصلاحيات، واحتفظ بعدة نسخ احتياطية.
3. ما لا تثبته بصمة SHA-256
البصمة أداةُ سلامة، لا خلاصةً قانونية كونية.
| السؤال | هل تجيب البصمة وحدها؟ | الإثبات التكميلي |
|---|---|---|
| من أصدر الفاتورة؟ | لا | الهوية والصلاحيات والسجل وربما التوقيع |
| متى وُجدت؟ | لا | سجل محمي أو توقيت موثوق |
| هل نسبة الضريبة صحيحة؟ | لا | القواعد الجبائية والمراقبة المحاسبية |
| هل توصل بها الزبون؟ | لا | إشعار بالتسليم |
| هل قبلتها المديرية العامة للضرائب؟ | لا | جواب القناة الرسمية |
| هل تغيّر الملف؟ | نعم، إن كان المرجع موثوقًا | إعادة الحساب والمقارنة الكاملة |
فلا تقل «فاتورة موقَّعة» وأنت تقصد «ملفًّا محسوبة بصمته». فالتوقيع الإلكتروني يربط معطيات بموقّع وبآلية تحقق؛ والختم الإلكتروني يؤدي دورًا آخر؛ والتوقيت يقدّم معلومةً زمنية. ويقارن دليل الخاتم والتوقيع والختم بين هذه المفاهيم.

البصمة ليست مصادقةً جبائية
فتدوين بصمة SHA-256 في بيان صادر عن BelloPOS يثبت الخيار التقني للتطبيق ويتيح تحققًا محليًّا. وهو ليس رمزًا صادرًا عن المديرية العامة للضرائب ولا توقيعَ موظف عمومي ولا اعتمادًا ولا إشعارًا بالإيداع.
4. اختبار عملي على نسخة
صدّر ملف XML، واحسب بصمة SHA-256 بأداة محلية موثوقة، وانسخ النتيجة في ورقة مراقبتك. ثم استنسخ الملف، وغيّر حرفًا غير حساس في النسخة، وأعد الحساب. ويجب أن تختلف السلسلتان. ثم احذف النسخة المعدَّلة، لا الأصل المختوم.
وعلى نظام Windows، يتيح الأمر Get-FileHash اختيار SHA256. وعلى macOS وLinux، يشيع الأمر shasum -a 256. فتحقق من المسار الدقيق قبل تنفيذ الأمر وقارن الأحرف الأربعة والستين. فلقطةٌ جزئية أو ثمانية أحرف أولى لا تكفي في سجل إثباتك.
وأعد الاختبار بعد النسخ إلى مفتاح تخزين، أو بعد استرجاع نسخة احتياطية، أو بعد التوصل من طرف مكتب المحاسبة. والاختلاف لا يعني غشًّا تلقائيًّا: فقد يفسّره نقلٌ ناقص، أو أداةٌ تعيد كتابة النص، أو تغيّرٌ في فواصل الأسطر، أو ملفٌ خاطئ. لكن يجب توقيف المسار إلى حين التحديد.
5. الختم داخل BelloPOS
عند إصدار فاتورة أو إشعار دائن مشمول، يبني BelloPOS ملف UBL 2.1، ويحسب بصمة SHA-256 على سلسلته بترميز UTF-8، ويحفظ ملف XML والبصمة والرقم والنوع والحالة وتاريخ الختم المحلي في الطابور. والعملية غير قابلة للتكرار في أثرها: فإعادة الطبع لا ينبغي أن تُنتج ختمًا ثانيًا للفاتورة نفسها.
| اللحظة | الموضوع | النتيجة |
|---|---|---|
| الإصدار | ملف UBL بعينه | بصمة ونسخة محلية |
| إعادة الطبع | الوثيقة نفسها | لا إيداع جديد ولا بصمة جديدة |
| تصدير فردي | ملف XML المحفوظ | محتوى مطابق للمختوم |
| تصدير الفترة | عدة ملفات XML | ملف مضغوط وبيان بالبصمات |
| الإرسال | خارج BelloPOS اليوم | الإشعار بالتوصل يُحفَظ على حدة |
وتوجد هذه الوظيفة ابتداءً من Go وتشتغل دون إنترنت. وهي لا تمنع ضياع الحاسوب ولا تعوّض إذن النسخة الاحتياطية. فالبصمة تساعد على التحقق من استرجاع؛ لكنها لا تسترجع شيئًا. فاربطها بقواعد أرشفة الفواتير.
أخطاء ينبغي تجنبها
- حساب بصمة ملف PDF بينما يصف البيان ملف XML.
- مقارنة جزء من السلسلة فقط.
- إعادة الحساب بعد فتح الملف وحفظه.
- الاحتفاظ بالملف وبمرجعه الوحيد في المجلد نفسه القابل للتعديل.
- تسمية البصمة توقيعًا إلكترونيًّا.
- تقديم البصمة إشعارًا بالتوصل من المديرية العامة للضرائب.
- تجاهل اختلاف لأن الفاتورة تبدو متطابقة.
- إغفال اختبار النسخ المسترجَعة.
أسئلة متكررة
هل تشفّر بصمة SHA-256 الفاتورة؟
لا. فالبصمة لا تمنع القراءة ولا تتيح استرجاع المضمون. فالتشفير للسرية؛ وبصمة SHA-256 هنا للسلامة.
هل يمكن إعادة بناء ملف XML انطلاقًا من بصمته؟
لا. فالبصمة أحادية الاتجاه. ويجب الاحتفاظ بالملف وبنسخه الاحتياطية.
هل لملفين متطابقين البصمة نفسها؟
نعم إذا كان محتواهما الثنائي متطابقًا تمامًا. فمجرد تغيير في الترميز قد يُنتج بصمةً مختلفة.
هل بصمة SHA-256 توقيع إلكتروني؟
لا. فالتوقيع يضيف بوجه خاص رابطًا مع موقّع وتحققًا من مفتاح. والبصمة وحدها لا توفّر ذلك.
هل تثبت البصمة الإيداع لدى المديرية العامة للضرائب؟
لا. فجواب القناة الرسمية وحده يستطيع توثيق التوصل أو الحالة. وBelloPOS لا يرسل مباشرةً اليوم.
لماذا يحسب BelloPOS البصمة لحظة الإصدار؟
لربط النسخة المهيكلة بالوثيقة التي تلقت رقمها للتوّ، ثم إعادة تصدير المحتوى نفسه بدل إعادة بنائه لاحقًا.
الخلاصة
تجيب بصمة SHA-256 إجابةً ممتازة عن سؤال ضيّق: هل هذا الملف مطابق للمرجع؟ وهي لا تجيب عن «من» ولا «متى» ولا «لماذا» ولا عن الصحة الجبائية ولا عن القبول لدى المديرية العامة للضرائب. فاستعملها ضمن سلسلة إثبات، لا اختصارًا للمطابقة كلها.
المصادر
الأرقام والقواعد المذكورة أعلاه مأخوذة من هذه الصفحات، بتاريخ الاطلاع المذكور في المقال.
- BelloPOS، الفوترة الإلكترونية وتصدير UBL، شوهد في 29 غشت 2026
- المواصفة الرسمية Universal Business Language 2.1 من OASIS
- المدونة العامة للضرائب 2026، المديرية العامة للضرائب، شوهدت في 29 غشت 2026
اختم وصدّر وتحقق محليًّا
اختبر خطة Go بفاتورة تجريبية، وأعد حساب بصمتها، واجعل النسخة نفسها تُتحقَّق بعد تسليمها إلى مكتب محاسبتك.
لمزيد من التعمق
أدلة عملية أخرى في الموضوع نفسه: