BR-CO-11إجمالي الخصومات غير مذكور مع أن الفاتورة تحمل خصومات

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

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

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

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

[BR-CO-11]-Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).

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

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

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

إجمالي الخصومات غير مذكور مع أن الفاتورة تحمل خصومات

صورة القيمة في التقريرtotal_missingالإجمالي غير موجود

ما الخلل

يحمل المستند خصماً أو أكثر على مستوى المستند، أي عناصر cac:AllowanceCharge قيمة cbc:ChargeIndicator فيها false، لكن كتلة cac:LegalMonetaryTotal لا تحمل العنصر cbc:AllowanceTotalAmount الذي يجمعها. ولا تسمح القاعدة BR-CO-11 من معيار EN 16931، التي تنفّذها هيئة الزكاة والضريبة والجمارك، بغياب هذا الإجمالي إلا حين لا توجد خصومات أصلاً؛ فمع وجودها يجب أن يكون موجوداً.

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

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

إجمالي الخصومات لا يطابق خصومات المستند

صورة القيمة في التقريرnot_sum_of_allowancesلا يساوي مجموع الخصومات

ما الخلل

العنصر cbc:AllowanceTotalAmount في كتلة cac:LegalMonetaryTotal ليس مجموع الخصومات على مستوى المستند، أي عناصر cac:AllowanceCharge التي قيمة cbc:ChargeIndicator فيها false. وتجمع القاعدة BR-CO-11 من معيار EN 16931، التي تنفّذها هيئة الزكاة والضريبة والجمارك، تلك المبالغ ثم تقرّب المجموع إلى منزلتين عشريتين وتشترط تطابقاً تاماً. والخصومات على مستوى المستند وحدها هي التي تُحسب؛ أما الخصم المسجَّل على بند من بنود الفاتورة فخارج هذا المجموع عمداً.

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

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

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

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

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

not(xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()])))

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

xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]))
العناصر التي يُقيَّم عليها
cac:LegalMonetaryTotal
المصدر
vendor/zatca/schematron/CEN-EN16931-UBL.xsl:439

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

مثال عملي

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

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

  • هذا المثال
  • مستند اجتاز الفحص
<cbc:ChargeIndicator>false</cbc:ChargeIndicator><cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>هذا المثال: <cbc:Amount currencyID="SAR">12.00</cbc:Amount>مستند اجتاز الفحص: <cbc:Amount currencyID="SAR">10.000</cbc:Amount><cac:TaxCategory>  <cbc:ID schemeID="UN/ECE 5305" schemeAgencyID="6">S</cbc:ID>
المستند
bad-35-allowance-sum-mismatch.xml
ما حكم به مطابق
لم يجتز
صورة القيمة في التقرير
not_sum_of_allowancesلا يساوي مجموع الخصومات

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

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

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

افحص فاتورة

افحص فاتورتك

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