BR-KSA-CL-04: رمز سبب الإعفاء يجب أن يناسب فئة الضريبة

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

تحذير: الفاتورة تنقبل مع تحذيربشرط، شوف الشرحالحقول: BT-118, BT-121

في 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)='' )

قواعد قريبة

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

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

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