BR-KSA-27 📱 رمز الاستجابة السريعة TLV error

BR-KSA-27: رمز الاستجابة السريعة (QR Code / KSA-14) مفقود أو غير مطابق

BR-KSA-27: Mandatory QR Code (KSA-14) Missing or Malformed

المواصفة التقنية المعتمدة من زاتكا:

يجب أن تتضمن الفاتورة رمز استجابة سريعة (KSA-14) بصيغة Base64 وبترميز Tag-Length-Value لكافة الحقول الإلزامية.

XPath Context: /ubl:Invoice/cac:AdditionalDocumentReference[cbc:ID='QR']/cac:Attachment/cbc:EmbeddedDocumentBinaryObject

📌 نبذة عن القاعدة وسبب التدقيق

يجب أن تحتوي الفاتورة على رمز QR مشفر بنظام Base64 ومبني بترميز TLV وفق متطلبات المرحلة الثانية من هيئة الزكاة.

English Description: The document must contain a Base64-encoded TLV QR Code (KSA-14) formatted according to ZATCA Phase 2 security specifications.

⚠️ الأسباب الشائعة لظهور الخطأ ورفض الفاتورة

  • غياب عنصر <cac:AdditionalDocumentReference> ذو المعرف QR
  • ترميز الـ QR كنص عادي أو رابط موقع بدلاً من ترميز TLV المشفر بـ Base64
  • نقص وسوم المرحلة الثانية: الوسم 5 (التوقيع الرقمي)، الوسم 6 (المفتاح العام)، أو الوسم 7 (توقيع الشهادة)
  • خطأ في احتساب طول البايتات لحقول TLV

خطوات الحل وتصحيح الفاتورة

1

ترميز وسوم TLV التسعة

قم ببناء مصفوفة بايتات TLV متضمنة: الوسم 1 (اسم المورد)، الوسم 2 (الرقم الضريبي)، الوسم 3 (الوقت)، الوسم 4 (الإجمالي)، الوسم 5 (الضريبة)، الوسوم 6-9 (الهاش والتوقيع والمفتاح العام).

2

التحويل إلى نص Base64

حول البايتات المدمجة إلى صيغة Base64 وضعها داخل عنصر EmbeddedDocumentBinaryObject.

💻 نموذج برمجي لمقارنة ملف XML (قبل وبعد التصحيح)

❌ النموذج الخاطئ (مرفوض من زاتكا) Invalid XML
<cac:AdditionalDocumentReference>
  <cbc:ID>QR</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain">https://example.com/invoice/123</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
✓ النموذج الصحيح (المعتمد رسمياً) Valid UBL 2.1
<cac:AdditionalDocumentReference>
  <cbc:ID>QR</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain">AQhNZXJjaGFudAIPMzAwMDAwMDAwMDAwMDAzAxgyMDI2LTA4LTI5VDE0OjMwOjAwWgQFMTAwLjAFATE1LjA=</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>

تحقق من صحة ملف الفاتورة الآن مجاناً

استخدم أدوات قيمة لفحص بنية XML والتأكد من عدم وجود أخطاء قبل إرسال الفواتير لمنصة زاتكا.

الأسئلة الشائعة حول BR-KSA-27

ما الفرق بين رمز QR للمرحلة الأولى والمرحلة الثانية؟

المرحلة الأولى تتطلب الوسوم 1 إلى 5 فقط، بينما تتطلب المرحلة الثانية وسوم التشفير الرقمي والتوقيع (الوسوم 6 إلى 9) لضمان عدم التلاعب.

ودّع مشاكل الربط وأخطاء الفوترة مع برنامج قيمة

يتكفل نظام قيمة بكافة متطلبات هيئة الزكاة والضريبة والجمارك تلقائياً في الخلفية: اعتماد فوري للفواتير، توقيع رقمي، وربط كامل مع منصة فاتورة.