BR-KSA-69التفصيل الخاضع بنسبة الصفر لا يذكر رمز سبب الإعفاء
يفحص مطابق ملف XML للفاتورة الإلكترونية في المرحلة الثانية قبل إرساله: تحقق مسبق وفق متطلبات هيئة الزكاة والضريبة والجمارك المنشورة، لا اعتماداً من الهيئة. وتشرح هذه الصفحة قاعدة واحدة هي BR-KSA-69.
خمس عمليات فحص شهرياً في باقة المجان. يُفحص الملف في الذاكرة ولا يُحفظ.
الرسالة كما تنشرها هيئة الزكاة والضريبة والجمارك
[BR-KSA-69]-A VAT breakdown (BG-23) with VAT Category code (BT-118) 'Zero rated' shall have a VAT exception reason code (BT-121).
ما الذي يذكره مطابق
مدخل لكل حالة تُذكر فيها هذه القاعدة في التقرير.
صورة القيمة في التقرير
صورة القيمة التي وُجدت — empty وnot_15_digits وما شابههما — لا القيمة نفسها.
التفصيل الخاضع بنسبة الصفر لا يذكر رمز سبب الإعفاء
صورة القيمة في التقريرreason_code_missingرمز السبب غير موجود
ما الخلل
أحد عناصر cac:TaxSubtotal الواقعة مباشرة تحت كتلة cac:TaxTotal الخاصة بالفاتورة مرمَّز Z، أي خاضع بنسبة الصفر، تحت النظام الضريبي لضريبة القيمة المضافة، ولا تحمل فئته في cac:TaxCategory العنصر cbc:TaxExemptionReasonCode. ويرصد الإصدار 3.4.8 من حزمة أدوات التطوير SDK التي تنشرها هيئة الزكاة والضريبة والجمارك ذلك بموجب القاعدة BR-KSA-69 تحذيراً لا خطأً، فالتحذير وحده لا يؤدي إلى رفض المستند. وكانت الإصدارات السابقة (3.0.8) تشترط نص السبب إلى جانب الرمز؛ أما الإصدار 3.4.8 فلا يطلب إلا الرمز، فالتفصيل الخاضع بنسبة الصفر الذي يحمل نص السبب دون رمزه تُرصد عليه هذه الملاحظة كذلك، والقاعدة BR-E-10 التي كانت تقبل أحدهما وحده توقّف العمل بها ولم تعد في الإصدار 3.4.8. وتحاكي الحزمة القاعدة BR-KSA-69 إلى جانب قاعدتين أضافتهما حين انتقلت إلى الإصدار 3.4.8: فالقاعدة BR-KSA-23 تطرح السؤال نفسه على التفصيل المعفى من الضريبة (E)، والقاعدة BR-KSA-24 على التفصيل الخارج عن نطاق الضريبة (O)، وكلتاهما مصنَّفة تحذيراً كذلك. أما القاعدة BR-KSA-CL-04 التي تفحص الرمز نفسه في قائمة الهيئة المنشورة لفئته، فلا تُذكر في الإصدار 3.4.8 على رمز غائب أو فارغ، فهذه الملاحظة هي التي ترصده.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
موضع الرمز هو cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode إلى جوار النص الذي يحمله مستندك بالفعل. والسبب المعتاد تصدير مبني على نمط EN 16931 حيث يكفي نص السبب وحده، فلم يُربط الرمز قطّ؛ والثاني نظام فيه حقل واحد للسبب استولى عليه النص. أضف الرمز إلى كل رمز ضريبي خاضع بنسبة الصفر في جدول الرموز الضريبية. ولا بد أن يكون أحد رموز VATEX-SA التي تنشرها الهيئة للتوريدات الخاضعة بنسبة الصفر، وهو ما تفحصه القاعدة BR-KSA-CL-04 منفصلة، فاحسم أيُّها ينطبق مع من يملك جدول الرموز الضريبية قبل الربط، فتلك مسألة ضريبية لا مسألة ربط.
رمز سبب الإعفاء في التفصيل الخاضع بنسبة الصفر فارغ
صورة القيمة في التقريرreason_code_emptyرمز السبب موجود لكنه فارغ
ما الخلل
أحد عناصر cac:TaxSubtotal الواقعة مباشرة تحت كتلة cac:TaxTotal الخاصة بالفاتورة مرمَّز Z، أي خاضع بنسبة الصفر، تحت النظام الضريبي لضريبة القيمة المضافة، وتحمل فئته في cac:TaxCategory عنصر cbc:TaxExemptionReasonCode لا شيء فيه بعد حذف المسافات. ويرصد الإصدار 3.4.8 من حزمة أدوات التطوير SDK التي تنشرها هيئة الزكاة والضريبة والجمارك ذلك بموجب القاعدة BR-KSA-69 تحذيراً لا خطأً، فالتحذير وحده لا يؤدي إلى رفض المستند. والقاعدة تشترط وجود الرمز وأن تكون له قيمة، والمخفق هنا هو الثاني. وتُقاس القيمة بعد تسوية المسافات بالدالة normalize-space، فالرمز المؤلَّف من مسافات لا غير يُعدّ فارغاً وتُرصد عليه هذه الملاحظة. أما القاعدة BR-KSA-CL-04 التي تفحص الرمز في قائمة الهيئة المنشورة لفئته، فلا تُذكر على رمز فارغ، فهذه الملاحظة هي التي ترصده. وكان الإصدار 3.0.8 يشترط نص السبب كذلك ويقيس الرمز دون تسوية المسافات، أما الإصدار 3.4.8 فلا يطلب إلا الرمز.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
العنصر يُكتب والقيمة لا تُكتب، وهذا يشير إلى القيمة التي يقرؤها الربط لا إلى القالب. ابحث عن رمز سبب إعفاء محفوظ نصاً فارغاً أو مسافاتٍ لا غير على الرموز الخاضعة بنسبة الصفر، وعن جدول بحث يعيد قيمة خالية لا قيمة افتراضية حين يخفق البحث، وعن قالب يكتب العنصر لكل تفصيل بينما لم يُملأ الحقل إلا على الرموز المعفاة. واملأه برمز VATEX-SA الخاص بالمادة التي يقع تحتها التوريد، وهو ما تفحصه القاعدة BR-KSA-CL-04؛ فالرمز المؤقت أو الرمز الداخلي يرفع هذه الملاحظة ويستدعي تلك.
التفصيل الخاضع بنسبة الصفر لا يذكر نص سبب الإعفاء
صورة القيمة في التقريرreason_missingنص السبب غير موجود
ما الخلل
التفصيل الخاضع بنسبة الصفر (Z) لا يحمل العنصر cbc:TaxExemptionReason، وهو نص سبب الإعفاء BT-120. ولا ترصد هذه الملاحظة إلا حزم القواعد السابقة للإصدار 2.0.0: فالقاعدة BR-KSA-69 في الإصدار 3.0.8 من حزمة أدوات التطوير SDK التي تنشرها هيئة الزكاة والضريبة والجمارك كانت تشترط أن يحمل التفصيل الخاضع بنسبة الصفر نص السبب إلى جانب رمزه، والإصدار 3.4.8 الذي تقرؤه حزمة القواعد 2.0.0 لا يطلب إلا الرمز، فلا يحمل هذه الملاحظة تقرير صادر عن الحزمة 2.0.0. وما يرصده الإصدار 3.4.8 على التفصيل نفسه هو رمز السبب الغائب أو الفارغ، بهذه القاعدة بدرجة تحذير، والرمز الذي ليس في القائمة المنشورة لفئته، بالقاعدة BR-KSA-CL-04.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
لا شيء يلزم إضافته من أجل حزمة القواعد 2.0.0 في هذا الشأن، فنص السبب غير مطلوب في الإصدار 3.4.8. وتحقّق بدلاً من ذلك من الرمز الذي إلى جواره في cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode، على كل رمز ضريبي خاضع بنسبة الصفر في جدول الرموز الضريبية: يجب أن يكون موجوداً وأن يكون أحد رموز VATEX-SA التي تنشرها الهيئة للتوريدات الخاضعة بنسبة الصفر.
نص سبب الإعفاء في التفصيل الخاضع بنسبة الصفر فارغ
صورة القيمة في التقريرreason_emptyنص السبب موجود لكنه فارغ
ما الخلل
التفصيل الخاضع بنسبة الصفر (Z) يحمل العنصر cbc:TaxExemptionReason، وهو نص سبب الإعفاء BT-120، ولا شيء فيه. ولا ترصد هذه الملاحظة إلا حزم القواعد السابقة للإصدار 2.0.0: فالقاعدة BR-KSA-69 في الإصدار 3.0.8 من حزمة أدوات التطوير SDK التي تنشرها هيئة الزكاة والضريبة والجمارك كانت تشترط أن يحمل التفصيل الخاضع بنسبة الصفر نص السبب إلى جانب رمزه، والإصدار 3.4.8 الذي تقرؤه حزمة القواعد 2.0.0 لا يطلب إلا الرمز، فلا يحمل هذه الملاحظة تقرير صادر عن الحزمة 2.0.0. وما يرصده الإصدار 3.4.8 على التفصيل نفسه هو رمز السبب الغائب أو الفارغ، بهذه القاعدة بدرجة تحذير، والرمز الذي ليس في القائمة المنشورة لفئته، بالقاعدة BR-KSA-CL-04.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
إما أن تعطي نص السبب قيمة، وهي العبارة المنشورة للمادة التي يقع تحتها التوريد، وإما أن تحذف العنصر؛ فالعنصر المكتوب بلا شيء فيه ليس مما يُرسل. ثم تحقّق من الرمز الذي إلى جواره في cbc:TaxExemptionReasonCode، وهو ما يطلبه الإصدار 3.4.8: أن يكون موجوداً، وأن يكون أحد رموز VATEX-SA التي تنشرها الهيئة للتوريدات الخاضعة بنسبة الصفر.
الفحص الذي يُنفَّذ
منقول حرفياً من ملفات قواعد التحقق التي تنشرها الهيئة، عند الملف والسطر المذكورين أدناه. والتعبير المُنفَّذ هو ما يُقيَّم على المستند، أما التعبير المذكور في التقرير فهو ما يظهر عند الإخفاق، وهما لا يتطابقان دائماً.
التعبير المُنفَّذ
not(exists(cbc:TaxExemptionReasonCode) and normalize-space(cbc:TaxExemptionReasonCode )!='' )
كما يرد في الإصدار 3.4.8 من حزمة أدوات التطوير SDK التي تنشرها الهيئة: النسخة المقتبسة هنا هي الملف الذي يتضمنه ذلك الإصدار بايتاً ببايت. والتاريخ في اسم الملف هو الاسم الذي تعطيه الهيئة للملف، أما القواعد فيه فهي قواعد الإصدار 3.4.8.
مثال عملي
مستند اصطناعي من مجموعة الاختبار المقيسة تُرصد عليه هذه القاعدة، تُعرض منه الأسطر التي يختلف فيها عن مستند اجتاز الفحص. ولا يذكر تقرير مطابق سوى صورة القيمة، لا القيمة نفسها.