BR-KSA-34قيمة عدّاد الفواتير تحتوي على غير الأرقام

يفحص مطابق ملف XML للفاتورة الإلكترونية في المرحلة الثانية قبل إرساله: تحقق مسبق وفق متطلبات هيئة الزكاة والضريبة والجمارك المنشورة، لا اعتماداً من الهيئة. وتشرح هذه الصفحة قاعدة واحدة هي BR-KSA-34.

افحص 5 فواتير مجاناً

خمس عمليات فحص شهرياً في باقة المجان. يُفحص الملف في الذاكرة ولا يُحفظ.

الرسالة كما تنشرها هيئة الزكاة والضريبة والجمارك

[BR-KSA-34]-The invoice counter value (KSA-16) contains only digits.

ما الذي يذكره مطابق

مدخل لكل حالة تُذكر فيها هذه القاعدة في التقرير.

صورة القيمة في التقرير
صورة القيمة التي وُجدت — empty وnot_15_digits وما شابههما — لا القيمة نفسها.

قيمة عدّاد الفواتير تحتوي على غير الأرقام

صورة القيمة في التقريرnot_digitsيحتوي على غير الأرقام

ما الخلل

قيمة عدّاد الفواتير KSA-16، المحمولة في العنصر cbc:UUID داخل كتلة مرجع ICV، تحتوي على محرف ليس رقماً. وترفض هيئة الزكاة والضريبة والجمارك المستند بموجب القاعدة BR-KSA-34 التي تنص رسالتها على أن قيمة عدّاد الفواتير KSA-16 لا تحتوي إلا على أرقام. فلا يُسمح إلا بالمحارف من 0 إلى 9: لا حروف ولا شرطات ولا مسافات ولا فواصل تجميع ولا بادئة. وأمران في هذا الفحص جديران بالمعرفة. الأول أن العدّاد الغائب أو الفارغ لا يُذكر هنا: فالاختبار تعبير نمطي يسمح بالقيمة الفارغة، والقيمة الغائبة تُقرأ فارغةً، فتجتاز الفحص. والوجود قاعدة أخرى هي BR-KSA-33، وتظهر في هذا التقرير في الملاحظة المعنونة: قيمة عدّاد الفواتير غير موجودة. والثاني أن المسار الذي تقيسه الهيئة ليس مقصوراً على مرجع ICV، بل يقرأ أي عنصر cac:AdditionalDocumentReference يحمل عنصر cbc:UUID؛ وفي الفاتورة المعدّة وفق متطلبات الهيئة لا يحمل هذا العنصر إلا مرجع ICV فتتطابق القراءتان، أما في مستند يحمله فيه مرجع آخر فالقيمة المحكوم عليها هي تلك. وحدٌّ آخر يُذكر لئلا يُفترض خلافه: نص القاعدة BR-KSA-34 المنشور يطلب كذلك أن يزيد العدّاد على عدّاد الفاتورة السابقة، وهذا الشق لا يُفحص هنا ولا سبيل إلى فحصه، لأن أداة الفحص ترى مستنداً واحداً ولا ترى ما قبله؛ فالعدّاد الذي كله أرقام، المكرَّر أو المتراجع، يجتاز هذا الفحص وقد تُرفض الفاتورة حين ترى الهيئة السلسلة.

ما الذي تتحقق منه في وحدة الفوترة الإلكترونية

العدّاد عدد صحيح بالأرقام العشرية لا غير: 1 ثم 2 ثم 3 وهكذا صعوداً، دون أي تنسيق حوله. واسم العنصر مضلِّل وهو أشيع أسباب هذه الملاحظة: فالعنصر cbc:UUID يحمل العدّاد لا معرِّفاً فريداً، والربط المكتوب على اسم العنصر لا على تعريف الحقل يضع فيه معرِّفاً فريداً. وسائر الأسباب المعتادة: رقم الفاتورة مكتوباً في موضع العدّاد، وهو يحمل بادئة وشرطات في العادة؛ ورمز فرع أو جهاز يُضاف في أوله للتفريق بين المواقع، والعدّاد لا يحتاج إليه لأن لكل جهاز سلسلته الخاصة؛ وفاصل تجميع يضيفه منسّق التقارير؛ وفاصلة عليا بادئة تأتي من تصدير جدول بيانات؛ والمسافات، ومنها أداة كتابة XML المضبوطة على التنسيق المرتَّب فتضع القيمة في سطر مستقل بمسافات بادئة. والعدّاد ليس رقم الفاتورة BT-1، ولا يُصفَّر لكل عميل ولا لكل فرع ولا لكل سنة، بل يزيد واحداً مع كل مستند يصدره الجهاز أو النظام المُصدِر، بما في ذلك الإشعارات الدائنة والمدينة.

الفحص الذي يُنفَّذ

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

التعبير المُنفَّذ

not(matches(cac:AdditionalDocumentReference/cbc:UUID, '^[0-9]*$'))

التعبير المذكور في التقرير

matches(cac:AdditionalDocumentReference/cbc:UUID, '^[0-9]*$')
العناصر التي يُقيَّم عليها
/ubl:Invoice | /cn:CreditNote
المصدر
vendor/zatca/schematron/20210819_ZATCA_E-invoice_Validation_Rules.xsl:424

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

مثال عملي

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

الأسطر التي يختلف فيها عن مستند اجتاز الفحص

  • هذا المثال
  • مستند اجتاز الفحص
<cac:AdditionalDocumentReference>  <cbc:ID>ICV</cbc:ID>هذا المثال:   <cbc:UUID>INV-0001</cbc:UUID>مستند اجتاز الفحص:   <cbc:UUID>1</cbc:UUID></cac:AdditionalDocumentReference><cac:AdditionalDocumentReference>
المستند
bad-40-icv-not-digits.xml
ما حكم به مطابق
لم يجتز
صورة القيمة في التقرير
not_digitsيحتوي على غير الأرقام

نزّل هذا المثال (.xml)افحصه في مطابق

مثال هذه الصفحة، يُفحص بالقواعد نفسها التي يمر بها ملفك عند الرفع. بلا رفع وبلا تسجيل دخول.

قواعد تُقيَّم على الموضع نفسه من المستند، وكثيراً ما تُرصد عدة قواعد منها معاً بسبب قيمة واحدة خاطئة.

افحص فاتورة

افحص فاتورتك

© 2026 Hayatiq AI Solutions F.Z.E. جميع الحقوق محفوظة.