BR-KSA-CL-04: رمز سبب الإعفاء يجب أن يناسب فئة الضريبة
في cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory على مستوى المستند ذات cbc:ID = Z أو E أو O، يجب أن ينتمي cbc:TaxExemptionReasonCode (BT-121) إن وُجد إلى الفئة نفسها: Z: VATEX-SA-32, VATEX-SA-33, VATEX-SA-34-1, VATEX-SA-34-2, VATEX-SA-34-3, VATEX-SA-34-4, VATEX-SA-34-5, VATEX-SA-35, VATEX-SA-36, VATEX-SA-EDU, VATEX-SA-HEA, VATEX-SA-MLTRY, VATEX-SA-DIPLOMAT, VATEX-SA-DUTYFREE, VATEX-SA-ROYALDECREE, VATEX-SA-32(bis)؛ E: VATEX-SA-29, VATEX-SA-29-7, VATEX-SA-30؛ O: VATEX-SA-OOS. وخلافًا للنص الرسمي، يشمل الفحص الفعلي الفئة O أيضًا، ولا يفشل إذا غاب الرمز أو كان فارغًا (تغطي BR-KSA-23 و BR-KSA-24 و BR-KSA-69 حالة غياب الرمز).
كيف تحلها
استخدم رمزًا يناسب الفئة، مثل <cbc:ID>E</cbc:ID> مع <cbc:TaxExemptionReasonCode>VATEX-SA-29</cbc:TaxExemptionReasonCode>.
نص الهيئة الرسمي
[BR-KSA-CL-04]-If VAT category Code (BT-118) is 'Z', or 'E', VAT exemption (or exception) reason code (BT-121) must exist with one of the values from paragraph 11.2.4 of XML implementation standards on Tax exemption (or exception) reason code - specific to Saudi Arabia.
المصدر: ZATCA SDK 3.4.8 · ZATCA KSA rules
متى تفشل (الشرط اللي ينفّذه SDK الهيئة)
not(exists(cbc:TaxExemptionReasonCode) and ((not(contains(normalize-space(cbc:TaxExemptionReasonCode), ' ')) and normalize-space(cbc:ID) ='Z' and contains(' VATEX-SA-32 VATEX-SA-33 VATEX-SA-34-1 VATEX-SA-34-2 VATEX-SA-34-3 VATEX-SA-34-4 VATEX-SA-34-5 VATEX-SA-35 VATEX-SA-36 VATEX-SA-EDU VATEX-SA-HEA VATEX-SA-MLTRY VATEX-SA-DIPLOMAT VATEX-SA-DUTYFREE VATEX-SA-ROYALDECREE VATEX-SA-32(bis) ', concat(' ', normalize-space(cbc:TaxExemptionReasonCode), ' ')))) or ((not(contains(normalize-space(cbc:TaxExemptionReasonCode), ' ')) and normalize-space(cbc:ID) ='E' and contains(' VATEX-SA-29 VATEX-SA-29-7 VATEX-SA-30 ', concat(' ', normalize-space(cbc:TaxExemptionReasonCode), ' ')))) or ((not(contains(normalize-space(cbc:TaxExemptionReasonCode), ' ')) and normalize-space(cbc:ID) ='O' and contains(' VATEX-SA-OOS ', concat(' ', normalize-space(cbc:TaxExemptionReasonCode), ' ')))) or normalize-space(cbc:TaxExemptionReasonCode)='' )
قواعد قريبة
- BR-47 · يجب أن يحمل كل تفصيل ضريبي رمز فئة الضريبة (BT-118)
- BR-E-01 · البنود المعفاة (E) تحتاج تفصيل ضريبة بالفئة E
- BR-E-08 · المبلغ الخاضع للفئة E يجب أن يطابق البنود والتعديلات المعفاة
- BR-E-09 · مبلغ الضريبة في تفصيل الفئة المعفاة (E) يجب أن يكون 0
- BR-KSA-23 · تفصيل الضريبة المعفى (E) يحتاج رمز سبب الإعفاء (BT-121)
- BR-KSA-24 · تفصيل الضريبة غير الخاضع (O) يحتاج رمز السبب (BT-121)
افحص فاتورتك على قواعد الهيئة
الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.
افحص فاتورة أو جرّب ماثل