BR-CO-17: ضريبة كل فئة يجب أن تساوي المبلغ الخاضع × النسبة
يتحقق في كل /ubl:Invoice/cac:TaxTotal/cac:TaxSubtotal من أن cbc:TaxAmount (BT-117) يساوي cbc:TaxableAmount (BT-116) × cac:TaxCategory/cbc:Percent (BT-119) / 100، مقرّباً إلى منزلتين عشريتين. الفحص الفعلي يسمح بفارق 0.01 لكل بند في الفاتورة (عدد البنود × 0.01)، بينما يصف نص الاختبار المدرج فارقاً قدره ±1.
كيف تحلها
احسب cbc:TaxAmount لكل تفصيل على أنه round(cbc:TaxableAmount × cbc:Percent / 100, 2)، باستخدام نفس cbc:Percent الموجود في cac:TaxCategory لذلك التفصيل.
نص الهيئة الرسمي
[BR-CO-17]-VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.
المصدر: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules
متى تفشل (الشرط اللي ينفّذه SDK الهيئة)
not(($taxAmount >= $upperLimit and $taxAmount <= $lowerLimit) or ($taxAmount = $shouldBe))
قواعد قريبة
- BR-45 · يجب أن يحمل كل تفصيل ضريبي المبلغ الخاضع للضريبة (BT-116)
- BR-46 · يجب أن يحمل كل تفصيل ضريبي مبلغ الضريبة (BT-117)
- BR-48 · نسبة الضريبة (BT-119) إلزامية في كل تفصيل ضريبي إلا للفئة O
- BR-CO-14 · إجمالي الضريبة يجب أن يساوي مجموع مبالغ تفصيل الضريبة
- BR-E-08 · المبلغ الخاضع للفئة E يجب أن يطابق البنود والتعديلات المعفاة
- BR-E-09 · مبلغ الضريبة في تفصيل الفئة المعفاة (E) يجب أن يكون 0
افحص فاتورتك على قواعد الهيئة
الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.
افحص فاتورة أو جرّب ماثل