BR-S-08: المبلغ الخاضع للضريبة للفئة S يطابق مجموع بنودها
لكل cac:TaxSubtotal بفئة الضريبة x27;S'; (النسبة الأساسية)، يجب أن يساوي cbc:TaxableAmount مجموع cbc:LineExtensionAmount للبنود ذات الفئة S، مضافاً إليه الرسوم ومطروحاً منه الخصومات على مستوى الفاتورة ذات الفئة S. كما يُظهر التحقق الفعلي تحذيراً إذا لم يستخدم أي بند أو خصم أو رسم على مستوى الفاتورة الفئة S. التحقق الفعلي يقارن مجموع cbc:TaxableAmount لكل تفاصيل الفئة S (وليس كل تفصيل على حدة) بذلك الإجمالي، بينما يقارن التعبير المنشور التفصيل الواحد وينجح بمجرد وجود بنود أو خصومات أو رسوم بالفئة S.
كيف تحلها
اجعل cbc:TaxableAmount في تفصيل الفئة S مساوياً لمجموع صافي البنود (S) + مجموع رسوم الفاتورة (S) − مجموع خصومات الفاتورة (S)، واحذف تفصيل الفئة S إذا لم يستخدمها أي بند أو خصم أو رسم.
نص الهيئة الرسمي
[BR-S-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Standard rated" 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 "Standard Rate".
المصدر: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules
متى تفشل (الشرط اللي ينفّذه SDK الهيئة)
count(/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S'][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(.) = 'S']) or exists(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'S']])) or not( sum((../../cac:TaxSubtotal[cac:TaxCategory/normalize-space(cbc:ID)='S']/xs:decimal(cbc:TaxableAmount)))=(sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S']/xs:decimal(cbc:LineExtensionAmount) ) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S']/xs:decimal(cbc:Amount)) ))
قواعد قريبة
- BR-24 · يجب أن يحمل كل بند صافي مبلغ البند (BT-131)
- BR-31 · يجب أن يحمل كل خصم على مستوى المستند مبلغًا (BT-92)
- BR-32 · يجب أن يحمل كل خصم على مستوى المستند رمز فئة الضريبة (BT-95)
- BR-36 · يجب أن تحمل كل رسوم إضافية على مستوى المستند مبلغًا (BT-99)
- BR-37 · رمز فئة الضريبة (BT-102) إلزامي لكل رسوم على مستوى المستند
- BR-45 · يجب أن يحمل كل تفصيل ضريبي المبلغ الخاضع للضريبة (BT-116)
افحص فاتورتك على قواعد الهيئة
الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.
افحص فاتورة أو جرّب ماثل