BR-O-08: المبلغ الخاضع للضريبة للفئة O يطابق مجموع بنودها

الشرح من فريق ماثل، مبني على نص قواعد الهيئة والشرط اللي ينفّذه SDK 3.4.8 · آخر تحديث

تحذير: الفاتورة تنقبل مع تحذيربشرط، شوف الشرحالحقول: BG-23, BT-118, BT-116, BT-131, BT-92, BT-99, BT-151, BT-95, BT-102

لكل cac:TaxSubtotal بفئة الضريبة 'O'; (غير خاضع للضريبة)، يجب أن يساوي cbc:TaxableAmount مجموع cbc:LineExtensionAmount للبنود ذات الفئة O، مضافاً إليه الرسوم ومطروحاً منه الخصومات على مستوى الفاتورة ذات الفئة O. كما يُظهر التحقق الفعلي تحذيراً إذا لم يستخدم أي بند أو خصم أو رسم على مستوى الفاتورة الفئة O. التعبير المنشور مكتوب بحيث ينجح بمجرد وجود بنود أو خصومات أو رسوم بالفئة O دون مقارنة المبالغ.

كيف تحلها

اجعل cbc:TaxableAmount في تفصيل الفئة O مساوياً لمجموع صافي البنود (O) + مجموع رسوم الفاتورة (O) − مجموع خصومات الفاتورة (O)، واحذف تفصيل الفئة O إذا لم يستخدمها أي بند أو خصم أو رسم.

نص الهيئة الرسمي

[BR-O-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Not subject to VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Not subject to VAT".
المصدر: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules

متى تفشل (الشرط اللي ينفّذه SDK الهيئة)

count(/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])> 0 and not(exists(../../../cac:AllowanceCharge/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) or exists(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']])) or not((xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)))))

قواعد قريبة

افحص فاتورتك على قواعد الهيئة

الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.

افحص فاتورة أو جرّب ماثل