BR-KSA-03: المعرف الفريد العالمي غير صالح (UUID / KSA-1)
BR-KSA-03: Invalid Universally Unique Identifier (UUID / KSA-1)
يجب أن تتضمن الفاتورة معرفاً فريداً عالمياً (UUID) صادراً من جهاز إصدار الفاتورة، ويجب أن يقتصر على أحرف وأرقام وشرطات فقط وفق معيار RFC 4122.
/ubl:Invoice/cbc:UUID 📌 نبذة عن القاعدة وسبب التدقيق
يجب أن تحتوي الفاتورة على معرّف فريد عالمياً (UUID) وفق معيار RFC 4122 يحتوي على أحرف وأرقام وشرطات فقط.
⚠️ الأسباب الشائعة لظهور الخطأ ورفض الفاتورة
- ✕ غياب عنصر <cbc:UUID> في جذر ملف XML للفاتورة
- ✕ تنسيق UUID لا يتطابق مع معيار RFC 4122 (نمط 8-4-4-4-12 مع الشرطات)
- ✕ احتواء المعرف على مسافات أو رموز خاصة غير مسموح بها
- ✕ إعادة استخدام نفس معرف UUID لفواتير متعددة على نفس الجهاز
✅ خطوات الحل وتصحيح الفاتورة
توليد معرف UUID v4 قياسي
استخدم مكتبة توليد معرّفات عشوائية قياسية مطابقة للمعيار v4 مثل crypto.randomUUID() أو java.util.UUID.
التحقق من النمط التعبيري
تأكد من مطابقة النص للنمط القياسي المكون من 36 خانة مفصولة بـ 4 شرطات.
إدراج العنصر في مكانه الصحيح
ضع عنصر <cbc:UUID> مباشرة بعد عنصر رقم الفاتورة <cbc:ID> في ملف XML.
💻 نموذج برمجي لمقارنة ملف XML (قبل وبعد التصحيح)
<!-- Missing or malformed UUID -->
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ID>INV-2026-001</cbc:ID>
<cbc:UUID>12345-INVALID-UUID</cbc:UUID>
</Invoice> <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ID>INV-2026-001</cbc:ID>
<cbc:UUID>9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d</cbc:UUID>
<cbc:IssueDate>2026-08-29</cbc:IssueDate>
</Invoice> تحقق من صحة ملف الفاتورة الآن مجاناً
استخدم أدوات قيمة لفحص بنية XML والتأكد من عدم وجود أخطاء قبل إرسال الفواتير لمنصة زاتكا.
❓ الأسئلة الشائعة حول BR-KSA-03
هل يمكن إعادة توليد UUID في حال رفضت زاتكا الفاتورة؟
في حال رفض الفاتورة، يجب تصحيح سبب الرفض وإصدار الفاتورة بالمعرف الجديد مع الحفاظ على تسلسل الهاش والعداد.
🔗 قواعد وأخطاء زاتكا ذات صلة
BR-KSA-04: تاريخ إصدار الفاتورة لا يمكن أن يكون في المستقبل
تاريخ إصدار الفاتورة (BT-2) يجب أن يكون أقل من أو مساوياً للتاريخ الحالي بتوقيت المملكة العربية السعودية (UTC+3).
BR-KSA-05: رمز نوع الفاتورة غير صالح (BT-3)
رمز نوع الفاتورة يجب أن يكون أحد رموز UN/CEFACT 1001 المعتمدة: 388 (فاتورة ضريبية)، 381 (إشعار دائن)، 383 (إشعار مدين)، 386 (دفعة مقدمة).
BR-KSA-06: كود المعاملة الفرعية للفاتورة غير صحيح (NNPNESB / KSA-2)
كود المعاملة (KSA-2) في خاصية name يجب أن يتكون من 7 خانات وفق هيكلية NNPNESB المعتمدة من زاتكا.
ودّع مشاكل الربط وأخطاء الفوترة مع برنامج قيمة
يتكفل نظام قيمة بكافة متطلبات هيئة الزكاة والضريبة والجمارك تلقائياً في الخلفية: اعتماد فوري للفواتير، توقيع رقمي، وربط كامل مع منصة فاتورة.