BR-CO-18الفاتورة لا تحمل كتلة مجموع ضريبي

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

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

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

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

[BR-CO-18]-An Invoice shall at least have one VAT breakdown group (BG-23).

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

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

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

الفاتورة لا تحمل كتلة مجموع ضريبي

صورة القيمة في التقريرtax_total_missingكتلة المجموع الضريبي غير موجودة

ما الخلل

لا تحمل الفاتورة أي عنصر cac:TaxTotal خاص بها على مستوى المستند. وتشترط هيئة الزكاة والضريبة والجمارك وجود واحد على الأقل بموجب القاعدة BR-CO-18، لأن هذه الكتلة هي موضع ذكر ضريبة الفاتورة. والعنصر cac:TaxTotal الوارد داخل بند من بنود الفاتورة لا يُحسب: فمعيار UBL يضع واحداً في كل بند، وهذه القاعدة لا تنظر إلا في العناصر المباشرة تحت جذر المستند.

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

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

كتلة المجموع الضريبي لا تحمل تفصيلاً ضريبياً

صورة القيمة في التقريرtax_subtotal_missingالتفصيل الضريبي غير موجود في المجموع الضريبي

ما الخلل

تحمل الفاتورة عناصر cac:TaxTotal على مستوى المستند لكن لا يحمل أيٌّ منها عنصر cac:TaxSubtotal، فالمستند يذكر إجمالياً ضريبياً دون أن يبيّن كيف يتوزّع على الفئات والنسب. وتشترط هيئة الزكاة والضريبة والجمارك وجود مجموع فرعي واحد على الأقل بموجب القاعدة BR-CO-18. والعنصر cac:TaxSubtotal الوارد داخل بند من بنود الفاتورة لا يُحسب؛ ولا تُقرأ إلا كتل المستند نفسه.

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

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

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

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

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

not(exists(cac:TaxTotal/cac:TaxSubtotal))

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

exists(cac:TaxTotal/cac:TaxSubtotal)
العناصر التي يُقيَّم عليها
/ubl:Invoice | /cn:CreditNote
المصدر
vendor/zatca/schematron/CEN-EN16931-UBL.xsl:783

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

مثال عملي

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

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

  • هذا المثال
  • مستند اجتاز الفحص
<cac:TaxTotal>  <cbc:TaxAmount currencyID="SAR">15.00</cbc:TaxAmount>مستند اجتاز الفحص:   <cac:TaxSubtotal>مستند اجتاز الفحص:     <cbc:TaxableAmount currencyID="SAR">100.01</cbc:TaxableAmount>مستند اجتاز الفحص:     <cbc:TaxAmount currencyID="SAR">15.00</cbc:TaxAmount>مستند اجتاز الفحص:     <cac:TaxCategory>مستند اجتاز الفحص:       <cbc:ID schemeID="UN/ECE 5305" schemeAgencyID="6">S</cbc:ID>مستند اجتاز الفحص:       <cbc:Percent>15.00</cbc:Percent>مستند اجتاز الفحص:       <cac:TaxScheme>مستند اجتاز الفحص:         <cbc:ID schemeID="UN/ECE 5153" schemeAgencyID="6">VAT</cbc:ID>مستند اجتاز الفحص:       </cac:TaxScheme>مستند اجتاز الفحص:     </cac:TaxCategory>مستند اجتاز الفحص:   </cac:TaxSubtotal></cac:TaxTotal><cac:TaxTotal>
المستند
bad-34-no-tax-subtotal.xml
ما حكم به مطابق
لم يجتز
صورة القيمة في التقرير
tax_subtotal_missingالتفصيل الضريبي غير موجود في المجموع الضريبي

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

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

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

افحص فاتورة

افحص فاتورتك

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