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

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

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

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

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

[BR-KSA-DEC-03]-VAT amount at line level (KSA-11) must have a maximum two decimals.

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

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

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

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

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

ما الخلل

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

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

ابدأ بسمة العملة على العنصر cbc:TaxAmount في البند، فمبلغ ضريبة بندٍ موسوم بعملة غير عملة الفاتورة هو ما يجعل هذه القاعدة قابلة للبلوغ، وهو في ذاته خطأ في الغالب الأعم: ابحث عن عملة مأخوذة من الصنف أو من قائمة الأسعار أو من سجل العميل بدل عملة المستند. ثم عامل المنازل العشرية بوصفها ضبط تنسيق لا ضبط حساب: فالحقل العشري الذي يُسلسَل بكامل دقته المخزَّنة يطبع كل خانة يحملها ما لم ينسّقه التصدير، وضبط الإعدادات الإقليمية أو القالب الذي يثبّت كل عدد في الملف على ثلاث منازل يفعل الشيء نفسه. نسّق المبلغ على منزلتين على الأكثر عند الإخراج. وتحقّق كذلك من أن أداة كتابة XML لا تضيف مسافات بادئة داخل العنصر، فمحرف نهاية السطر والمسافات بعده محارف ضمن نص العنصر وتدخل في العدّ.

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

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

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

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

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

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

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

مثال عملي

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

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

  • هذا المثال
  • مستند اجتاز الفحص
<cbc:LineExtensionAmount currencyID="SAR">100.00</cbc:LineExtensionAmount><cac:TaxTotal>هذا المثال:   <cbc:TaxAmount currencyID="USD">15.000</cbc:TaxAmount>مستند اجتاز الفحص:   <cbc:TaxAmount currencyID="SAR">15.000</cbc:TaxAmount>  <cbc:RoundingAmount currencyID="SAR">115.00</cbc:RoundingAmount></cac:TaxTotal>
المستند
bad-76-line-vat-three-decimals.xml
ما حكم به مطابق
لم يجتز
صورة القيمة في التقرير
more_than_two_decimalsأكثر من منزلتين عشريتين

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

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

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

افحص فاتورة

افحص فاتورتك

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