BR-KSA-DEC-04مبلغ البند شاملاً الضريبة مكتوب بأكثر من منزلتين عشريتين

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

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

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

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

[BR-KSA-DEC-04]-Amount with VAT at line level (KSA-12) must have a maximum two decimals.

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

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

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

مبلغ البند شاملاً الضريبة مكتوب بأكثر من منزلتين عشريتين

صورة القيمة في التقريرmore_than_two_decimalsأكثر من منزلتين عشريتين

ما الخلل

العنصر cbc:RoundingAmount داخل كتلة cac:TaxTotal في أحد بنود الفاتورة، وهو الحقل KSA-12 الذي يحمل مبلغ البند شاملاً الضريبة، يحمل أكثر من محرفين بعد أول نقطة فيه، وترصد هيئة الزكاة والضريبة والجمارك ذلك بموجب قاعدتها BR-KSA-DEC-04، وتصنّفه تحذيراً لا خطأً، فالتحذير وحده لا يؤدي إلى رفض المستند. واسم العنصر هو المزلق هنا ويحسن قوله صراحةً: فالعنصر cbc:RoundingAmount على مستوى البند لا يحمل فرق تقريب، بل يحمل المبلغ الصافي للبند مضافاً إليه مبلغ ضريبة البند، وهو الرقم الذي يعرفه العميل. وتعدّ القاعدة المحارف الواقعة بعد أول نقطة في نص العنصر ولا تحكم على مقدار القيمة، فالقيمة المكتوبة بثلاث منازل تخفق ولو كان الرقم الثالث صفراً، والقيمة التي لا نقطة فيها تجتاز مهما كان مقدارها. والعنصر الغائب أو الخالي يجتاز هذه القاعدة، غير أن الفاتورة المبسطة ملزَمة بحمل العنصر لسبب آخر بموجب القاعدة BR-KSA-51. وهذه قاعدة من قواعد الهيئة لا من معيار EN 16931، ولا يقرأ هذا العنصر أيّ فحص من فحوص المعيار، فهي بخلاف أكثر ملاحظات المنزلتين قد ترد وحدها وسائر المستند سليم. وهي تشارك فحص مبلغ ضريبة البند في القاعدة BR-KSA-DEC-03 قالباً واحداً، ويُقيَّم الفحصان على كل بند، فالبند السيئ التنسيق قد يجرّهما معاً؛ وفي حزم القواعد السابقة للإصدار 2.0.0 كان فحص صافي سعر الصنف في القاعدة BR-KSA-DEC-05، الذي حذفه الإصدار 3.4.8، يشاركهما القالب كذلك.

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

هذا الرقم هو المبلغ الصافي للبند مضافاً إليه مبلغ ضريبة البند، فهو يرث دقة الرقمين: قرِّب كلاً منهما إلى منزلتين واجمع القيمتين المقرَّبتين بدل الجمع أولاً وتقريب المجموع، وهو كذلك ما تحتاجه القاعدة BR-KSA-51 إذ توازن هذا العنصر بذينك الرقمين نفسيهما. ولأن العنصر ليس ما يوحي به اسمه فابدأ بالربط قبل التنسيق: فالنظام الذي يكتب فيه فرق تقريب حقيقياً يكتب رقماً خاطئاً بالكلية، وموضع فرق التقريب على ما يدفعه العميل هو العنصر cbc:PayableRoundingAmount في كتلة إجماليات المستند. وحذف العنصر ليس مخرجاً في الفاتورة المبسطة التي تُلزَم بحمله. وتحقّق كذلك من أن أداة كتابة XML لا تضيف مسافات بادئة داخل العنصر، فمحرف نهاية السطر والمسافات بعده محارف ضمن نص العنصر وتدخل في العدّ.

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

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

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

not(string-length(substring-after(cac:TaxTotal/cbc:RoundingAmount,'.'))<=2)

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

string-length(substring-after(cac:TaxTotal/cbc:RoundingAmount,'.'))<=2
العناصر التي يُقيَّم عليها
cac:InvoiceLine
المصدر
vendor/zatca/schematron/20210819_ZATCA_E-invoice_Validation_Rules.xsl:2400

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

مثال عملي

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

المستند
bad-99-line-amount-with-vat-decimals.xml
ما حكم به مطابق
اجتاز
صورة القيمة في التقرير
more_than_two_decimalsأكثر من منزلتين عشريتين

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

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

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

افحص فاتورة

افحص فاتورتك

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