BR-KSA-20: كل رسم على مستوى البند يحتاج رمز سبب
تنطبق على كل cac:InvoiceLine/cac:AllowanceCharge فيه cbc:ChargeIndicator = true: يجب أن يحتوي على cbc:AllowanceChargeReasonCode (BT-145) غير فارغ. وجود السبب النصي cbc:AllowanceChargeReason وحده لا يكفي في الفحص الفعلي؛ ونص الاختبار المدرج يعبّر عن ذلك بشكل مختلف.
كيف تحلها
أضف رمز سبب لكل رسم على مستوى البند، مثل <cbc:AllowanceChargeReasonCode>…</cbc:AllowanceChargeReasonCode>.
نص الهيئة الرسمي
[BR-KSA-20]-Each Invoice line charge (BG-28) shall have a code for the reason for invoice line charge (BT-145).
المصدر: ZATCA SDK 3.4.8 · ZATCA KSA rules
متى تفشل (الشرط اللي ينفّذه SDK الهيئة)
not(exists(cbc:AllowanceChargeReasonCode) and normalize-space(cbc:AllowanceChargeReasonCode )!='' )
قواعد قريبة
- BR-43 · يجب أن تحمل كل رسوم إضافية على مستوى البند مبلغًا (BT-141)
- BR-KSA-22 · كل رسم على مستوى البند يحتاج نص سبب الرسم (BT-144)
- BR-KSA-CL-06 · رموز أسباب الرسوم يجب أن تكون من قائمة UNTDID 7161
- BR-KSA-17 · الإشعارات الدائنة والمدينة تحتاج سبب الإصدار
- BR-KSA-18 · رمز فئة الضريبة يجب أن يكون S أو Z أو E أو O
- BR-KSA-19 · كل رسم على مستوى المستند يحتاج رمز سبب
افحص فاتورتك على قواعد الهيئة
الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.
افحص فاتورة أو جرّب ماثل