العودة إلى فاحص زاتكابنية الرمز

ما البيانات الموجودة في رمز الاستجابة السريعة للفاتورة؟

الرمز المربّع أسفل الفاتورة الضريبية المبسطة ليس صورة عشوائية ولا رابطًا. هو نص مضغوط يحتوي خمسة حقول مرتّبة، مكتوبة بصيغة تُسمى TLV، ثم مُحوَّلة إلى Base64 ليستطيع الرمز حملها.

فاحص زاتكا

شرح مبسّط لبنية TLV في رمز الفاتورة الإلكترونية السعودية: الوسوم الخمسة، معنى كل حقل، وكيف تُقرأ القيم بعد فك الترميز.

افحص فاتورتك الآن

ما هي صيغة TLV؟

TLV اختصار لـ Tag وLength وValue: رقم الوسم، ثم طول القيمة، ثم القيمة نفسها مكتوبة بترميز UTF-8. هذه البنية تسمح لبرنامج القراءة بمعرفة أين ينتهي كل حقل وأين يبدأ الذي يليه، حتى لو اختلفت أطوال النصوص.

الوسوم الخمسة

الوسمالمحتوى
١اسم البائع
٢الرقم الضريبي (١٥ رقمًا)
٣تاريخ ووقت الفاتورة بصيغة ISO 8601
٤إجمالي الفاتورة شامل الضريبة
٥قيمة ضريبة القيمة المضافة

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

لماذا يفشل الرمز أحيانًا رغم وجوده؟

  • حقل ناقص: الرمز مرسوم لكن أحد الوسوم غير موجود، فلا يكتمل الفحص.
  • صيغة خاطئة: الرقم الضريبي بأقل أو أكثر من ١٥ رقمًا.
  • تاريخ بأجزاء من الثانية: الصيغة المطلوبة لا تتضمن أجزاء الثانية، ووجودها يخالف النمط المتوقع.
  • حساب الضريبة غير متسق: قيمة الضريبة لا توافق ١٥٪ من المبلغ قبل الضريبة.

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

اطّلع على محتوى رمزك الآن

فاحص زاتكا يعرض لك محتوى الرمز بعد فك ترميزه، حقلًا بحقل، بالأرقام العربية. لا تُخفي الأداة شيئًا: ترى بالضبط ما يراه الماسح.

أسئلة شائعة

هل يحتوي الرمز على بيانات المشتري؟

لا. في الفاتورة الضريبية المبسطة يقتصر محتوى الرمز على بيانات البائع والتاريخ والمبالغ، دون اسم المشتري أو بياناته.

هل يمكن تزوير الرمز؟

تقنيًا يمكن إنشاء رمز بأي محتوى. لذلك الأداة لا تعتبر وجود الرمز دليلًا يتجاوز اكتماله الشكلي، ولا تتحقق من هوية البائع.

دليل الفاتورة الإلكترونية