BR-KSA-51مبلغ البند شاملاً الضريبة غير مذكور في أحد بنود هذه الفاتورة المبسطة

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

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

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

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

[BR-KSA-51]-The line amount with VAT (KSA-12) must be Invoice line net amount (BT-131) + Line VAT amount (KSA-11).

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

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

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

مبلغ البند شاملاً الضريبة غير مذكور في أحد بنود هذه الفاتورة المبسطة

صورة القيمة في التقريرline_amount_with_vat_missingمبلغ البند شاملاً الضريبة غير موجود

ما الخلل

إحدى كتل cac:TaxTotal داخل أحد عناصر cac:InvoiceLine لا تحمل العنصر cbc:RoundingAmount، وهو العنصر الذي يُكتب فيه مبلغ البند شاملاً الضريبة KSA-12. وتشترط القاعدة BR-KSA-51 من هيئة الزكاة والضريبة والجمارك أن يساوي هذا المبلغُ المبلغَ الصافي للبند BT-131 مضافاً إليه مبلغ ضريبة القيمة المضافة للبند KSA-11؛ ومع خلوّ الكتلة منه تقع المقارنة على قيمة غائبة فتكون كاذبة، فتخفق القاعدة. وأمران يستحقان الذكر هنا. الأول أن هذه القاعدة هي الوحيدة في حزمة القواعد هذه التي تشترط وجود مبلغ البند شاملاً الضريبة أصلاً، إذ إن الفحص الذي يسمّي الحقل KSA-12 باسمه لا يُبلَغ في أي مستند، فبهذه القاعدة وحدها يُرصد غياب إجمالي البند. والثاني أن العنصر اختياري في مخطط UBL، فالنظام الذي لا يكتبه ينتج مستنداً سليم البنية لا يجتاز هذا الفحص في أي فاتورة مبسطة يصدرها. وشرط الدخول إلى هذه القاعدة الفواتير المبسطة وحدها: فالفاتورة الضريبية لا تسري عليها، وخلوّ تقريرها من هذه الملاحظة ليس دليلاً على سلامة حساب بنودها.

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

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

المبلغ الصافي للبند غير مذكور حيث يُفحص مبلغ البند شاملاً الضريبة

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

ما الخلل

أحد عناصر cac:InvoiceLine لا يحمل العنصر cbc:LineExtensionAmount. وتشترط القاعدة BR-KSA-51 من هيئة الزكاة والضريبة والجمارك أن يساوي مبلغ البند شاملاً الضريبة KSA-12 المبلغَ الصافي للبند BT-131 مضافاً إليه مبلغ ضريبة القيمة المضافة للبند KSA-11؛ ومع غياب المبلغ الصافي لا يوجد ما يُجمع، والمقارنة بقيمة غائبة كاذبة، فتخفق القاعدة. والعنصر مطلوب في مخطط UBL، فتُرصد ملاحظة فحص المخطط عادةً على البند نفسه. ويُقرأ المبلغ الصافي من البند نفسه بينما تُقرأ القيمتان الأخريان من كتلة المجموع الضريبي داخله، ولذلك قد يخفق البند في هذه القاعدة وكتلة مجموعه الضريبي تامةٌ في ظاهرها. وشرط الدخول إلى هذه القاعدة الفواتير المبسطة وحدها: فالفاتورة الضريبية لا تسري عليها، وخلوّ تقريرها من هذه الملاحظة ليس دليلاً على سلامة حساب بنودها.

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

تأكد من أن قالب بند الفاتورة يكتب العنصر cbc:LineExtensionAmount على كل بند، بما في ذلك البنود ذات القيمة صفر والبنود المجانية، فبعض القوالب تكبت العنصر إذا كانت قيمته صفراً. وتوقّع ملاحظة ثانية على البند نفسه، فالقاعدة التي تضرب المبلغ الصافي في النسبة تقرأ العنصر نفسه وتخفق للسبب نفسه: الخلل واحد لا اثنان. ومجموع مبالغ البنود في كتلة إجماليات المستند حقل آخر، وتعبئته لا تكتب مبلغ البند.

مبلغ ضريبة القيمة المضافة للبند غير مذكور حيث يُفحص مبلغ البند شاملاً الضريبة

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

ما الخلل

