BR-S-06الخصم الخاضع للنسبة الأساسية لا يحمل نسبة ضريبة القيمة المضافة

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

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

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

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

[BR-S-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" the Document level allowance VAT rate (BT-96) shall be greater than zero.

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

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

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

الخصم الخاضع للنسبة الأساسية لا يحمل نسبة ضريبة القيمة المضافة

صورة القيمة في التقريرrate_missingالنسبة غير موجودة

ما الخلل

يحمل المستند عنصر cac:AllowanceCharge فئته الضريبية في cac:TaxCategory مرمَّزة S، أي خاضعة للنسبة الأساسية، تحت النظام الضريبي لضريبة القيمة المضافة، ولا تحمل هذه الفئة عنصر cbc:Percent أصلاً. وتشترط القاعدة BR-S-06 من معيار EN 16931، التي تنفّذها هيئة الزكاة والضريبة والجمارك، أن تكون نسبة ضريبة القيمة المضافة على الخصم الخاضع للنسبة الأساسية BT-96 أكبر من الصفر، والمقارنة مكتوبة على نحو يجعل غياب العنصر إخفاقاً كما لو كانت النسبة صفراً: فالعنصر غير الموجود تسلسل خالٍ، والتسلسل الخالي لا يكون أبداً أكبر من الصفر. والتعبير الذي تنفّذه الهيئة أوسع من نص القاعدة نفسها، إذ يتحدث النص عن الخصم على مستوى المستند بينما يطابق التعبير أي خصم على أي عمق، فالخصم المكتوب داخل بند الفاتورة أو داخل كتلة السعر محكوم به كذلك.

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

موضع النسبة هو cac:AllowanceCharge/cac:TaxCategory/cbc:Percent إلى جانب رمز الفئة في عنصر cbc:ID من الكتلة نفسها. والسبب المعتاد قالب تصدير يكتب رمز الفئة للخصم ويترك النسبة لتُورَث من البند الذي جاء منه الخصم، وهي قاعدة لا سبيل إلى التعبير عنها في ملف XML. وسبب آخر أن يكون الخصم مسجَّلاً في نظامك تسوية نصية حرة لا خصماً خاضعاً للضريبة، فلا توجد نسبة في السجل ليقرأها الربط. وافحص الخصومات المدخلة يدوياً في ترويسة الفاتورة كما تفحص الخصومات الناتجة عن قاعدة تسعير، فالربط في الحالتين مختلف عادةً ولا يكتمل إلا في إحداهما.

نسبة الضريبة على الخصم الخاضع للنسبة الأساسية صفر أو أقل

صورة القيمة في التقريرrate_not_positiveالنسبة صفر أو أقل

ما الخلل

يحمل عنصر cac:AllowanceCharge فئة ضريبية في cac:TaxCategory مرمَّزة S، أي خاضعة للنسبة الأساسية، تحت النظام الضريبي لضريبة القيمة المضافة، وقيمة عنصر cbc:Percent فيها ليست أكبر من الصفر. وتشترط القاعدة BR-S-06 من معيار EN 16931، التي تنفّذها هيئة الزكاة والضريبة والجمارك، أن تكون نسبة الخصم الخاضع للنسبة الأساسية BT-96 أكبر من الصفر قطعاً. والتناقض هنا بين حقلين في الكتلة نفسها لا بينهما وبين رقم آخر في المستند: فالخصم الذي لا يحمل ضريبة حقاً ليس خاضعاً للنسبة الأساسية، وموضعه فئة الخاضع بنسبة الصفر Z أو فئة المعفى من الضريبة E أو فئة الخارج عن نطاق الضريبة O.

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

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

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

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

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

not((cbc:Percent) > 0)

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

(cbc:Percent) > 0
العناصر التي يُقيَّم عليها
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
المصدر
vendor/zatca/schematron/CEN-EN16931-UBL.xsl:1568

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

مثال عملي

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

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

  • هذا المثال
  • مستند اجتاز الفحص
  <cbc:PaymentMeansCode>10</cbc:PaymentMeansCode></cac:PaymentMeans>هذا المثال: <cac:AllowanceCharge>هذا المثال:   <cbc:ChargeIndicator>false</cbc:ChargeIndicator>هذا المثال:   <cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>هذا المثال:   <cbc:Amount currencyID="SAR">0.00</cbc:Amount>هذا المثال:   <cac:TaxCategory>هذا المثال:     <cbc:ID schemeID="UN/ECE 5305" schemeAgencyID="6">S</cbc:ID>هذا المثال:     <cbc:Percent>0.00</cbc:Percent>هذا المثال:     <cac:TaxScheme>هذا المثال:       <cbc:ID schemeID="UN/ECE 5153" schemeAgencyID="6">VAT</cbc:ID>هذا المثال:     </cac:TaxScheme>هذا المثال:   </cac:TaxCategory>هذا المثال: </cac:AllowanceCharge><cac:TaxTotal>  <cbc:TaxAmount currencyID="SAR">15.00</cbc:TaxAmount>
المستند
bad-53-s-allowance-zero-rate.xml
ما حكم به مطابق
لم يجتز
صورة القيمة في التقرير
rate_not_positiveالنسبة صفر أو أقل

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

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

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

افحص فاتورة

افحص فاتورتك

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