رمز QR لفاتورة المرحلة الأولى

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

مجاني وبلا تسجيل. ولا يخرج شيء مما تكتبه من متصفحك.

كيف يبدو

مثال مملوء. أرقامك تحل مكان هذه الأرقام.

رمز الاستجابة السريعة في المرحلة الأولى من فاتورة

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

الحقول الخمسة

  • اسم المورّد
  • الرقم الضريبي للمورّد
  • وقت إصدار الفاتورة وتاريخها
  • إجمالي الفاتورة مع الضريبة
  • إجمالي ضريبة القيمة المضافة

لا أكثر. لا بنود، ولا اسم المشتري، ولا رقم الفاتورة. الرمز الذي يحمل أكثر من ذلك ليس أكثر توافقًا، بل مختلف عن المواصفة.

ما هي صيغة TLV

كل حقل يُكتب على ثلاثة أجزاء متتابعة: رقم الوسم في بايت واحد، ثم طول القيمة في بايت واحد، ثم القيمة نفسها بترميز UTF-8. تُرصف الحقول الخمسة بترتيب الوسوم، ثم تُحوَّل سلسلة البايتات كلها إلى Base64، وهذه السلسلة هي ما يوضع في الرمز.

بايت الطول واحد، فأقصى طول لقيمة واحدة ٢٥٥ بايت. واسم مورّد عربي طويل قد يتجاوز ذلك لأن الحرف العربي يشغل بايتين في UTF-8 لا بايتًا واحدًا. يرفض المولّد القيمة الأطول بخطأ صريح بدلًا من قطعها، لأن اسمًا مقطوعًا ينتج رمزًا يُقرأ ويكذب.

تشرح مواصفة الهيئة الحقول الخمسة وترميز TLV وتحويله إلى Base64، وفيها مثالان محسوبان. دليل إنشاء رمز الاستجابة السريعة المتوافق مع فاتورة

الأرقام داخل الرمز

القيم الرقمية تُكتب بالأرقام الغربية وبنقطة عشرية عادية، بلا فواصل آلاف وبلا رمز عملة، أيًا كان ما يُعرض على الفاتورة. فإن اخترت عرض الأرقام العربية الهندية فسترى ١٢٠٤٫٠٠ على الورقة و1204.00 داخل الرمز، وهذا هو الصحيح.

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

مثال محسوب

ما يحمله رمز فاتورة مبسطة
اسم المورّد
مؤسسة رحمة للتجارة
الرقم الضريبي
310122393500003
وقت الإصدار
2026-10-16T11:45:00Z
الإجمالي مع الضريبة
230.00
إجمالي الضريبة
30.00

هذه القيم الخمس هي ما يُرمَّز. الرقم الضريبي أعلاه مثال من مواصفة الهيئة نفسها لا رقم منشأة قائمة.

أخطاء شائعة

  • كتابة رمز العملة أو فاصلة الآلاف داخل القيمة
  • استخدام الأرقام العربية الهندية في محتوى الرمز
  • حساب الطول بعدد الحروف لا بعدد البايتات، فينكسر كل اسم عربي
  • طباعة الرمز صغيرًا بلا هامش أبيض حوله، فلا يقرؤه الهاتف
  • توليد الرمز من مبالغ غير التي طُبعت على الفاتورة بعد تعديل أخير

كيف تتحقق بنفسك

امسح الرمز بأي قارئ على هاتفك. يجب أن تظهر لك سلسلة Base64 لا رابط. ثم افتح ملف PDF على جهاز آخر وامسحه مرة أخرى: هكذا تعرف أن الرمز خرج في الملف نفسه لا في المعاينة وحدها.

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

المرحلة الأولى هي الإصدار. هذا المولّد لا يرتبط بمنصة فاتورة ولا يرسل إليها، فلا يُغني عن تكامل المرحلة الثانية إذا كانت منشأتك ملزمة به.

آخر تحقق من المصادر 2026-10-16

أسئلة متكررة

ما الذي يحمله رمز المرحلة الأولى؟
خمسة حقول فقط: اسم المورّد، ورقمه الضريبي، ووقت الإصدار، والإجمالي مع الضريبة، وإجمالي الضريبة.
ما صيغة TLV؟
كل حقل يُكتب كرقم وسم في بايت، ثم طول القيمة في بايت، ثم القيمة بترميز UTF-8. تُرصف الحقول بترتيب الوسوم ثم تُحوَّل كلها إلى Base64.
هل يجب أن يكون محتوى الرمز بالأرقام الغربية؟
نعم، بأرقام غربية ونقطة عشرية عادية بلا فواصل آلاف ولا رمز عملة، حتى لو كانت الفاتورة تعرض الأرقام العربية الهندية.
لماذا يفشل الرمز مع اسم عربي طويل؟
لأن بايت الطول واحد، فأقصى قيمة ٢٥٥ بايت، والحرف العربي يشغل بايتين في UTF-8. المولّد يرفض القيمة الأطول بخطأ صريح بدلًا من قطعها.
على أي المستندات يكون الرمز إلزاميًا؟
على الفاتورة الضريبية المبسطة. وهو اختياري على الفاتورة الضريبية الكاملة، ويطبعه المولّد على الاثنتين.
كيف أتأكد أن الرمز صحيح؟
امسحه بهاتفك: يجب أن تظهر سلسلة Base64 لا رابط. ثم امسحه من ملف PDF على جهاز آخر للتأكد أنه خرج في الملف نفسه.
هل وجود الرمز يعني التوافق مع المرحلة الثانية؟
لا. الرمز من متطلبات المرحلة الأولى (الإصدار). المرحلة الثانية تتطلب التكامل مع منصة فاتورة.