الوسوم التسعة واحداً واحداً
كل وسم رقم ثابت يعرف به نوع البيان الذي يليه. والجدول التالي ملخص لما يحدده معيار تنفيذ الخصائص الأمنية:
| الوسم | ما يحمله | منذ | من أين يأتي |
|---|---|---|---|
| 1 | اسم البائع | 4 ديسمبر 2021 | بيانات المنشأة في النظام |
| 2 | الرقم الضريبي للبائع | 4 ديسمبر 2021 | بيانات المنشأة |
| 3 | وقت إصدار الفاتورة بصيغة ISO 8601 | 4 ديسمبر 2021 | ساعة النظام لحظة الإصدار |
| 4 | إجمالي الفاتورة شامل الضريبة | 4 ديسمبر 2021 | حساب الفاتورة |
| 5 | إجمالي الضريبة | 4 ديسمبر 2021 | حساب الفاتورة |
| 6 | بصمة ملف XML للفاتورة | 1 يناير 2023 | ملف الفاتورة بعد إنشائه |
| 7 | التوقيع الرقمي | 1 يناير 2023 | الختم التشفيري للمنشأة |
| 8 | المفتاح العام | 1 يناير 2023 | مفتاح الختم التشفيري للمنشأة |
| 9 | توقيع جهة التصديق لدى الهيئة على المفتاح العام للختم | 1 يناير 2023 | للمبسطة وإشعاراتها |
الوسوم الخمسة الأولى يقرؤها أي إنسان بعد فك الترميز. أما الوسوم من 6 إلى 9 فقيم تشفيرية لا معنى لها بالعين، وقيمتها في أنها تربط الرمز بملف الفاتورة وبنظام المنشأة. هذا الفرق هو جوهر الانتقال الذي يشرحه دليل الفاتورة الإلكترونية في السعودية بين مرحلتي الإصدار والربط.
من البيانات إلى المربع المطبوع
يحدد دليل إنشاء رمز الاستجابة السريعة طريقة الترميز، وهي تمر بأربع خطوات:
- لكل وسم ثلاثة أجزاء. بايت واحد لرقم الوسم، وبايت واحد لطول القيمة بالبايت، ثم القيمة نفسها بترميز UTF-8.
- تلصق الوسوم متتالية. الوسم 1 ثم 2 ثم 3 بالترتيب، في سلسلة بايتات واحدة.
- تحول السلسلة إلى Base64. الناتج نص من حروف وأرقام ورموز محدودة، لا يتجاوز 700 حرف.
- يرسم النص مربعاً. وهذا المربع هو ما يطبع على الفاتورة.
نقطة يغفل عنها المطورون: الحرف العربي يشغل بايتين في UTF-8، والمسافة والأرقام اللاتينية بايتاً واحداً. فطول القيمة يحسب بالبايت لا بعدد الحروف.
حساب طول رمز المرحلة الأولى لفاتورة فعلية
فاتورة مبسطة من «مؤسسة الندى» بمبلغ 2,000 ريال قبل الضريبة، والضريبة 2,000 × 15٪ = 300 ريال، والإجمالي 2,300 ريال.
| الوسم | القيمة | طولها بالبايت | الوسم كاملاً |
|---|---|---|---|
| 1 | مؤسسة الندى | 10 حروف × 2 + مسافة = 21 | 2 + 21 = 23 |
| 2 | 310122393500003 | 15 | 2 + 15 = 17 |
| 3 | 2026-11-10T09:15:00Z | 20 | 2 + 20 = 22 |
| 4 | 2300.00 | 7 | 2 + 7 = 9 |
| 5 | 300.00 | 6 | 2 + 6 = 8 |
- مجموع البايتات: 23 + 17 + 22 + 9 + 8 = 79 بايتاً.
- كل 3 بايتات تصبح 4 حروف في Base64، والباقي يكمل إلى مجموعة كاملة: 79 ÷ 3 = 26 وباق 1، فالمجموعات 27.
- طول الرمز: 27 × 4 = 108 أحرف، أقل بكثير من حد 700 حرف.
الرقم الضريبي هنا هو المثال التوضيحي الوارد في المعيار الفني. والمساحة المتبقية حتى 700 حرف تستوعب الوسوم التشفيرية في المرحلة الثانية.
رمز الفاتورة الضريبية ليس كرمز المبسطة
في المرحلة الثانية يختلف مصير الرمز بحسب نوع الفاتورة:
| الفاتورة الضريبية القياسية | الفاتورة المبسطة | |
|---|---|---|
| متى يكتمل الرمز | تحدثه المنصة عند الاعتماد | يولده النظام كاملاً عند الإصدار |
| الوسم 9 | موجود، لأن المبسطة تصل العميل قبل الهيئة | |
| ما يصل العميل | الرمز بعد الاعتماد | الرمز لحظة البيع |
والسبب منطقي: الفاتورة الضريبية لا تصل المشتري قبل أن تمر بالهيئة، فتكتمل بياناتها هناك. أما المبسطة فتسلم في الحال ويبلغ عنها خلال 24 ساعة، فتحتاج رمزاً يثبت سلامتها من اللحظة الأولى. وتفاصيل هذا النوع في دليل الفاتورة الضريبية المبسطة.
التحقق بتطبيق الهيئة
تطبيق الهيئة على الجوال متاح لأجهزة iOS وأندرويد، ويتحقق من الرمز بمسحه، كما توضح صفحة خدمة التحقق من صحة الفاتورة الإلكترونية. وخطوات المسح وقراءة النتيجة مشروحة في كيف تقرأ رمز QR في الفاتورة الإلكترونية وتتحقق منه.
استخدام عملي: المحاسب الذي يراجع فواتير المشتريات يمسح رمز كل فاتورة بتطبيق الهيئة ويقارن الإجمالي والرقم الضريبي الظاهرين في النتيجة بما سجله في دفاتره. أي فرق يعني أن الفاتورة الورقية والبيانات المرمزة لا تتطابقان، وهذا سبب كاف لطلب نسخة جديدة من المورد.
ما يكشفه الرمز من أخطاء
لأن الرمز يحمل الأرقام الأساسية للفاتورة، فهو أداة فحص سريعة لمن يعرف ماذا يبحث عنه:
| ما تراه بعد المسح | ما يعنيه |
|---|---|
| الوسم 4 أقل من الإجمالي المطبوع | النظام يرمز المبلغ قبل الضريبة أو قبل الخصم |
| الوسم 5 لا يساوي 15٪ من الإجمالي قبل الضريبة | أصناف بنسبة الصفر في الفاتورة، أو خطأ في الحساب يستحق المراجعة |
| اسم في الوسم 1 يختلف عن اسم المورد المطبوع | الرمز من قالب قديم أو منشأة أخرى |
| الرمز يتوقف عند الوسم 5 وتاريخ الفاتورة بعد موعد ربط المورد | المورد لم ينتقل إلى المرحلة الثانية |
| نص عادي أو رابط بدلاً من بيانات مرمزة | الرمز رسمته أداة عامة لا نظام فوترة |
لماذا لا يكفي رمز من موقع مجاني
مواقع توليد الرموز تأخذ نصاً تكتبه أنت وترسمه مربعاً. في أحسن الأحوال تنتج الوسوم الخمسة الأولى بترميز صحيح. لكنها لا تستطيع إنتاج الوسوم من 6 إلى 9، لأنها تحتاج ملف فاتورة حقيقياً وختماً تشفيرياً صادراً لوحدة فوترة مرتبطة بالهيئة. والنتيجة فاتورة تبدو سليمة للعين، لكنها ليست فاتورة مرحلة ثانية.
ولهذا لا تضع نماذج هذا الموقع، مثل نموذج الفاتورة الإلكترونية السعودية، أي رمز على الفاتورة. الرمز الصحيح يأتي من حل الفوترة الذي تصدر منه فواتيرك، ويكفيك أن تعمل على نظام فوترة متوافق مع المرحلتين الأولى والثانية تخرج منه الفاتورة المبسطة برمزها بدلاً من تركيب الرمز بأداة خارجية.
أسئلة شائعة
هل يحتوي رمز الفاتورة على رابط لموقع الهيئة؟
لا، فالرمز يحمل بيانات الفاتورة نفسها مرمزة، وليس رابطاً لصفحة. لذلك يظهر عند مسحه بتطبيق عادي نصاً غير مفهوم بدلاً من عنوان موقع.
لماذا يختلف رمز الفاتورة المطبوعة عن رمزها قبل الاعتماد؟
في الفاتورة الضريبية القياسية تحدث المنصة الرمز عند الاعتماد. لذلك يعتمد الرمز الذي يصل المشتري بعد الاعتماد، لا أي نسخة سبقته.
هل يمكن لموظف أن يصحح رقماً في الرمز يدوياً؟
لا، فأي تعديل في بيانات الفاتورة يغير البصمة ولا يطابق التوقيع في الوسوم التشفيرية. التصحيح يكون بإشعار دائن أو مدين يصدره النظام نفسه.
هل تضع نماذج الفواتير في هذا الموقع رمزاً على الفاتورة؟
لا، فالنماذج تعرض حقول الفاتورة للتعلم والتدريب فقط. الرمز يصدره حل الفوترة الإلكترونية للمنشأة من بيانات الفاتورة المحفوظة فيه.
المصادر
محتوى دفترة دوت كوم لأغراض تعليمية ولا يُعد استشارة محاسبية أو ضريبية أو قانونية. وجدت خطأ؟ أخبرنا وسنصححه ونذكر تاريخ التصحيح.