إحدى كتل cac:TaxTotal داخل أحد عناصر cac:InvoiceLine تحمل العنصر cbc:RoundingAmount ولا تحمل العنصر cbc:TaxAmount. وتجمع القاعدة BR-KSA-51 من هيئة الزكاة والضريبة والجمارك مبلغ ضريبة القيمة المضافة للبند KSA-11 إلى المبلغ الصافي للبند BT-131 وتشترط أن يساوي المجموعُ مبلغَ البند شاملاً الضريبة KSA-12؛ ومع غياب مبلغ الضريبة لا يوجد ما يُجمع، فتخفق القاعدة. والعنصر مطلوب في مخطط UBL، فالمستند في هذه الحال تُرصد عليه هذه الملاحظة وملاحظة فحص المخطط معاً. والقيمتان تُقرآن من كتلة المجموع الضريبي نفسها، فإن حمل البند أكثر من كتلة حُكِم على كل كتلة على حدة. وشرط الدخول إلى هذه القاعدة الفواتير المبسطة وحدها: فالفاتورة الضريبية لا تسري عليها، وخلوّ تقريرها من هذه الملاحظة ليس دليلاً على سلامة حساب بنودها.

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

كتلة المجموع الضريبي التي تحمل الإجمالي ولا تحمل الضريبة تعني في العادة أن قالب التصدير يكتب القيمتين من مصدرين مختلفين: الإجمالي من البند المسعَّر، والضريبة من نتيجة محرّك ضريبي عادت خالية. تأكد من كتابة العنصر cbc:TaxAmount على كل بند، وبالقيمة 0.00 على البنود الخاضعة بنسبة الصفر والمعفاة والخارجة عن نطاق الضريبة لا بإسقاطه. وتوقّع أن تُرصد على البند نفسه القاعدةُ التي تضرب المبلغ الصافي في النسبة، فهي تقرأ العنصر نفسه.

مبلغ البند شاملاً الضريبة لا يساوي المبلغ الصافي مضافاً إليه مبلغ الضريبة

صورة القيمة في التقريرnot_net_plus_vatلا يساوي المبلغ الصافي مضافاً إليه مبلغ الضريبة

ما الخلل

مبلغ البند شاملاً الضريبة KSA-12، وهو العنصر cbc:RoundingAmount داخل كتلة المجموع الضريبي في البند، لا يساوي المبلغ الصافي للبند BT-131 مضافاً إليه مبلغ ضريبة القيمة المضافة للبند KSA-11، وتشترط القاعدة BR-KSA-51 من هيئة الزكاة والضريبة والجمارك هذه المساواة في الفاتورة المبسطة بلا هامش تسامح، ويصنّف الإصدار 3.4.8 من حزمة أدوات التطوير SDK الإخلال بها تحذيراً لا خطأً، فالتحذير وحده لا يؤدي إلى رفض المستند. ولا بد من التصريح بأمر يحدّد خطوتك التالية النافعة: المقارنة التي تجريها الهيئة ليست مقارنة عشرية. فالتعبير الذي يُنفَّذ لا يحمل أي تحويل إلى العدد العشري، فتُحوَّل القيمتان إلى عددين ثنائيين بالفاصلة العائمة قبل الموازنة بينهما، والبند الصحيح حسابُه إلى الهللة قد تُرصد عليه الملاحظة مع ذلك. وقد قيس ذلك على حزمة أدوات التطوير SDK التي تنشرها الهيئة: بندٌ مبلغه الصافي 100.00 ونسبته 8.04 ومبلغ ضريبته 8.04 ومبلغه شاملاً الضريبة 108.04، وهو صحيح عشرياً إلى آخر هللة، فرُصدت عليه الملاحظة، لأن جمع القيمتين جمعاً ثنائياً يعطي 108.03999999999999. وعند هذا المبلغ الصافي تسلك هذا المسلك نسبةٌ من كل ثماني نسب ذات منزلتين عشريتين على وجه التقريب. وإعادة الجمع بدقة أعلى لا ترفع الملاحظة، لأن القيمة التي تطلبها المقارنة ليست مبلغاً بمنزلتين عشريتين أصلاً. وهذا خلل في صياغة القاعدة لا في فاتورتك، ولا يرفعه إلا مبلغ صافٍ آخر للبند أو نسبة أخرى. وشرط الدخول إلى هذه القاعدة الفواتير المبسطة وحدها: فالفاتورة الضريبية لا تسري عليها، وخلوّ تقريرها من هذه الملاحظة ليس دليلاً على سلامة حساب بنودها.

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

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

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

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

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

not( format-number((cbc:RoundingAmount),'#.00') = format-number( (round(( (cbc:TaxAmount) + (../cbc:LineExtensionAmount) ) * 100 ) div 100), '#.00') )

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

(cbc:RoundingAmount) = (../cbc:LineExtensionAmount) + (cbc:TaxAmount)
العناصر التي يُقيَّم عليها
cac:InvoiceLine/cac:TaxTotal
المصدر
vendor/zatca/schematron/20210819_ZATCA_E-invoice_Validation_Rules.xsl:1537

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

مثال عملي

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

المستند
bad-78-simplified-line-total.xml
ما حكم به مطابق
اجتاز
صورة القيمة في التقرير
not_net_plus_vatلا يساوي المبلغ الصافي مضافاً إليه مبلغ الضريبة

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

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

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

افحص فاتورة

افحص فاتورتك

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