BR-KSA-19: كل رسم على مستوى المستند يحتاج رمز سبب
تنطبق على كل cac:AllowanceCharge على مستوى المستند فيه cbc:ChargeIndicator = true: يجب أن يحتوي على cbc:AllowanceChargeReasonCode (BT-105) غير فارغ. وجود السبب النصي cbc:AllowanceChargeReason وحده لا يكفي في الفحص الفعلي؛ ونص الاختبار المدرج يعبّر عن ذلك بشكل مختلف.
كيف تحلها
أضف رمز سبب لكل رسم على مستوى المستند، مثل <cbc:AllowanceChargeReasonCode>…</cbc:AllowanceChargeReasonCode>.
نص الهيئة الرسمي
[BR-KSA-19]-Each Document level charge (BG-21) shall have a code for the reason for document level charge (BT-105).
المصدر: ZATCA SDK 3.4.8 · ZATCA KSA rules
متى تفشل (الشرط اللي ينفّذه SDK الهيئة)
not (exists(cbc:AllowanceChargeReasonCode) and normalize-space(cbc:AllowanceChargeReasonCode )!='' )
قواعد قريبة
- BR-36 · يجب أن تحمل كل رسوم إضافية على مستوى المستند مبلغًا (BT-99)
- BR-37 · رمز فئة الضريبة (BT-102) إلزامي لكل رسوم على مستوى المستند
- BR-E-01 · البنود المعفاة (E) تحتاج تفصيل ضريبة بالفئة E
- BR-E-07 · رسوم المستند المعفاة (E) يجب أن تكون نسبة ضريبتها 0
- BR-KSA-13 · الرسوم غير الخاضعة للضريبة (O) نسبتها 0 إن وُجدت
- BR-KSA-21 · كل رسم على مستوى المستند يحتاج نص سبب الرسم (BT-104)
افحص فاتورتك على قواعد الهيئة
الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.
افحص فاتورة أو جرّب ماثل