BR-KSA-03: كل فاتورة تحتاج معرّفاً فريداً UUID
يتحقق من وجود cbc:UUID (KSA-1) غير فارغ في المستند. التعبير النمطي المنفّذ x27;^[\w.-]+x27; يتحقق فقط من أن القيمة تبدأ بحرف أو رقم أو شرطة سفلية أو نقطة أو شرطة، فهو أخف من النص الرسمي الذي يشترط أحرفاً وأرقاماً وشرطات فقط.
كيف تحلها
أنشئ UUID قياسياً وأضفه في أعلى المستند، مثل <cbc:UUID>3cf5ee18-ee25-44ea-a444-2c37ba7f28be</cbc:UUID>.
نص الهيئة الرسمي
[BR-KSA-03]-The invoice must contain a unique identifier ("UUID") (KSA-1) given by the unit that issued the document (unique message identifier for interchange process). This value must contain only letters, digits, and dashes.
المصدر: ZATCA SDK 3.4.8 · ZATCA KSA rules
متى تفشل (الشرط اللي ينفّذه SDK الهيئة)
not(exists(cbc:UUID) and (cbc:UUID) != '' and matches(cbc:UUID, '^[\w.-]+'))
قواعد قريبة
- BR-E-07 · رسوم المستند المعفاة (E) يجب أن تكون نسبة ضريبتها 0
- BR-E-08 · المبلغ الخاضع للفئة E يجب أن يطابق البنود والتعديلات المعفاة
- BR-E-09 · مبلغ الضريبة في تفصيل الفئة المعفاة (E) يجب أن يكون 0
- BR-KSA-04 · تاريخ الإصدار يجب ألا يكون في المستقبل
- BR-KSA-05 · رمز نوع الفاتورة يجب أن يكون 388 أو 383 أو 381 أو 386
- BR-KSA-06 · رمز معاملة الفاتورة (السمة name) يجب أن يتبع الصيغة NNPNESB
افحص فاتورتك على قواعد الهيئة
الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.
افحص فاتورة أو جرّب ماثل